Merge branch 'release_1.6.0'
diff --git a/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/META-INF/MANIFEST.MF
index c45a8ad..20e2b56 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: My Sample App
Bundle-SymbolicName: org.eclipse.emf.ecp.application.e4.fx;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.fx.ui.workbench.fx,
org.eclipse.e4.ui.model.workbench,
diff --git a/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/pom.xml b/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/pom.xml
index 0d93707..1b3db58 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/pom.xml
+++ b/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/pom.xml
@@ -9,7 +9,7 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
<build>
@@ -29,5 +29,5 @@
</plugins>
</build>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/javafx/org.eclipse.emf.ecp.controls.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.controls.fx/META-INF/MANIFEST.MF
index 9ed104e..4043cbf 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.controls.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.controls.fx/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Controls FX
Bundle-SymbolicName: org.eclipse.emf.ecp.controls.fx;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.controls.internal.fx.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecp.edit;bundle-version="[1.3.0,2.0.0]",
diff --git a/bundles/javafx/org.eclipse.emf.ecp.controls.fx/pom.xml b/bundles/javafx/org.eclipse.emf.ecp.controls.fx/pom.xml
index 8c5fe3b..4ed7814 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.controls.fx/pom.xml
+++ b/bundles/javafx/org.eclipse.emf.ecp.controls.fx/pom.xml
@@ -9,8 +9,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-bundles-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/javafx/org.eclipse.emf.ecp.emfstore.ui.e4.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.emfstore.ui.e4.fx/META-INF/MANIFEST.MF
index 9ff1596..55b1ead 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.emfstore.ui.e4.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.emfstore.ui.e4.fx/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: EMFStore e4 FX
Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.ui.e4.fx;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Fragment-Host: org.eclipse.emf.emfstore.fx.projects;bundle-version="[1.3.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/bundles/javafx/org.eclipse.emf.ecp.emfstore.ui.e4.fx/pom.xml b/bundles/javafx/org.eclipse.emf.ecp.emfstore.ui.e4.fx/pom.xml
index 66840c0..9b998ed 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.emfstore.ui.e4.fx/pom.xml
+++ b/bundles/javafx/org.eclipse.emf.ecp.emfstore.ui.e4.fx/pom.xml
@@ -9,8 +9,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-bundles-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
-
- <version>1.5.1-SNAPSHOT</version>
+
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/META-INF/MANIFEST.MF
index d41f453..2eef829 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: E4 Util Fx
Bundle-SymbolicName: org.eclipse.emf.ecp.util.e4.fx
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
@@ -10,4 +10,4 @@
org.eclipse.e4.ui.model.workbench,
org.eclipse.e4.core.contexts,
org.eclipse.emf.emfstore.client
-Export-Package: org.eclipse.emf.ecp.util.e4.fx;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.util.e4.fx;version="1.6.0"
diff --git a/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/pom.xml b/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/pom.xml
index 4df78fd..ccbd749 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/pom.xml
+++ b/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/pom.xml
@@ -9,8 +9,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-bundles-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/javafx/org.eclipse.emf.ecp.util.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.util.fx/META-INF/MANIFEST.MF
index 29db410..81d38c0 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.util.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.util.fx/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
Bundle-ManifestVersion: 2
Bundle-Name: FX Util
Bundle-SymbolicName: org.eclipse.emf.ecp.util.fx
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: ECLIPSESOURCE
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: org.eclipse.emf.ecp.util.fx;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.util.fx;version="1.6.0"
Require-Bundle: org.eclipse.emf.edit
Import-Package: javafx.collections;version="2.2.0",
javafx.event;version="2.2.0",
diff --git a/bundles/javafx/org.eclipse.emf.ecp.util.fx/pom.xml b/bundles/javafx/org.eclipse.emf.ecp.util.fx/pom.xml
index 68d2ed4..50ea429 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.util.fx/pom.xml
+++ b/bundles/javafx/org.eclipse.emf.ecp.util.fx/pom.xml
@@ -9,8 +9,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-bundles-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/META-INF/MANIFEST.MF
index 01a6818..248ea38 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP View Group Fx
Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.fx;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.group.fx.Activator
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: javafx.collections;version="2.2.0",
@@ -14,4 +14,4 @@
Require-Bundle: org.eclipse.emf.ecp.view.group.model;bundle-version="[1.3.0,2.0.0]",
org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.3.0,2.0.0]",
org.eclipse.emf.ecp.view.model.common;bundle-version="[1.3.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.view.group.fx;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.group.fx;version="1.6.0"
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/pom.xml b/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/pom.xml
index 13a3292..f7ea76c 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/pom.xml
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/pom.xml
@@ -9,8 +9,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-bundles-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/META-INF/MANIFEST.MF
index 680d18a..247b6be 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: HorizontalLayout FX
Bundle-SymbolicName: org.eclipse.emf.ecp.view.horizontal.fx;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.horizontal.fx.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.3.0,2.0.0]",
@@ -15,4 +15,4 @@
javafx.scene.control;version="2.2.0",
javafx.scene.layout;version="2.2.0",
javafx.util;version="2.2.0"
-Export-Package: org.eclipse.emf.ecp.view.horizontal.fx;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.horizontal.fx;version="1.6.0"
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/pom.xml b/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/pom.xml
index c7560b6..c40d52b 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/pom.xml
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/pom.xml
@@ -9,8 +9,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-bundles-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/META-INF/MANIFEST.MF
index c3d4142..a55ea06 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Fx
Bundle-SymbolicName: org.eclipse.emf.ecp.view.label.fx;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.emf.ecp.view.model.fx;bundle-version="1.0.0",
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/pom.xml b/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/pom.xml
index 603437b..a74f24a 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/pom.xml
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/pom.xml
@@ -9,8 +9,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-bundles-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/META-INF/MANIFEST.MF
index be9f683..bd95850 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP FX View Model Renderer
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.fx;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.model.internal.fx.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecp.view.model;bundle-version="[1.3.0,2.0.0]",
@@ -14,8 +14,8 @@
org.eclipse.emf.ecp.view.model.common;bundle-version="[1.3.0,2.0.0)";visibility:=reexport
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.view.model.fx;version="1.5.1",
- org.eclipse.emf.ecp.view.model.internal.fx;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.model.fx;version="1.6.0",
+ org.eclipse.emf.ecp.view.model.internal.fx;version="1.6.0"
Import-Package: javafx.collections;version="2.2.0",
javafx.scene;version="2.2.0",
javafx.scene.control;version="2.2.0",
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/pom.xml b/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/pom.xml
index 7a0f237..0b32515 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/pom.xml
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/pom.xml
@@ -9,8 +9,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-bundles-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/META-INF/MANIFEST.MF
index b24333c..d4e8d19 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: TreeMasterDetail FX
Bundle-SymbolicName: org.eclipse.emf.ecp.view.treemasterdetail.fx;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.treemasterdetail.fx.Activator
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: javafx.beans.property;version="2.2.0",
@@ -21,4 +21,4 @@
org.eclipse.emf.edit;bundle-version="2.9.0",
org.eclipse.emf.ecp.util.fx;bundle-version="[1.3.0,2.0.0]",
org.eclipse.emf.ecp.view.model.common;bundle-version="[1.3.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.fx;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.fx;version="1.6.0"
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/pom.xml b/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/pom.xml
index 8419f96..c0a743a 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/pom.xml
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/pom.xml
@@ -9,8 +9,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-bundles-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/META-INF/MANIFEST.MF
index 9cbb1e5..1f25b1e 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: VerticalLayout FX
Bundle-SymbolicName: org.eclipse.emf.ecp.view.vertical.fx;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.vertical.fx.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.3.0,2.0.0]",
@@ -14,4 +14,4 @@
javafx.scene;version="2.2.0",
javafx.scene.control;version="2.2.0",
javafx.scene.layout;version="2.2.0"
-Export-Package: org.eclipse.emf.ecp.view.vertical.fx;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.vertical.fx;version="1.6.0"
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/pom.xml b/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/pom.xml
index d70e14d..9c02c9b 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/pom.xml
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/pom.xml
@@ -9,8 +9,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-bundles-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/META-INF/MANIFEST.MF
index 6ee6ebd..f2d0be2 100644
--- a/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Projects
Bundle-SymbolicName: org.eclipse.emf.emfstore.fx.projects;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.emfstore.fx.internal.projects.Activator
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: javafx.beans.property;version="2.2.0",
@@ -27,4 +27,4 @@
org.eclipse.emf.ecp.util.fx;bundle-version="[1.3.0,2.0.0]",
org.eclipse.e4.ui.workbench,
org.eclipse.emf.ecp.util.e4.fx;bundle-version="[1.3.0,2.0.0]"
-Export-Package: org.eclipse.emf.emfstore.fx.internal.projects;version="1.5.1";x-internal:="true"
+Export-Package: org.eclipse.emf.emfstore.fx.internal.projects;version="1.6.0";x-internal:="true"
diff --git a/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/pom.xml b/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/pom.xml
index 8132622..44018a45 100644
--- a/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/pom.xml
+++ b/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/pom.xml
@@ -9,8 +9,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-bundles-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/javafx/org.eclipse.emf.emfstore.fx.util/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.emfstore.fx.util/META-INF/MANIFEST.MF
index 38c0789..32fe777 100644
--- a/bundles/javafx/org.eclipse.emf.emfstore.fx.util/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.emfstore.fx.util/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@
Bundle-ManifestVersion: 2
Bundle-Name: EMFStore FX Util
Bundle-SymbolicName: org.eclipse.emf.emfstore.fx.util
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.emf.emfstore.client
-Export-Package: org.eclipse.emf.emfstore.fx.util;version="1.5.1"
+Export-Package: org.eclipse.emf.emfstore.fx.util;version="1.6.0"
diff --git a/bundles/javafx/org.eclipse.emf.emfstore.fx.util/pom.xml b/bundles/javafx/org.eclipse.emf.emfstore.fx.util/pom.xml
index bc37dcb..02e16f2 100644
--- a/bundles/javafx/org.eclipse.emf.emfstore.fx.util/pom.xml
+++ b/bundles/javafx/org.eclipse.emf.emfstore.fx.util/pom.xml
@@ -9,8 +9,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-bundles-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.application.e3/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.application.e3/META-INF/MANIFEST.MF
index 85a2fca..3bac595 100644
--- a/bundles/org.eclipse.emf.ecp.application.e3/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.application.e3/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Demo Application Eclipse 3.x
Bundle-SymbolicName: org.eclipse.emf.ecp.application.e3;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.application3x.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.ui.e3;bundle-version="[1.5.0,2.0.0)",
@@ -13,6 +13,6 @@
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.application3x;version="1.5.1";x-in
+Export-Package: org.eclipse.emf.ecp.application3x;version="1.6.0";x-in
ternal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.application.e3/pom.xml b/bundles/org.eclipse.emf.ecp.application.e3/pom.xml
index 4ff461b..d6d580c 100644
--- a/bundles/org.eclipse.emf.ecp.application.e3/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.application.e3/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.application.e3</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.application.e4/.gitignore b/bundles/org.eclipse.emf.ecp.application.e4/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.application.e4/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF
index 0e9cd80..eeb7ce0 100644
--- a/bundles/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP e4 Application
Bundle-SymbolicName: org.eclipse.emf.ecp.application.e4;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: org.eclipse.emf.ecp.ui.e4;bundle-version="[1.5.0,2.0.0)",
org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.core;bundle-version="[1.5.0,2.0.0)",
@@ -12,6 +12,6 @@
org.eclipse.e4.core.contexts;bundle-version="[1.3.0,2.0.0)",
org.eclipse.equinox.event;bundle-version="[1.3.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.application.e4.editor;version="1.5
- .1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.application.e4.editor;version="1.6
+ .0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.application.e4/pom.xml b/bundles/org.eclipse.emf.ecp.application.e4/pom.xml
index 918436e..e542887 100644
--- a/bundles/org.eclipse.emf.ecp.application.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.application.e4/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.application.e4</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.cdo.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.cdo.core/META-INF/MANIFEST.MF
index b113d4c..12c2bcc 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.cdo.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP CDO Model Repository Core
Bundle-SymbolicName: org.eclipse.emf.ecp.cdo.core;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.cdo.internal.core.Activator
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
@@ -14,6 +14,6 @@
org.eclipse.net4j.db.h2;bundle-version="[4.0.0,5.0.0)"
Import-Package: org.h2;version="[1.0.2.qualifier,2.0.0)",
org.h2.jdbcx;version="[1.0.2.qualifier,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.cdo.internal.core;version="1.5.1";
+Export-Package: org.eclipse.emf.ecp.cdo.internal.core;version="1.6.0";
x-friends:="org.eclipse.emf.ecp.cdo.ui"
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.cdo.core/pom.xml b/bundles/org.eclipse.emf.ecp.cdo.core/pom.xml
index 6789f79..2abb526 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.core/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.cdo.core/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.cdo.core</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.cdo.core/src/org/eclipse/emf/ecp/cdo/internal/core/CDOProvider.java b/bundles/org.eclipse.emf.ecp.cdo.core/src/org/eclipse/emf/ecp/cdo/internal/core/CDOProvider.java
index c7b6018..17a7afe 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.core/src/org/eclipse/emf/ecp/cdo/internal/core/CDOProvider.java
+++ b/bundles/org.eclipse.emf.ecp.cdo.core/src/org/eclipse/emf/ecp/cdo/internal/core/CDOProvider.java
@@ -105,7 +105,9 @@
* Get the CDO Provider singleton.
*
* @return the singleton instance or null
+ * @deprecated use ECPUtil.getECPProviderRegistry().getProvider(CDOProvider.NAME) instead
*/
+ @Deprecated
public static CDOProvider getInstance() {
// TODO: what if instance is still null because constructor was never called?
return instance;
@@ -396,10 +398,8 @@
/** {@inheritDoc} */
@Override
public void delete(InternalProject project, Collection<Object> objects) {
- // CDOResource cdoResource = getProjectData(project).getRootResource();
-
- // cdoResource.eContents().removeAll(eObjects);
-
+ final CDOResource cdoResource = getProjectData(project).getRootResource();
+ cdoResource.getContents().removeAll(objects);
}
/** {@inheritDoc} */
diff --git a/bundles/org.eclipse.emf.ecp.cdo.ui/.gitignore b/bundles/org.eclipse.emf.ecp.cdo.ui/.gitignore
index ed6c2ea..6a9e5d8 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.ui/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.cdo.ui/.gitignore
@@ -1,2 +1,3 @@
/bin
/target
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.cdo.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.cdo.ui/META-INF/MANIFEST.MF
index 0b24de3..85d0303 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.cdo.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: CDO Model Repository ECP UI
Bundle-SymbolicName: org.eclipse.emf.ecp.cdo.ui;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.cdo.internal.ui.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.cdo.core;bundle-version="[1.5.0,2.0.0)",
@@ -12,7 +12,7 @@
org.eclipse.net4j.util.ui;bundle-version="[3.0.0,4.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.cdo.internal.ui;version="1.5.1";x-
+Export-Package: org.eclipse.emf.ecp.cdo.internal.ui;version="1.6.0";x-
internal:=true,org.eclipse.emf.ecp.cdo.internal.ui.handlers;version="
- 1.5.1";x-internal:=true
+ 1.6.0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.cdo.ui/pom.xml b/bundles/org.eclipse.emf.ecp.cdo.ui/pom.xml
index 88891e0..79f5607 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.cdo.ui/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.cdo.ui</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.changebroker.emfstore/.gitignore b/bundles/org.eclipse.emf.ecp.changebroker.emfstore/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.changebroker.emfstore/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.changebroker.emfstore/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.changebroker.emfstore/META-INF/MANIFEST.MF
index 34282e2..ea598d8 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker.emfstore/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.changebroker.emfstore/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Change Broker EMFStore Provider
Bundle-SymbolicName: org.eclipse.emf.ecp.changebroker.emfstore
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.emf.ecp.changebroker;bundle-version="[1.5.0,2.0.0)",
@@ -11,6 +11,6 @@
org.eclipse.emf.ecp.core;bundle-version="[1.5.0,2.0.0)",
org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)"
Export-Package: org.eclipse.emf.ecp.changebroker.emfstore.internal;ver
- sion="1.5.1";x-internal:=true
+ sion="1.6.0";x-internal:=true
Service-Component: OSGI-INF/component.xml
Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.changebroker.emfstore/pom.xml b/bundles/org.eclipse.emf.ecp.changebroker.emfstore/pom.xml
index 6c58e67..6a1a4fe 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker.emfstore/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.changebroker.emfstore/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.changebroker.emfstore</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.changebroker/.gitignore b/bundles/org.eclipse.emf.ecp.changebroker/.gitignore
index 934e0e0..bf56436 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.changebroker/.gitignore
@@ -1,2 +1,3 @@
/bin
/target
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.changebroker/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.changebroker/META-INF/MANIFEST.MF
index 526c935..ea27e6e 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.changebroker/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Change Broker
Bundle-SymbolicName: org.eclipse.emf.ecp.changebroker
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.changebroker.internal;version="1.5
- .1";x-internal:=true,org.eclipse.emf.ecp.changebroker.spi;version="1.
- 5.1"
+Export-Package: org.eclipse.emf.ecp.changebroker.internal;version="1.6
+ .0";x-internal:=true,org.eclipse.emf.ecp.changebroker.spi;version="1.
+ 6.0"
Service-Component: OSGI-INF/component.xml
diff --git a/bundles/org.eclipse.emf.ecp.changebroker/pom.xml b/bundles/org.eclipse.emf.ecp.changebroker/pom.xml
index 6095a5e..04fe585 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.changebroker/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.changebroker</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/.gitignore b/bundles/org.eclipse.emf.ecp.common.ui/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.common.ui/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.common.ui/META-INF/MANIFEST.MF
index 93c449d..39d9e92 100644
--- a/bundles/org.eclipse.emf.ecp.common.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.common.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Common UI
Bundle-SymbolicName: org.eclipse.emf.ecp.common.ui
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.eclipse.emf.edit.ui.provider;version="0.0.0",
@@ -18,9 +18,9 @@
org.eclipse.swt.widgets;version="0.0.0"
Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emf.ecp.common;bundle-version="[1.5.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.common.ui;version="1.5.1",org.ecli
- pse.emf.ecp.internal.common.ui;version="1.5.1";x-internal:=true,org.e
- clipse.emf.ecp.spi.common.ui;version="1.5.1",org.eclipse.emf.ecp.spi.
- common.ui.composites;version="1.5.1"
+ org.eclipse.emf.ecp.common;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.internal.common.ui;version="1.6.0"
+ ;x-internal:=true,org.eclipse.emf.ecp.spi.common.ui;version="1.6.0",o
+ rg.eclipse.emf.ecp.spi.common.ui.composites;version="1.6.0"
Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/common/ui/messages.properties b/bundles/org.eclipse.emf.ecp.common.ui/OSGI-INF/l10n/bundle.properties
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/common/ui/messages.properties
rename to bundles/org.eclipse.emf.ecp.common.ui/OSGI-INF/l10n/bundle.properties
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/build.properties b/bundles/org.eclipse.emf.ecp.common.ui/build.properties
index 9cbab3c..0565497 100644
--- a/bundles/org.eclipse.emf.ecp.common.ui/build.properties
+++ b/bundles/org.eclipse.emf.ecp.common.ui/build.properties
@@ -2,5 +2,6 @@
output.. = bin/
bin.includes = META-INF/,\
.,\
- about.html
+ about.html,\
+ OSGI-INF/
src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/pom.xml b/bundles/org.eclipse.emf.ecp.common.ui/pom.xml
index 0913534..104bb59 100644
--- a/bundles/org.eclipse.emf.ecp.common.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.common.ui/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.common.ui</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/internal/common/ui/MessageKeys.java b/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/internal/common/ui/MessageKeys.java
new file mode 100644
index 0000000..b7b1f18
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/internal/common/ui/MessageKeys.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.internal.common.ui;
+
+/**
+ * Keys for translated strings.
+ *
+ * @author Eugen Neufeld
+ * @generated
+ */
+public interface MessageKeys {
+
+ String CheckedModelElementHelper_DeselectAllLabel = "CheckedModelElementHelper_DeselectAllLabel"; //$NON-NLS-1$
+ String CheckedModelElementHelper_SelectAllLabel = "CheckedModelElementHelper_SelectAllLabel"; //$NON-NLS-1$
+ String AbstractModelElementHelper_FilterLabel = "AbstractModelElementHelper_FilterLabel"; //$NON-NLS-1$
+ String AbstractModelElementHelper_FilterText = "AbstractModelElementHelper_FilterText"; //$NON-NLS-1$
+
+ String NewModelElementWizard_WizardTitle_AddModelElement = "NewModelElementWizard_WizardTitle_AddModelElement"; //$NON-NLS-1$
+ String NewModelElementWizard_PageTitle_AddModelElement = "NewModelElementWizard_PageTitle_AddModelElement"; //$NON-NLS-1$
+ String NewModelElementWizard_PageDescription_AddModelElement = "NewModelElementWizard_PageDescription_AddModelElement"; //$NON-NLS-1$
+
+ String ModelelementSelectionDialog_DialogMessage_SearchPattern = "ModelelementSelectionDialog_DialogMessage_SearchPattern"; //$NON-NLS-1$
+ String ModelelementSelectionDialog_DialogTitle = "ModelelementSelectionDialog_DialogTitle"; //$NON-NLS-1$
+
+ String SelectModelElementWizardFactory_ModelelementSelectionDialog_WindowTitle = "SelectModelElementWizardFactory_ModelelementSelectionDialog_WindowTitle"; //$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/internal/common/ui/Messages.java b/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/internal/common/ui/Messages.java
deleted file mode 100644
index b51c43e..0000000
--- a/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/internal/common/ui/Messages.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.internal.common.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @author Eugen
- * @generated
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.common.ui.messages"; //$NON-NLS-1$
-
- public static String CheckedModelElementHelper_DeselectAllLabel;
- public static String CheckedModelElementHelper_SelectAllLabel;
- public static String AbstractModelElementHelper_FilterLabel;
- public static String AbstractModelElementHelper_FilterText;
-
- public static String NewModelElementWizard_WizardTitle_AddModelElement;
- public static String NewModelElementWizard_PageTitle_AddModelElement;
- public static String NewModelElementWizard_PageDescription_AddModelElement;
-
- public static String ModelelementSelectionDialog_DialogMessage_SearchPattern;
- public static String ModelelementSelectionDialog_DialogTitle;
-
- public static String SelectModelElementWizardFactory_ModelelementSelectionDialog_WindowTitle;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/SelectModelElementWizardFactory.java b/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/SelectModelElementWizardFactory.java
index 56c7c20..fa89df7 100644
--- a/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/SelectModelElementWizardFactory.java
+++ b/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/SelectModelElementWizardFactory.java
@@ -17,8 +17,9 @@
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecp.internal.common.ui.Messages;
+import org.eclipse.emf.ecp.internal.common.ui.MessageKeys;
import org.eclipse.emf.ecp.spi.common.ui.composites.SelectionComposite;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.window.Window;
@@ -44,10 +45,14 @@
.getTableSelectionComposite(elements.toArray(), isMany);
final SelectModelElementWizard wizard = new SelectModelElementWizard(
- Messages.SelectModelElementWizardFactory_ModelelementSelectionDialog_WindowTitle,
- Messages.NewModelElementWizard_WizardTitle_AddModelElement,
- Messages.ModelelementSelectionDialog_DialogTitle,
- Messages.ModelelementSelectionDialog_DialogMessage_SearchPattern, EObject.class);
+ LocalizationServiceHelper.getString(SelectModelElementWizardFactory.class,
+ MessageKeys.SelectModelElementWizardFactory_ModelelementSelectionDialog_WindowTitle),
+ LocalizationServiceHelper.getString(SelectModelElementWizardFactory.class,
+ MessageKeys.NewModelElementWizard_WizardTitle_AddModelElement),
+ LocalizationServiceHelper.getString(SelectModelElementWizardFactory.class,
+ MessageKeys.ModelelementSelectionDialog_DialogTitle),
+ LocalizationServiceHelper.getString(SelectModelElementWizardFactory.class,
+ MessageKeys.ModelelementSelectionDialog_DialogMessage_SearchPattern), EObject.class);
final HashSet<EObject> selectedElements = new HashSet<EObject>();
wizard.setCompositeProvider(tableSelectionComposite);
@@ -76,9 +81,13 @@
*/
public static EObject openCreateNewModelElementDialog(final SelectionComposite<TreeViewer> selectionComposite) {
final SelectModelElementWizard wizard = new SelectModelElementWizard("New Reference Element", //$NON-NLS-1$
- Messages.NewModelElementWizard_WizardTitle_AddModelElement,
- Messages.NewModelElementWizard_PageTitle_AddModelElement,
- Messages.NewModelElementWizard_PageDescription_AddModelElement);
+ LocalizationServiceHelper.getString(SelectModelElementWizardFactory.class,
+ MessageKeys.NewModelElementWizard_WizardTitle_AddModelElement),
+ LocalizationServiceHelper
+ .getString(SelectModelElementWizardFactory.class,
+ MessageKeys.NewModelElementWizard_PageTitle_AddModelElement),
+ LocalizationServiceHelper.getString(SelectModelElementWizardFactory.class,
+ MessageKeys.NewModelElementWizard_PageDescription_AddModelElement));
wizard.setCompositeProvider(selectionComposite);
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/composites/AbstractFilteredSelectionComposite.java b/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/composites/AbstractFilteredSelectionComposite.java
index cde1559..aba12c6 100644
--- a/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/composites/AbstractFilteredSelectionComposite.java
+++ b/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/composites/AbstractFilteredSelectionComposite.java
@@ -12,9 +12,10 @@
*******************************************************************************/
package org.eclipse.emf.ecp.spi.common.ui.composites;
-import org.eclipse.emf.ecp.internal.common.ui.Messages;
+import org.eclipse.emf.ecp.internal.common.ui.MessageKeys;
import org.eclipse.emf.ecp.spi.common.ui.CompositeProvider;
import org.eclipse.emf.ecp.spi.common.ui.ECPViewerFilter;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -59,9 +60,11 @@
GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).applyTo(composite);
final Label filterLabel = new Label(composite, SWT.LEFT);
- filterLabel.setText(Messages.AbstractModelElementHelper_FilterLabel);
+ filterLabel.setText(LocalizationServiceHelper.getString(AbstractFilteredSelectionComposite.class,
+ MessageKeys.AbstractModelElementHelper_FilterLabel));
final Text filterInput = new Text(composite, SWT.SEARCH);
- filterInput.setMessage(Messages.AbstractModelElementHelper_FilterText);
+ filterInput.setMessage(LocalizationServiceHelper.getString(AbstractFilteredSelectionComposite.class,
+ MessageKeys.AbstractModelElementHelper_FilterText));
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).applyTo(filterInput);
viewer = createViewer(composite);
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/composites/CheckedEStructuralFeatureCompositeImpl.java b/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/composites/CheckedEStructuralFeatureCompositeImpl.java
index c596409..afc48bc 100644
--- a/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/composites/CheckedEStructuralFeatureCompositeImpl.java
+++ b/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/composites/CheckedEStructuralFeatureCompositeImpl.java
@@ -18,7 +18,8 @@
import java.util.Map;
import java.util.Set;
-import org.eclipse.emf.ecp.internal.common.ui.Messages;
+import org.eclipse.emf.ecp.internal.common.ui.MessageKeys;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
@@ -71,7 +72,8 @@
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).grab(true, false).span(2, 1).applyTo(buttons);
final Button buttonAll = new Button(buttons, SWT.PUSH);
- buttonAll.setText(Messages.CheckedModelElementHelper_SelectAllLabel);
+ buttonAll.setText(LocalizationServiceHelper.getString(getClass(),
+ MessageKeys.CheckedModelElementHelper_SelectAllLabel));
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).grab(true, false).applyTo(buttonAll);
buttonAll.addSelectionListener(new SelectionAdapter() {
@@ -83,7 +85,8 @@
});
final Button buttonNone = new Button(buttons, SWT.PUSH);
- buttonNone.setText(Messages.CheckedModelElementHelper_DeselectAllLabel);
+ buttonNone.setText(LocalizationServiceHelper.getString(getClass(),
+ MessageKeys.CheckedModelElementHelper_DeselectAllLabel));
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).grab(true, false).applyTo(buttonNone);
buttonNone.addSelectionListener(new SelectionAdapter() {
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/composites/CheckedSelectModelClassCompositeImpl.java b/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/composites/CheckedSelectModelClassCompositeImpl.java
index 7ab9e2d..0b9abd0 100644
--- a/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/composites/CheckedSelectModelClassCompositeImpl.java
+++ b/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/composites/CheckedSelectModelClassCompositeImpl.java
@@ -19,8 +19,9 @@
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecp.internal.common.ui.Messages;
+import org.eclipse.emf.ecp.internal.common.ui.MessageKeys;
import org.eclipse.emf.ecp.spi.common.ui.CheckedModelClassComposite;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.viewers.CheckboxTreeViewer;
@@ -71,7 +72,8 @@
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).grab(true, false).span(2, 1).applyTo(buttons);
final Button buttonAll = new Button(buttons, SWT.PUSH);
- buttonAll.setText(Messages.CheckedModelElementHelper_SelectAllLabel);
+ buttonAll.setText(LocalizationServiceHelper.getString(getClass(),
+ MessageKeys.CheckedModelElementHelper_SelectAllLabel));
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).grab(true, false).applyTo(buttonAll);
buttonAll.addSelectionListener(new SelectionAdapter() {
@Override
@@ -82,7 +84,8 @@
}
});
final Button buttonNone = new Button(buttons, SWT.PUSH);
- buttonNone.setText(Messages.CheckedModelElementHelper_DeselectAllLabel);
+ buttonNone.setText(LocalizationServiceHelper.getString(getClass(),
+ MessageKeys.CheckedModelElementHelper_DeselectAllLabel));
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).grab(true, false).applyTo(buttonNone);
buttonNone.addSelectionListener(new SelectionAdapter() {
@Override
diff --git a/bundles/org.eclipse.emf.ecp.common/.gitignore b/bundles/org.eclipse.emf.ecp.common/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.common/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.common/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.common/META-INF/MANIFEST.MF
index 515b571..be2b4cb 100644
--- a/bundles/org.eclipse.emf.ecp.common/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.common/META-INF/MANIFEST.MF
@@ -1,13 +1,14 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: ECP Common
-Bundle-SymbolicName: org.eclipse.emf.ecp.common
-Bundle-Version: 1.5.1.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
-Export-Package: org.eclipse.emf.ecp.common.spi;version="1.5.1",org.ecl
- ipse.emf.ecp.common.spi.cachetree;version="1.5.1"
-Bundle-ActivationPolicy: lazy
-Bundle-Vendor: Eclipse Modeling Project
-
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: ECP Common
+Bundle-SymbolicName: org.eclipse.emf.ecp.common
+Bundle-Version: 1.6.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
+Export-Package: org.eclipse.emf.ecp.common.spi;version="1.6.0",org.ecl
+ ipse.emf.ecp.common.spi.asserts;version="1.6.0",org.eclipse.emf.ecp.c
+ ommon.spi.cachetree;version="1.6.0"
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: Eclipse Modeling Project
+
diff --git a/bundles/org.eclipse.emf.ecp.common/pom.xml b/bundles/org.eclipse.emf.ecp.common/pom.xml
index cab4cd6..40376a8 100644
--- a/bundles/org.eclipse.emf.ecp.common/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.common/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.common</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/spi/asserts/Assert.java b/bundles/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/spi/asserts/Assert.java
new file mode 100644
index 0000000..ec7635b
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/spi/asserts/Assert.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alexandra Buzila - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.common.spi.asserts;
+
+/**
+ * Class for checking the validity of a provided object.
+ *
+ * @param <T> the type of the object the <code>Assert</code> class verifies.
+ * @author Alexandra Buzila
+ * @since 1.6
+ *
+ */
+public final class Assert<T> {
+
+ private final T object;
+
+ private Assert(T object) {
+ this.object = object;
+ }
+
+ /**
+ * @param object the object that will be checked
+ * @param <T> the type of the object the <code>Assert</code> class verifies.
+ * @return a new instance of the <code>Assert</code> class.
+ * */
+ public static <T> Assert<T> create(T object) {
+ return new Assert<T>(object);
+ }
+
+ /**
+ * Checks if the object is null, in which case an {@link IllegalArgumentException} is thrown.
+ *
+ * @return the <code>Assert</code> instance, when no exception is thrown.
+ */
+ public Assert<T> notNull() {
+ if (object == null) {
+ throw new IllegalArgumentException("Object must not be null."); //$NON-NLS-1$
+ }
+ return this;
+ }
+
+ /**
+ * Checks if the object has a different type than the Class provided as parameter, in which case an
+ * {@link IllegalArgumentException} is thrown.
+ *
+ * @param clazz the <code>Class</code> against which the type of the object is checked.
+ * @return the <code>Assert</code> instance, when no exception is thrown.
+ */
+ public Assert<?> ofClass(Class<?> clazz) {
+ if (clazz == null) {
+ throw new IllegalArgumentException("Class must not be null."); //$NON-NLS-1$
+ }
+ if (!clazz.isInstance(object)) {
+ final String message = String.format(
+ "%1$s is not of type %2$s.", object == null ? object : object.getClass().getName(), clazz.getName()); //$NON-NLS-1$
+ throw new IllegalArgumentException(message);
+ }
+ return this;
+ }
+
+ /**
+ *
+ * Usage example: <br>
+ * <code>Assert.create(Object object).notNull().ofClass(Class clazz).check()</code>.
+ *
+ * @return the object for which the <code>Assert</code> is created.
+ *
+ *
+ */
+ public T check() {
+ return object;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.core.emffilter/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.core.emffilter/META-INF/MANIFEST.MF
index 14e1fd1..0534c88 100644
--- a/bundles/org.eclipse.emf.ecp.core.emffilter/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.core.emffilter/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Emffilter
Bundle-SymbolicName: org.eclipse.emf.ecp.core.emffilter;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.core.emffilter.internal.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
org.eclipse.emf.ecp.core;bundle-version="[1.5.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.core.emffilter.internal;version="1
- .5.1";x-internal:=true
+ .6.0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.core.emffilter/pom.xml b/bundles/org.eclipse.emf.ecp.core.emffilter/pom.xml
index 656ce4a..75c9194 100644
--- a/bundles/org.eclipse.emf.ecp.core.emffilter/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.core.emffilter/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.core.emffilter</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.core.emffilter/src/org/eclipse/emf/ecp/core/emffilter/internal/DefaultFilter.java b/bundles/org.eclipse.emf.ecp.core.emffilter/src/org/eclipse/emf/ecp/core/emffilter/internal/DefaultFilter.java
index 6e57a61..8bd9648 100644
--- a/bundles/org.eclipse.emf.ecp.core.emffilter/src/org/eclipse/emf/ecp/core/emffilter/internal/DefaultFilter.java
+++ b/bundles/org.eclipse.emf.ecp.core.emffilter/src/org/eclipse/emf/ecp/core/emffilter/internal/DefaultFilter.java
@@ -86,6 +86,7 @@
packages.add("http://www.eclipse.org/emf/ecp/view/template/style/mandatory/model"); //$NON-NLS-1$
packages.add("http://www.eclipse.org/emf/ecp/view/template/selector/viewmodelelement/model"); //$NON-NLS-1$
packages.add("http://www.eclipse.org/emf/ecp/view/template/style/table/validation/model"); //$NON-NLS-1$
+ packages.add("http://www.eclipse.org/emf/ecp/view/template/style/background/model"); //$NON-NLS-1$
packages.add("http://org/eclipse/emf/ecp/view/treemasterview/model"); //$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.checkstyle b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.checkstyle
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.checkstyle
rename to bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.classpath b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.project b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.project
new file mode 100644
index 0000000..383d1a0
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.project
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.ecp.core.rap.sessionprovider.rwt</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.core.resources.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.core.resources.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.core.runtime.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.launching.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.jdt.launching.prefs
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
rename from examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.jdt.ui.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.ltk.core.refactoring.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.mylyn.tasks.ui.prefs b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 0000000..b050639
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.mylyn.tasks.ui.prefs
@@ -0,0 +1,4 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+project.repository.kind=bugzilla
+project.repository.url=https\://bugs.eclipse.org/bugs
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.mylyn.team.ui.prefs b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.mylyn.team.ui.prefs
new file mode 100644
index 0000000..2f50f36
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.mylyn.team.ui.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+commit.comment.template=[${task.id}] ${task.description} \r\n${task.url}
+eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.pde.api.tools.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.pde.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.pde.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..8e05f0d
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: ECP Core RAP Sessionprovider
+Bundle-SymbolicName: org.eclipse.emf.ecp.core.rap.sessionprovider.rwt
+Bundle-Version: 1.6.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Service-Component: OSGI-INF/component.xml
+Require-Bundle: org.eclipse.emf.ecp.core.rap;bundle-version="[1.5.0,2.0.0)"
+Import-Package: javax.servlet.http;version="0.0.0",
+ org.eclipse.emf.ecp.core.rap;version="0.0.0",
+ org.eclipse.rap.rwt;version="0.0.0"
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.emf.ecp.core.rap.sessionprovider.rwt;version="1.6.0"
+Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/OSGI-INF/component.xml b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/OSGI-INF/component.xml
new file mode 100644
index 0000000..5765e76
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/OSGI-INF/component.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.core.rap.sessionprovider">
+ <implementation class="org.eclipse.emf.ecp.core.rap.sessionprovider.rwt.RWTSessionProvider"/>
+ <service>
+ <provide interface="org.eclipse.emf.ecp.core.rap.SessionProvider"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/about.html b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/about.html
new file mode 100644
index 0000000..82d49bf
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/build.properties b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/build.properties
new file mode 100644
index 0000000..8e36148
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/build.properties
@@ -0,0 +1,7 @@
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html,\
+ OSGI-INF/
+source.. = src/
+src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/pom.xml b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/pom.xml
new file mode 100644
index 0000000..9d3f9cb
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emf.ecp.core.rap.sessionprovider.rwt</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/src/org/eclipse/emf/ecp/core/rap/sessionprovider/rwt/RWTSessionProvider.java b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/src/org/eclipse/emf/ecp/core/rap/sessionprovider/rwt/RWTSessionProvider.java
new file mode 100644
index 0000000..7a83464
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/src/org/eclipse/emf/ecp/core/rap/sessionprovider/rwt/RWTSessionProvider.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Neil Mackenzie - initial implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.core.rap.sessionprovider.rwt;
+
+import org.eclipse.emf.ecp.core.rap.SessionProvider;
+import org.eclipse.rap.rwt.RWT;
+
+/**
+ * This class provides the current session ID.
+ *
+ * @author neilmack
+ *
+ */
+public class RWTSessionProvider implements SessionProvider {
+
+ /**
+ * get the current sessions ID.
+ *
+ * @return the current sessions ID
+ */
+ @Override
+ public final String getSessionId() {
+ final String sessionId = RWT.getUISession().toString();
+ return sessionId;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle b/bundles/org.eclipse.emf.ecp.core.rap/.checkstyle
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle
rename to bundles/org.eclipse.emf.ecp.core.rap/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/.classpath b/bundles/org.eclipse.emf.ecp.core.rap/.classpath
new file mode 100644
index 0000000..a256c8a
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.emf.ecp.core"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/.project b/bundles/org.eclipse.emf.ecp.core.rap/.project
new file mode 100644
index 0000000..67e73cf
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+<name>org.eclipse.emf.ecp.core.rap</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.core.resources.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.core.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..7d2a1b1
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,121 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=false
+cleanup.remove_unnecessary_nls_tags=false
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_esmCleanUp
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_esmFormatter
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=ex
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n //\r\n // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=false
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=false
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+sp_cleanup.use_type_arguments=false
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.mylyn.tasks.ui.prefs b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 0000000..b050639
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.mylyn.tasks.ui.prefs
@@ -0,0 +1,4 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+project.repository.kind=bugzilla
+project.repository.url=https\://bugs.eclipse.org/bugs
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.mylyn.team.ui.prefs b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.mylyn.team.ui.prefs
new file mode 100644
index 0000000..2f50f36
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.mylyn.team.ui.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+commit.comment.template=[${task.id}] ${task.description} \r\n${task.url}
+eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.pde.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs
rename to bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.core.rap/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..cc9322e
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: ECP Core RAP
+Bundle-SymbolicName: org.eclipse.emf.ecp.core.rap
+Bundle-Version: 1.6.0.qualifier
+Bundle-Activator: org.eclipse.emf.ecp.core.rap.Activator
+Export-Package: org.eclipse.emf.ecp.core.rap;version="1.6.0"
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.5.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Import-Package: org.eclipse.core.runtime;version="0.0.0",
+ org.eclipse.net4j.util.lifecycle;version="0.0.0",
+ org.eclipse.rap.rwt;version="0.0.0",
+ org.eclipse.rap.rwt.service;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="0.0.0"
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/about.html b/bundles/org.eclipse.emf.ecp.core.rap/about.html
new file mode 100644
index 0000000..82d49bf
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/build.properties b/bundles/org.eclipse.emf.ecp.core.rap/build.properties
new file mode 100644
index 0000000..9cbab3c
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/build.properties
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html
+src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/pom.xml b/bundles/org.eclipse.emf.ecp.core.rap/pom.xml
new file mode 100644
index 0000000..df945f8
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emf.ecp.core.rap</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/Activator.java b/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/Activator.java
new file mode 100644
index 0000000..a421461
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/Activator.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Neil Mackenzie - initial implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.core.rap;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.emf.ecp.core.ECPProjectManager;
+import org.eclipse.emf.ecp.core.ECPProviderRegistry;
+import org.eclipse.emf.ecp.core.ECPRepositoryManager;
+import org.eclipse.emf.ecp.core.util.observer.ECPObserverBus;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
+
+/**
+ * This is the Activator for the ECP Core RAP plugin.
+ *
+ */
+public class Activator extends Plugin {
+
+ @Override
+ public final void start(final BundleContext context) throws Exception {
+ final Dictionary<String, Object> dictionary =
+ new Hashtable<String, Object>();
+ dictionary.put(Constants.SERVICE_RANKING, 1000);
+ context.registerService(ECPProjectManager.class,
+ new ECPProjectManagerFactory(), dictionary);
+ context.registerService(ECPProviderRegistry.class,
+ new ECPProviderRegistryFactory(), dictionary);
+ context.registerService(ECPRepositoryManager.class,
+ new ECPRepositoryManagerFactory(), dictionary);
+ context.registerService(ECPObserverBus.class,
+ new ECPObserverBusFactory(), dictionary);
+ super.start(context);
+ }
+
+ @Override
+ public void stop(final BundleContext context) throws Exception {
+
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/ECPObserverBusFactory.java b/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/ECPObserverBusFactory.java
new file mode 100644
index 0000000..8ebc7c7
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/ECPObserverBusFactory.java
@@ -0,0 +1,116 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Neil Mackenzie - initial implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.core.rap;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.emf.ecp.core.util.observer.ECPObserverBus;
+import org.eclipse.emf.ecp.internal.core.util.observer.ECPObserverBusImpl;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceFactory;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ * This is the factory for5 creating the ECPObserverBus service.
+ *
+ * @author neilmack
+ *
+ */
+public class ECPObserverBusFactory implements ServiceFactory<ECPObserverBus> {
+
+ /**
+ * The session provider used to retrieve the current session.
+ */
+ private SessionProvider sessionProvider;
+
+ /**
+ * a map of sessions to services.
+ */
+ private final Map<String, ECPObserverBus> sessionRegistry =
+ new HashMap<String, ECPObserverBus>();
+
+ /**
+ * default constructor.
+ */
+ public ECPObserverBusFactory() {
+ init();
+ }
+
+ /**
+ * initialise the factory.
+ */
+ public final void init() {
+ getSessionProvider();
+ }
+
+ /**
+ * this class retrieves the session provider. If the sessionProvider is
+ * not set yet then it is created and set.
+ *
+ * @return the session provider
+ */
+ private SessionProvider getSessionProvider() {
+ if (sessionProvider == null) {
+ final BundleContext bundleContext =
+ FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<SessionProvider> serviceReference =
+ bundleContext.getServiceReference(SessionProvider.class);
+ sessionProvider = bundleContext.
+ getService(serviceReference);
+ }
+ return sessionProvider;
+ }
+
+ /**
+ * this method returns the ECPObserverBus service for the current session.
+ * It is called by the OSGI framework.
+ *
+ * @param bundle the OSGI bundle
+ * @param registration the service registration
+ *
+ * @return the service
+ */
+ @Override
+ public final ECPObserverBus getService(final Bundle bundle,
+ final ServiceRegistration<ECPObserverBus> registration) {
+
+ ECPObserverBus ecpObserverBus;
+ final String sessionId = getSessionProvider().getSessionId();
+
+ if (sessionRegistry.containsKey(sessionId)) {
+ ecpObserverBus = sessionRegistry.get(sessionId);
+ } else {
+ ecpObserverBus = new ECPObserverBusImpl();
+ sessionRegistry.put(sessionId, ecpObserverBus);
+ }
+ return ecpObserverBus;
+ }
+
+ /**
+ * this methodis called to unget a serive from a service registration.
+ *
+ * @param bundle the OSGI bundle
+ * @param registration the service registration
+ * @param service the observerbus
+ */
+ @Override
+ public void ungetService(final Bundle bundle,
+ final ServiceRegistration<ECPObserverBus> registration,
+ final ECPObserverBus service) {
+
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/ECPProjectManagerFactory.java b/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/ECPProjectManagerFactory.java
new file mode 100644
index 0000000..e4ef5d7
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/ECPProjectManagerFactory.java
@@ -0,0 +1,120 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Neil Mackenzie - initial implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.core.rap;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.emf.ecp.core.ECPProjectManager;
+import org.eclipse.emf.ecp.internal.core.ECPProjectManagerImpl;
+import org.eclipse.net4j.util.lifecycle.Lifecycle;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceFactory;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ * This is the factory for creating the ECPProjectManager service.
+ *
+ * @author neilmack
+ *
+ */
+public class ECPProjectManagerFactory implements
+ServiceFactory<ECPProjectManager> {
+
+ /**
+ * The session provider used to retrieve the current session.
+ */
+ private SessionProvider sessionProvider;
+ /**
+ * a map of sessions to services.
+ */
+ private final Map<String, ECPProjectManager> sessionRegistry =
+ new HashMap<String, ECPProjectManager>();
+
+ /**
+ * default constructor.
+ */
+ public ECPProjectManagerFactory() {
+ init();
+ }
+
+ /**
+ * initialise the factory.
+ */
+ public final void init() {
+ getSessionProvider();
+ }
+
+ /**
+ * this class retrieves the session provider. If the sessionProvider is
+ * not set yet then it is created and set.
+ *
+ * @return the session provider
+ */
+ private SessionProvider getSessionProvider() {
+ if (sessionProvider == null) {
+ final BundleContext bundleContext =
+ FrameworkUtil.getBundle(getClass()).
+ getBundleContext();
+ final ServiceReference<SessionProvider> serviceReference =
+ bundleContext.
+ getServiceReference(SessionProvider.class);
+ sessionProvider = bundleContext.
+ getService(serviceReference);
+ }
+ return sessionProvider;
+ }
+
+ /**
+ * this method returns the ECPProjectManager service for the
+ * current session.
+ * It is called by the OSGI framework.
+ *
+ * @param bundle the OSGI bundle
+ * @param registration the service registration
+ *
+ * @return the service
+ */
+ @Override
+ public ECPProjectManager getService(Bundle bundle,
+ ServiceRegistration<ECPProjectManager> registration) {
+ ECPProjectManager ecpProjectManager;
+ final String sessionId = getSessionProvider().getSessionId();
+ if (sessionRegistry.containsKey(sessionId)) {
+ ecpProjectManager = sessionRegistry.get(sessionId);
+ } else {
+ ecpProjectManager = new ECPProjectManagerImpl(sessionId);
+ sessionRegistry.put(sessionId, ecpProjectManager);
+ ((Lifecycle) ecpProjectManager).activate();
+
+ }
+ return ecpProjectManager;
+ }
+
+ /**
+ * this methodis called to unget a serive from a service registration.
+ *
+ * @param bundle the OSGI bundle
+ * @param registration the service registration
+ * @param service the service
+ */
+ @Override
+ public void ungetService(Bundle bundle,
+ ServiceRegistration<ECPProjectManager> registration,
+ ECPProjectManager service) {
+
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/ECPProviderRegistryFactory.java b/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/ECPProviderRegistryFactory.java
new file mode 100644
index 0000000..10d1f18
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/ECPProviderRegistryFactory.java
@@ -0,0 +1,118 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Neil Mackenzie - initial implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.core.rap;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.emf.ecp.core.ECPProviderRegistry;
+import org.eclipse.emf.ecp.internal.core.ECPProviderRegistryImpl;
+import org.eclipse.net4j.util.lifecycle.Lifecycle;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceFactory;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ * This is the factory for creating the ECPProviderRegistry service.
+ *
+ * @author neilmack
+ *
+ */
+public class ECPProviderRegistryFactory implements
+ServiceFactory<ECPProviderRegistry> {
+
+ /**
+ * The session provider used to retrieve the current session.
+ */
+ private SessionProvider sessionProvider;
+ /**
+ * a map of sessions to services.
+ */
+ private final Map<String, ECPProviderRegistry> sessionRegistry =
+ new HashMap<String, ECPProviderRegistry>();
+
+ /**
+ * default constructor.
+ */
+ public ECPProviderRegistryFactory() {
+ init();
+ }
+
+ /**
+ * initialise the factory.
+ */
+ public void init() {
+ getSessionProvider();
+ }
+
+ /**
+ * this class retrieves the session provider. If the sessionProvider is
+ * not set yet then it is created and set.
+ *
+ * @return the session provider
+ */
+ private SessionProvider getSessionProvider() {
+ if (sessionProvider == null) {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<SessionProvider> serviceReference = bundleContext
+ .getServiceReference(SessionProvider.class);
+ sessionProvider = bundleContext.getService(serviceReference);
+ }
+ return sessionProvider;
+ }
+
+ /**
+ * this method returns the ECPProviderRegistry service for the current session.
+ * It is called by the OSGI framework.
+ *
+ * @param bundle the OSGI bundle
+ * @param registration the service registration
+ *
+ * @return the service
+ */
+ @Override
+ public ECPProviderRegistry getService(Bundle bundle,
+ ServiceRegistration<ECPProviderRegistry> registration) {
+
+ ECPProviderRegistry ecpProviderRegistry;
+ final String sessionId = getSessionProvider().getSessionId();
+ if (sessionRegistry.containsKey(sessionId)) {
+ ecpProviderRegistry = sessionRegistry.get(sessionId);
+ } else {
+ ecpProviderRegistry = new ECPProviderRegistryImpl();
+ sessionRegistry.put(sessionId, ecpProviderRegistry);
+ ((Lifecycle) ecpProviderRegistry).activate();
+
+ }
+ return ecpProviderRegistry;
+ }
+
+ /**
+ * this method is called to unget a service from a service registration.
+ *
+ * @param bundle the OSGI bundle
+ * @param registration the service registration
+ * @param service the service
+ *
+ */
+ @Override
+ public void ungetService(Bundle bundle,
+ ServiceRegistration<ECPProviderRegistry> registration,
+ ECPProviderRegistry service) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/ECPRepositoryManagerFactory.java b/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/ECPRepositoryManagerFactory.java
new file mode 100644
index 0000000..6e23458
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/ECPRepositoryManagerFactory.java
@@ -0,0 +1,116 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Neil Mackenzie - initial implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.core.rap;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.emf.ecp.core.ECPRepositoryManager;
+import org.eclipse.emf.ecp.internal.core.ECPRepositoryManagerImpl;
+import org.eclipse.net4j.util.lifecycle.Lifecycle;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceFactory;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ * This is the factory for creating the ECPRepositoryManager service.
+ *
+ * @author neilmack
+ *
+ */
+public class ECPRepositoryManagerFactory implements
+ ServiceFactory<ECPRepositoryManager> {
+
+ /**
+ * The session provider used to retrieve the current session.
+ */
+ private SessionProvider sessionProvider;
+ /**
+ * a map of sessions to services.
+ */
+ private final Map<String, ECPRepositoryManager> sessionRegistry =
+ new HashMap<String, ECPRepositoryManager>();
+
+ /**
+ * default constructor.
+ */
+ public ECPRepositoryManagerFactory() {
+ init();
+ }
+
+ /**
+ * initialise the factory.
+ */
+ public void init() {
+ getSessionProvider();
+ }
+
+ /**
+ * this class retrieves the session provider. If the sessionProvider is
+ * not set yet then it is created and set.
+ *
+ * @return the session provider
+ */
+ private SessionProvider getSessionProvider() {
+ if (sessionProvider == null) {
+ final BundleContext bundleContext =
+ FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<SessionProvider> serviceReference =
+ bundleContext.getServiceReference(SessionProvider.class);
+ sessionProvider = bundleContext.getService(serviceReference);
+ }
+ return sessionProvider;
+ }
+
+ /**
+ * this method returns the ECPRepositoryManager service for the
+ * current session.
+ * It is called by the OSGI framework.
+ *
+ * @param bundle the OSGI bundle
+ * @param registration the service registration
+ *
+ * @return the service
+ */
+ @Override
+ public final ECPRepositoryManager getService(final Bundle bundle,
+ final ServiceRegistration<ECPRepositoryManager> registration) {
+ ECPRepositoryManager ecpRepositoryManager;
+ final String sessionId = getSessionProvider().getSessionId();
+ if (sessionRegistry.containsKey(sessionId)) {
+ ecpRepositoryManager = sessionRegistry.get(sessionId);
+ } else {
+ ecpRepositoryManager = new ECPRepositoryManagerImpl();
+ sessionRegistry.put(sessionId, ecpRepositoryManager);
+ ((Lifecycle) ecpRepositoryManager).activate();
+ }
+ return ecpRepositoryManager;
+ }
+
+ /**
+ * this method is called to unget a service from a service registration.
+ *
+ * @param bundle the OSGI bundle
+ * @param registration the service registration
+ * @param service the service
+ */
+ @Override
+ public void ungetService(final Bundle bundle,
+ final ServiceRegistration<ECPRepositoryManager> registration,
+ final ECPRepositoryManager service) {
+
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/SessionProvider.java b/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/SessionProvider.java
new file mode 100644
index 0000000..71084c7
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core.rap/src/org/eclipse/emf/ecp/core/rap/SessionProvider.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Neil Mackenzie - initial implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.core.rap;
+
+/**
+ * This class provides the current session ID.
+ *
+ * @author neilmack
+ *
+ */
+public interface SessionProvider {
+ /**
+ * get the current sessions ID.
+ *
+ * @return the current sessions ID
+ */
+ String getSessionId();
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.core/.gitignore b/bundles/org.eclipse.emf.ecp.core/.gitignore
index 934e0e0..bf56436 100644
--- a/bundles/org.eclipse.emf.ecp.core/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.core/.gitignore
@@ -1,2 +1,3 @@
/bin
/target
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.core/META-INF/MANIFEST.MF
index aadb9b1..8258356 100644
--- a/bundles/org.eclipse.emf.ecp.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Core
Bundle-SymbolicName: org.eclipse.emf.ecp.core;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.internal.core.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)";resolution:=optional,
@@ -12,17 +12,20 @@
org.eclipse.emf.ecp.common;bundle-version="[1.5.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.core;version="1.5.1",org.eclipse.e
- mf.ecp.core.exceptions;version="1.5.1",org.eclipse.emf.ecp.core.util;
- version="1.5.1",org.eclipse.emf.ecp.core.util.observer;version="1.5.1
- ",org.eclipse.emf.ecp.internal.core;version="1.5.1";x-friends:="org.e
- clipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ec
- p.edit.ecore.swt",org.eclipse.emf.ecp.internal.core.properties;versio
- n="1.5.1";x-internal:=true,org.eclipse.emf.ecp.internal.core.util;ver
- sion="1.5.1";x-friends:="org.eclipse.emf.ecp.ui",org.eclipse.emf.ecp.
- internal.core.util.observer;version="1.5.1";x-internal:=true,org.ecli
- pse.emf.ecp.spi.core;version="1.5.1",org.eclipse.emf.ecp.spi.core.uti
- l;version="1.5.1"
-Service-Component: OSGI-INF/ecpProviderRegistry.xml,OSGI-INF/ecpRepositoryManager.xml,OSGI-INF/ecpProjectManager.xml
+Export-Package: org.eclipse.emf.ecp.core;version="1.6.0",
+ org.eclipse.emf.ecp.core.exceptions;version="1.6.0",
+ org.eclipse.emf.ecp.core.util;version="1.6.0",
+ org.eclipse.emf.ecp.core.util.observer;version="1.6.0",
+ org.eclipse.emf.ecp.internal.core;version="1.6.0";
+ x-friends:="org.eclipse.emf.ecp.ui,
+ org.eclipse.emf.ecp.ui.view.test,
+ org.eclipse.emf.ecp.edit.ecore.swt,
+ org.eclipse.emf.ecp.core.rap",
+ org.eclipse.emf.ecp.internal.core.properties;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.internal.core.util;version="1.6.0";x-friends:="org.eclipse.emf.ecp.ui",
+ org.eclipse.emf.ecp.internal.core.util.observer;version="1.6.0";x-friends:="org.eclipse.emf.ecp.core.rap",
+ org.eclipse.emf.ecp.spi.core;version="1.6.0",
+ org.eclipse.emf.ecp.spi.core.util;version="1.6.0"
+Service-Component: OSGI-INF/ecpProviderRegistry.xml,OSGI-INF/ecpRepositoryManager.xml,OSGI-INF/ecpProjectManager.xml,OSGI-INF/ecpObserverBus.xml
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.core/OSGI-INF/ecpObserverBus.xml b/bundles/org.eclipse.emf.ecp.core/OSGI-INF/ecpObserverBus.xml
new file mode 100644
index 0000000..734fbb6
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.core/OSGI-INF/ecpObserverBus.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="false" name="org.eclipse.emf.ecp.core.util.observer.ecpObserverBus">
+ <implementation class="org.eclipse.emf.ecp.internal.core.util.observer.ECPObserverBusImpl"/>
+ <service>
+ <provide interface="org.eclipse.emf.ecp.core.util.observer.ECPObserverBus"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.core/pom.xml b/bundles/org.eclipse.emf.ecp.core/pom.xml
index 4ed1d22..e1e7570 100644
--- a/bundles/org.eclipse.emf.ecp.core/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.core/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.core</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/core/util/ECPUtil.java b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/core/util/ECPUtil.java
index 395857f..7a29690 100644
--- a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/core/util/ECPUtil.java
+++ b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/core/util/ECPUtil.java
@@ -33,7 +33,6 @@
import org.eclipse.emf.ecp.internal.core.Activator;
import org.eclipse.emf.ecp.internal.core.util.ElementDescriptor;
import org.eclipse.emf.ecp.internal.core.util.Properties;
-import org.eclipse.emf.ecp.internal.core.util.observer.ECPObserverBusImpl;
import org.eclipse.emf.ecp.spi.core.util.ECPDisposable;
/**
@@ -141,9 +140,17 @@
// avoid ConcurrentModificationException while iterating over the registry's key set
final List<String> keySet = new ArrayList<String>(Registry.INSTANCE.keySet());
- for (final String nsURI : keySet)
- {
- final EPackage ePackage = Registry.INSTANCE.getEPackage(nsURI);
+ for (final String nsURI : keySet) {
+ EPackage ePackage;
+ try {
+ ePackage = Registry.INSTANCE.getEPackage(nsURI);
+ }
+ // BEGIN SUPRESS CATCH EXCEPTION
+ catch (final Exception ex) {// END SUPRESS CATCH EXCEPTION
+ /* If there is a wrongly configured EPackage the call to getEPackage might throw a runtime exception */
+ /* Catch here, so we can still loop through the whole registry */
+ continue;
+ }
for (final EClassifier eClassifier : ePackage.getEClassifiers()) {
if (eClassifier instanceof EClass) {
final EClass eClass = (EClass) eClassifier;
@@ -166,43 +173,28 @@
}
/**
- * Instance of the ECPProjectManager.
- */
- private static ECPProjectManager ecpProjectManagerInstance;
-
- /**
* Helper method to get the instance of the {@link ECPProjectManager}.
*
* @return the {@link ECPProjectManager}
*/
public static ECPProjectManager getECPProjectManager() {
- if (ecpProjectManagerInstance == null) {
- ecpProjectManagerInstance = Activator.getECPProjectManager();
- }
+
+ final ECPProjectManager ecpProjectManagerInstance = Activator.getECPProjectManager();
+
return ecpProjectManagerInstance;
}
/**
- * The {@link ECPRepositoryManager} instance.
- */
- private static ECPRepositoryManager ecpRepositoryManagerInstance;
-
- /**
* Helper method to get the instance of the {@link ECPRepositoryManager}.
*
* @return the {@link ECPRepositoryManager}
*/
public static ECPRepositoryManager getECPRepositoryManager() {
- if (ecpRepositoryManagerInstance == null) {
- ecpRepositoryManagerInstance = Activator.getECPRepositoryManager();
- }
- return ecpRepositoryManagerInstance;
- }
- /**
- * Instance of the ECPProviderRegistry.
- */
- private static ECPProviderRegistry ecpProviderRegistryInstance;
+ final ECPRepositoryManager epm = Activator.getECPRepositoryManager();
+
+ return epm;
+ }
/**
* Helper method to get the instance of the {@link ECPProviderRegistry}.
@@ -210,9 +202,9 @@
* @return the {@link ECPProviderRegistry}
*/
public static ECPProviderRegistry getECPProviderRegistry() {
- if (ecpProviderRegistryInstance == null) {
- ecpProviderRegistryInstance = Activator.getECPProviderRegistry();
- }
+
+ final ECPProviderRegistry ecpProviderRegistryInstance = Activator.getECPProviderRegistry();
+
return ecpProviderRegistryInstance;
}
@@ -222,6 +214,7 @@
* @return the {@link ECPObserverBus}
*/
public static ECPObserverBus getECPObserverBus() {
- return ECPObserverBusImpl.getInstance();
+ return Activator.getECPObserverBus();
}
+
}
diff --git a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/Activator.java b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/Activator.java
index 284986c..70469a2 100644
--- a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/Activator.java
@@ -20,6 +20,7 @@
import org.eclipse.emf.ecp.core.ECPProjectManager;
import org.eclipse.emf.ecp.core.ECPProviderRegistry;
import org.eclipse.emf.ecp.core.ECPRepositoryManager;
+import org.eclipse.emf.ecp.core.util.observer.ECPObserverBus;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
@@ -47,24 +48,11 @@
@Override
public void start(BundleContext bundleContext) throws Exception {
instance = this;
- // Initialize all manager
- // getECPProviderRegistry();
- // getECPRepositoryManager();
- // getECPProjectManager();
super.start(bundleContext);
}
@Override
public void stop(BundleContext bundleContext) throws Exception {
- if (ECPProjectManagerImpl.INSTANCE != null) {
- ECPProjectManagerImpl.INSTANCE.deactivate();
- }
- if (ECPRepositoryManagerImpl.INSTANCE != null) {
- ECPRepositoryManagerImpl.INSTANCE.deactivate();
- }
- if (ECPProviderRegistryImpl.INSTANCE != null) {
- ECPProviderRegistryImpl.INSTANCE.deactivate();
- }
instance = null;
super.stop(bundleContext);
@@ -129,51 +117,76 @@
return new Status(IStatus.ERROR, PLUGIN_ID, msg, t);
}
- private static ECPProjectManager ecpProjectManager;
-
/**
* Helper method to get the {@link ECPProjectManager}.
*
* @return the {@link ECPProjectManager}
*/
- public static ECPProjectManager getECPProjectManager() {
- if (ecpProjectManager == null) {
- final ServiceReference<ECPProjectManager> serviceRef = instance.getBundle().getBundleContext()
- .getServiceReference(ECPProjectManager.class);
- ecpProjectManager = instance.getBundle().getBundleContext().getService(serviceRef);
- }
+ public static synchronized ECPProjectManager getECPProjectManager() {
+ ECPProjectManager ecpProjectManager = null;
+ final ServiceReference<ECPProjectManager> serviceRef = instance.getBundle().getBundleContext()
+ .getServiceReference(ECPProjectManager.class);
+ ecpProjectManager = instance.getBundle().getBundleContext().getService(serviceRef);
+ // because we are using a service factory for the RAP implementation we must unget
+ // the service so that the service factory is called again on each call. otherwise
+ // the service factor will keep returning the same cached instance as the reference
+ // count of the service will remain greater than zero
+ instance.getBundle().getBundleContext().ungetService(serviceRef);
return ecpProjectManager;
}
- private static ECPRepositoryManager ecpRepositoryManager;
-
/**
* Helper method to get the {@link ECPRepositoryManager}.
*
* @return the {@link ECPRepositoryManager}
*/
- public static ECPRepositoryManager getECPRepositoryManager() {
- if (ecpRepositoryManager == null) {
- final ServiceReference<ECPRepositoryManager> serviceRef = instance.getBundle().getBundleContext()
- .getServiceReference(ECPRepositoryManager.class);
- ecpRepositoryManager = instance.getBundle().getBundleContext().getService(serviceRef);
- }
+ public static synchronized ECPRepositoryManager getECPRepositoryManager() {
+ ECPRepositoryManager ecpRepositoryManager = null;
+ final ServiceReference<ECPRepositoryManager> serviceRef = instance.getBundle().getBundleContext()
+ .getServiceReference(ECPRepositoryManager.class);
+ ecpRepositoryManager = instance.getBundle().getBundleContext().getService(serviceRef);
+ // because we are using a service factory for the RAP implementation we must unget
+ // the service so that the service factory is called again on each call. otherwise
+ // the service factor will keep returning the same cached instance as the reference
+ // count of the service will remian greater that zero
+ instance.getBundle().getBundleContext().ungetService(serviceRef);
return ecpRepositoryManager;
}
- private static ECPProviderRegistry ecpProviderRegistry;
-
/**
* Helper method to get the {@link ECPProviderRegistry}.
*
* @return the {@link ECPProviderRegistry}
*/
- public static ECPProviderRegistry getECPProviderRegistry() {
- if (ecpProviderRegistry == null) {
- final ServiceReference<ECPProviderRegistry> serviceRef = instance.getBundle().getBundleContext()
- .getServiceReference(ECPProviderRegistry.class);
- ecpProviderRegistry = instance.getBundle().getBundleContext().getService(serviceRef);
- }
+ public static synchronized ECPProviderRegistry getECPProviderRegistry() {
+ ECPProviderRegistry ecpProviderRegistry = null;
+ final ServiceReference<ECPProviderRegistry> serviceRef = instance.getBundle().getBundleContext()
+ .getServiceReference(ECPProviderRegistry.class);
+ ecpProviderRegistry = instance.getBundle().getBundleContext().getService(serviceRef);
+ // because we are using a service factory for the RAP implementation we must unget
+ // the service so that the service factory is called again on each call. otherwise
+ // the service factor will keep returning the same cached instance as the reference
+ // count of the service will remain greater than zero
+ instance.getBundle().getBundleContext().ungetService(serviceRef);
return ecpProviderRegistry;
}
+
+ /**
+ * Helper method to get the {@link ECPObserverBus}.
+ *
+ * @return the {@link ECPObserverBus}
+ */
+ public static synchronized ECPObserverBus getECPObserverBus() {
+ ECPObserverBus ecpObserverBus = null;
+ final ServiceReference<ECPObserverBus> serviceRef = instance.getBundle().getBundleContext()
+ .getServiceReference(ECPObserverBus.class);
+ ecpObserverBus = instance.getBundle().getBundleContext().getService(serviceRef);
+ // because we are using a service factory for the RAP implementation we must unget
+ // the service so that the service factory is called again on each call. otherwise
+ // the service factor will keep returning the same cached instance as the reference
+ // count of the service will remain greater than zero
+ instance.getBundle().getBundleContext().ungetService(serviceRef);
+ return ecpObserverBus;
+ }
+
}
diff --git a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPProjectImpl.java b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPProjectImpl.java
index 6aa1a75..d1f3310 100644
--- a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPProjectImpl.java
+++ b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPProjectImpl.java
@@ -1,665 +1,667 @@
-/*******************************************************************************
- * Copyright (c) 2011 Eike Stepper (Berlin, Germany) and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- *
- *******************************************************************************/
-package org.eclipse.emf.ecp.internal.core;
-
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EPackage.Registry;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecp.core.ECPRepository;
-import org.eclipse.emf.ecp.core.util.ECPElement;
-import org.eclipse.emf.ecp.core.util.ECPFilterProvider;
-import org.eclipse.emf.ecp.core.util.ECPModelContextAdapter;
-import org.eclipse.emf.ecp.core.util.ECPProperties;
-import org.eclipse.emf.ecp.core.util.ECPUtil;
-import org.eclipse.emf.ecp.core.util.observer.ECPProjectPreDeleteObserver;
-import org.eclipse.emf.ecp.internal.core.util.PropertiesElement;
-import org.eclipse.emf.ecp.spi.core.InternalProject;
-import org.eclipse.emf.ecp.spi.core.InternalProvider;
-import org.eclipse.emf.ecp.spi.core.InternalProvider.LifecycleEvent;
-import org.eclipse.emf.ecp.spi.core.InternalRepository;
-import org.eclipse.emf.ecp.spi.core.util.ECPDisposable;
-import org.eclipse.emf.ecp.spi.core.util.ECPDisposable.DisposeListener;
-import org.eclipse.emf.edit.domain.EditingDomain;
-
-/**
- * @author Eike Stepper
- * @author Eugen Neufeld
- */
-public final class ECPProjectImpl extends PropertiesElement implements InternalProject, DisposeListener {
-
- private static final String PACKAGEFILTERS_EXTENSIONPOINT = "org.eclipse.emf.ecp.core.filters"; //$NON-NLS-1$
-
- private InternalRepository repository;
-
- private InternalProvider provider;
-
- private Object providerSpecificData;
-
- private Set<EPackage> filteredEPackages = Collections.emptySet();
-
- private Set<EClass> filteredEClasses = Collections.emptySet();
-
- private EditingDomain editingDomain;
-
- private boolean open;
-
- private boolean initialized = false;
-
- /**
- * Constructor used when an offline project is created.
- *
- * @param provider the {@link InternalProvider} of this project
- * @param name the name of the project
- * @param properties the properties of the project
- */
- public ECPProjectImpl(InternalProvider provider, String name, ECPProperties properties) {
- super(name, properties);
- this.provider = provider;
- open = true;
- setupFilteredEPackages();
- notifyProvider(LifecycleEvent.INIT);
- }
-
- /**
- * Constructor used when an online project is created.
- *
- * @param repository the {@link ECPRepository} of this project
- * @param name the name of the project
- * @param properties the properties of the project
- */
- public ECPProjectImpl(ECPRepository repository, String name, ECPProperties properties) {
- super(name, properties);
-
- if (repository == null) {
- throw new IllegalArgumentException("Repository is null"); //$NON-NLS-1$
- }
-
- setRepository((InternalRepository) repository);
- provider = getRepository().getProvider();
- open = true;
- setupFilteredEPackages();
- notifyProvider(LifecycleEvent.INIT);
- }
-
- /**
- * Constructor used to load persisted projects on startup.
- *
- * @param in the {@link ObjectInput} to parse
- * @throws IOException is thrown when file can't be read.
- */
- public ECPProjectImpl(ObjectInput in) throws IOException {
- super(in);
-
- final boolean shared = in.readBoolean();
- if (shared) {
- final String repositoryName = in.readUTF();
- InternalRepository repository = (InternalRepository) ECPUtil.getECPRepositoryManager().getRepository(
- repositoryName);
- if (repository == null) {
- repository = new Disposed(repositoryName);
- }
-
- setRepository(repository);
- provider = repository.getProvider();
- } else {
- final String providerName = in.readUTF();
- provider = (InternalProvider) ECPUtil.getECPProviderRegistry().getProvider(providerName);
- if (provider == null) {
- throw new IllegalStateException("Provider not found: " + providerName); //$NON-NLS-1$
- }
- }
-
- open = in.readBoolean();
-
- final int filteredPackageSize = in.readInt();
- filteredEPackages = new HashSet<EPackage>();
- for (int i = 0; i < filteredPackageSize; i++) {
- final EPackage ePackage = Registry.INSTANCE.getEPackage(in.readUTF());
- if (ePackage != null) {
- filteredEPackages.add(ePackage);
- }
- }
- final int filteredEClassSize = in.readInt();
- filteredEClasses = new HashSet<EClass>();
- for (int i = 0; i < filteredEClassSize; i++) {
- final EPackage ePackage = Registry.INSTANCE.getEPackage(in.readUTF());
- final EClassifier eClassifier = ePackage.getEClassifier(in.readUTF());
- if (eClassifier instanceof EClass) {
- filteredEClasses.add((EClass) eClassifier);
- }
- }
-
- // do not initialize on startup, will be initializes by view
- // notifyProvider(LifecycleEvent.INIT);
- }
-
- /**
- * this method sets all known {@link EPackage}s as the filter.
- */
- private void setupFilteredEPackages() {
- final List<ECPFilterProvider> filterProviders = new ArrayList<ECPFilterProvider>();
- final IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(
- PACKAGEFILTERS_EXTENSIONPOINT);
- for (final IExtension extension : extensionPoint.getExtensions()) {
- final IConfigurationElement configurationElement = extension.getConfigurationElements()[0];
- try {
- final ECPFilterProvider filterProvider = (ECPFilterProvider) configurationElement
- .createExecutableExtension("class"); //$NON-NLS-1$
- filterProviders.add(filterProvider);
- } catch (final CoreException ex) {
- Activator.log(ex);
- }
- }
-
- final Set<EPackage> ePackages = new HashSet<EPackage>();
- final Set<String> filteredNsUris = new HashSet<String>();
- for (final ECPFilterProvider filterProvider : filterProviders) {
- filteredNsUris.addAll(filterProvider.getHiddenPackages());
- }
-
- final Set<String> relevantURIs = new HashSet<String>(Registry.INSTANCE.keySet());
- relevantURIs.removeAll(filteredNsUris);
-
- for (final String nsUri : relevantURIs) {
- final EPackage ePackage = Registry.INSTANCE.getEPackage(nsUri);
- ePackages.add(ePackage);
- }
-
- setVisiblePackages(ePackages);
- }
-
- @Override
- public void write(ObjectOutput out) throws IOException {
- super.write(out);
- if (repository != null) {
- out.writeBoolean(true);
- out.writeUTF(repository.getName());
- } else if (provider != null) {
- out.writeBoolean(false);
- out.writeUTF(provider.getName());
- }
-
- out.writeBoolean(open);
-
- out.writeInt(filteredEPackages.size());
- for (final EPackage ePackage : filteredEPackages) {
- out.writeUTF(ePackage.getNsURI());
- }
- out.writeInt(filteredEClasses.size());
- for (final EClass eClass : filteredEClasses) {
-
- out.writeUTF(eClass.getEPackage().getNsURI());
- out.writeUTF(eClass.getName());
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public String getType() {
- return TYPE;
- }
-
- /** {@inheritDoc} */
- @Override
- public void disposed(ECPDisposable disposable) {
- if (disposable == repository) {
- dispose();
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public boolean isStorable() {
- return true;
- }
-
- /** {@inheritDoc} */
- @Override
- public InternalProject getProject() {
- return this;
- }
-
- /** {@inheritDoc} */
- @Override
- public InternalRepository getRepository() {
- return repository;
- }
-
- private void setRepository(InternalRepository repository) {
- if (this.repository != null) {
- this.repository.removeDisposeListener(this);
- }
-
- this.repository = repository;
-
- if (this.repository != null) {
-
- this.repository.addDisposeListener(this);
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public InternalProvider getProvider() {
- return provider;
- }
-
- /** {@inheritDoc} */
- @Override
- public Object getProviderSpecificData() {
- return providerSpecificData;
- }
-
- /** {@inheritDoc} */
- @Override
- public void setProviderSpecificData(Object providerSpecificData) {
- this.providerSpecificData = providerSpecificData;
- }
-
- /** {@inheritDoc} */
- @Override
- public void notifyObjectsChanged(Collection<Object> objects, boolean structural) {
- if (objects != null && objects.size() != 0) {
- // if (getProvider().isDirty(this)) {
- // getProvider().doSave(this);
- // }
- ECPProjectManagerImpl.INSTANCE.notifyObjectsChanged(this, objects, structural);
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public synchronized EditingDomain getEditingDomain() {
- if (editingDomain == null) {
- editingDomain = getProvider().createEditingDomain(this);
- }
-
- return editingDomain;
- }
-
- /**
- * Returns an object which is an instance of the given class associated with this object. Returns <code>null</code>
- * if
- * no such object can be found.
- * <p>
- * This implementation of the method declared by <code>IAdaptable</code> passes the request along to the platform's
- * adapter manager; roughly <code>Platform.getAdapterManager().getAdapter(this, adapter)</code>. Subclasses may
- * override this method (however, if they do so, they should invoke the method on their superclass to ensure that
- * the Platform's adapter manager is consulted).
- * </p>
- *
- * @param adapterType
- * the class to adapt to
- * @return the adapted object or <code>null</code>
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class) IAdaptable#getAdapter(Class)
- */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public Object getAdapter(Class adapterType) {
- final InternalProvider provider = getProvider();
- if (provider != null && !provider.isDisposed()) {
- final Object result = provider.getAdapter(this, adapterType);
- if (result != null) {
- return result;
- }
- }
-
- return Platform.getAdapterManager().getAdapter(this, adapterType);
- }
-
- /** {@inheritDoc} */
- @Override
- public boolean canDelete() {
- return true;
- }
-
- /** {@inheritDoc} */
- @Override
- public void delete() {
- ECPUtil.getECPObserverBus().notify(ECPProjectPreDeleteObserver.class).projectDelete(this);
- getProvider().handleLifecycle(this, LifecycleEvent.REMOVE);
- ECPProjectManagerImpl.INSTANCE.changeElements(Collections.singleton(getName()), null);
- }
-
- /** {@inheritDoc} */
- @Override
- public synchronized boolean isOpen() {
- return !isRepositoryDisposed() && open;
- }
-
- /** {@inheritDoc} */
- @Override
- public synchronized void open() {
- if (!isRepositoryDisposed()) {
- setOpen(true);
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public synchronized void close() {
- if (!isRepositoryDisposed()) {
- setOpen(false);
- }
- }
-
- private boolean isRepositoryDisposed() {
- return repository != null && repository.isDisposed();
- }
-
- private void setOpen(boolean open) {
- boolean modified = false;
- synchronized (this) {
- if (open != this.open) {
- this.open = open;
- modified = true;
-
- notifyProvider(open ? LifecycleEvent.INIT : LifecycleEvent.DISPOSE);
-
- if (!open) {
- providerSpecificData = null;
- editingDomain = null;
- }
- }
- }
-
- if (modified) {
- ECPProjectManagerImpl.INSTANCE.changeProject(this, open, true);
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public void notifyProvider(LifecycleEvent event) {
- // guard to prevent multiple initializations
- if (event == LifecycleEvent.INIT && initialized) {
- return;
- }
- final InternalProvider provider = getProvider();
-
- provider.handleLifecycle(this, event);
- if (event == LifecycleEvent.INIT) {
- initialized = true;
- final Notifier root = provider.getRoot(this);
- if (root != null) {
- root.eAdapters().add(new ECPModelContextAdapter(this));
- }
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public void undispose(InternalRepository repository) {
- setRepository(repository);
- notifyProvider(LifecycleEvent.INIT);
-
- if (open) {
- ECPProjectManagerImpl.INSTANCE.changeProject(this, true, true);
- }
- }
-
- private void dispose() {
- notifyProvider(LifecycleEvent.DISPOSE);
- if (repository != null) {
- setRepository(new Disposed(repository.getName()));
- }
-
- providerSpecificData = null;
- editingDomain = null;
-
- ECPProjectManagerImpl.INSTANCE.changeProject(this, false, false);
- }
-
- /**
- * @author Eike Stepper
- */
- private static final class Disposed implements InternalRepository {
- private final String name;
-
- public Disposed(String name) {
- this.name = name;
- }
-
- /** {@inheritDoc} */
- @Override
- public String getName() {
- return name;
- }
-
- /** {@inheritDoc} */
- @Override
- public boolean isDisposed() {
- return true;
- }
-
- /** {@inheritDoc} */
- @Override
- public String getLabel() {
- return null;
- }
-
- /** {@inheritDoc} */
- @Override
- public String getDescription() {
- return null;
- }
-
- /** {@inheritDoc} */
- @Override
- public int compareTo(ECPElement o) {
- return 0;
- }
-
- /** {@inheritDoc} */
- @Override
- public ECPProperties getProperties() {
- return null;
- }
-
- /** {@inheritDoc} */
- @Override
- public boolean canDelete() {
- return false;
- }
-
- /** {@inheritDoc} */
- @Override
- public void delete() {
- }
-
- /** {@inheritDoc} */
- @Override
- public boolean isStorable() {
- return false;
- }
-
- /** {@inheritDoc} */
- @Override
- public void write(ObjectOutput out) throws IOException {
- }
-
- /** {@inheritDoc} */
- @Override
- public void setLabel(String label) {
- }
-
- /** {@inheritDoc} */
- @Override
- public void setDescription(String description) {
- }
-
- /** {@inheritDoc} */
- @Override
- public void dispose() {
- }
-
- /** {@inheritDoc} */
- @Override
- public void addDisposeListener(DisposeListener listener) {
- }
-
- /** {@inheritDoc} */
- @Override
- public void removeDisposeListener(DisposeListener listener) {
- }
-
- /** {@inheritDoc} */
- @Override
- public InternalProvider getProvider() {
- return null;
- }
-
- /** {@inheritDoc} */
- @Override
- public Object getProviderSpecificData() {
- return null;
- }
-
- /** {@inheritDoc} */
- @Override
- public void setProviderSpecificData(Object data) {
- }
-
- /** {@inheritDoc} */
- @Override
- public void notifyObjectsChanged(Collection<Object> objects) {
- }
- }
-
- /** {@inheritDoc} */
- @Override
- @SuppressWarnings("unchecked")
- public EList<Object> getContents() {
- return (EList<Object>) getProvider().getElements(this);
- }
-
- /** {@inheritDoc} */
- @Override
- public Set<EPackage> getUnsupportedEPackages() {
- return getProvider().getUnsupportedEPackages(ECPUtil.getAllRegisteredEPackages(), getRepository());
- }
-
- /** {@inheritDoc} */
- @Override
- public void setVisiblePackages(Set<EPackage> filteredPackages) {
- filteredEPackages = filteredPackages;
- ECPProjectManagerImpl.INSTANCE.storeElement(this);
- }
-
- /** {@inheritDoc} */
- @Override
- public Set<EPackage> getVisiblePackages() {
- return filteredEPackages;
- }
-
- /** {@inheritDoc} */
- @Override
- public Set<EClass> getVisibleEClasses() {
- return filteredEClasses;
- }
-
- /** {@inheritDoc} */
- @Override
- public void setVisibleEClasses(Set<EClass> filteredEClasses) {
- this.filteredEClasses = filteredEClasses;
- ECPProjectManagerImpl.INSTANCE.storeElement(this);
- }
-
- /** {@inheritDoc} */
- @Override
- public Iterator<EObject> getReferenceCandidates(EObject modelElement, EReference eReference) {
- return getProvider().getLinkElements(this, modelElement, eReference);
- }
-
- /** {@inheritDoc} */
- @Override
- public void saveContents() {
- getProvider().doSave(this);
- }
-
- /** {@inheritDoc} */
- @Override
- public boolean hasDirtyContents() {
- return getProvider().isDirty(this);
- }
-
- /** {@inheritDoc} */
- @Override
- public void deleteElements(Collection<Object> objects) {
- getProvider().delete(this, objects);
- notifyObjectsChanged(Collections.singleton((Object) this), true);
- }
-
- /** {@inheritDoc} */
- @Override
- public InternalProject clone(String name) {
- try {
- super.clone();
- } catch (final CloneNotSupportedException ex) {
- Activator.log(ex);
- }
- final InternalProject project = new ECPProjectImpl(getProvider(), name, ECPUtil.createProperties());
- project.setVisibleEClasses(getVisibleEClasses());
- project.setVisiblePackages(getVisiblePackages());
- getProvider().cloneProject(this, project);
- return project;
- }
-
- @Override
- protected void propertiesChanged(Collection<Entry<String, String>> oldProperties,
- Collection<Entry<String, String>> newProperties) {
- ECPProjectManagerImpl.INSTANCE.storeElement(this);
- }
-
- /**
- * You must not call this anymore as properties are save automatically now.
- */
- @Override
- @Deprecated
- public void saveProperties() {
- ECPProjectManagerImpl.INSTANCE.storeElement(this);
- }
-
- /** {@inheritDoc} */
- @Override
- public boolean isModelRoot(Object object) {
- return getProvider().getRoot(this).equals(object);
- }
-
- /** {@inheritDoc} */
- @Override
- public boolean contains(Object object) {
- return getProvider().contains(this, object);
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2011-2015 Eike Stepper (Berlin, Germany) and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ *
+ *******************************************************************************/
+package org.eclipse.emf.ecp.internal.core;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map.Entry;
+import java.util.Set;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtension;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EPackage.Registry;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecp.core.ECPRepository;
+import org.eclipse.emf.ecp.core.util.ECPElement;
+import org.eclipse.emf.ecp.core.util.ECPFilterProvider;
+import org.eclipse.emf.ecp.core.util.ECPModelContextAdapter;
+import org.eclipse.emf.ecp.core.util.ECPProperties;
+import org.eclipse.emf.ecp.core.util.ECPUtil;
+import org.eclipse.emf.ecp.core.util.observer.ECPProjectPreDeleteObserver;
+import org.eclipse.emf.ecp.internal.core.util.PropertiesElement;
+import org.eclipse.emf.ecp.spi.core.InternalProject;
+import org.eclipse.emf.ecp.spi.core.InternalProvider;
+import org.eclipse.emf.ecp.spi.core.InternalProvider.LifecycleEvent;
+import org.eclipse.emf.ecp.spi.core.InternalRepository;
+import org.eclipse.emf.ecp.spi.core.util.ECPDisposable;
+import org.eclipse.emf.ecp.spi.core.util.ECPDisposable.DisposeListener;
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+/**
+ * @author Eike Stepper
+ * @author Eugen Neufeld
+ */
+public final class ECPProjectImpl extends PropertiesElement implements InternalProject, DisposeListener {
+
+ private static final String PACKAGEFILTERS_EXTENSIONPOINT = "org.eclipse.emf.ecp.core.filters"; //$NON-NLS-1$
+
+ private InternalRepository repository;
+
+ private InternalProvider provider;
+
+ private Object providerSpecificData;
+
+ private Set<EPackage> filteredEPackages = Collections.emptySet();
+
+ private Set<EClass> filteredEClasses = Collections.emptySet();
+
+ private EditingDomain editingDomain;
+
+ private boolean open;
+
+ private boolean initialized = false;
+
+ /**
+ * Constructor used when an offline project is created.
+ *
+ * @param provider the {@link InternalProvider} of this project
+ * @param name the name of the project
+ * @param properties the properties of the project
+ */
+ public ECPProjectImpl(InternalProvider provider, String name, ECPProperties properties) {
+ super(name, properties);
+ this.provider = provider;
+ open = true;
+ setupFilteredEPackages();
+ notifyProvider(LifecycleEvent.INIT);
+ }
+
+ /**
+ * Constructor used when an online project is created.
+ *
+ * @param repository the {@link ECPRepository} of this project
+ * @param name the name of the project
+ * @param properties the properties of the project
+ */
+ public ECPProjectImpl(ECPRepository repository, String name, ECPProperties properties) {
+ super(name, properties);
+
+ if (repository == null) {
+ throw new IllegalArgumentException("Repository is null"); //$NON-NLS-1$
+ }
+
+ setRepository((InternalRepository) repository);
+ provider = getRepository().getProvider();
+ open = true;
+ setupFilteredEPackages();
+ notifyProvider(LifecycleEvent.INIT);
+ }
+
+ /**
+ * Constructor used to load persisted projects on startup.
+ *
+ * @param in the {@link ObjectInput} to parse
+ * @throws IOException is thrown when file can't be read.
+ */
+ public ECPProjectImpl(ObjectInput in) throws IOException {
+ super(in);
+
+ final boolean shared = in.readBoolean();
+ if (shared) {
+ final String repositoryName = in.readUTF();
+ InternalRepository repository = (InternalRepository) ECPUtil.getECPRepositoryManager().getRepository(
+ repositoryName);
+ if (repository == null) {
+ repository = new Disposed(repositoryName);
+ }
+
+ setRepository(repository);
+ provider = repository.getProvider();
+ } else {
+ final String providerName = in.readUTF();
+ provider = (InternalProvider) ECPUtil.getECPProviderRegistry().getProvider(providerName);
+ if (provider == null) {
+ throw new IllegalStateException("Provider not found: " + providerName); //$NON-NLS-1$
+ }
+ }
+
+ open = in.readBoolean();
+
+ final int filteredPackageSize = in.readInt();
+ filteredEPackages = new HashSet<EPackage>();
+ for (int i = 0; i < filteredPackageSize; i++) {
+ final EPackage ePackage = Registry.INSTANCE.getEPackage(in.readUTF());
+ if (ePackage != null) {
+ filteredEPackages.add(ePackage);
+ }
+ }
+ final int filteredEClassSize = in.readInt();
+ filteredEClasses = new HashSet<EClass>();
+ for (int i = 0; i < filteredEClassSize; i++) {
+ final EPackage ePackage = Registry.INSTANCE.getEPackage(in.readUTF());
+ final EClassifier eClassifier = ePackage.getEClassifier(in.readUTF());
+ if (eClassifier instanceof EClass) {
+ filteredEClasses.add((EClass) eClassifier);
+ }
+ }
+
+ // do not initialize on startup, will be initializes by view
+ // notifyProvider(LifecycleEvent.INIT);
+ }
+
+ /**
+ * this method sets all known {@link EPackage}s as the filter.
+ */
+ private void setupFilteredEPackages() {
+ final List<ECPFilterProvider> filterProviders = new ArrayList<ECPFilterProvider>();
+ final IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(
+ PACKAGEFILTERS_EXTENSIONPOINT);
+ for (final IExtension extension : extensionPoint.getExtensions()) {
+ final IConfigurationElement configurationElement = extension.getConfigurationElements()[0];
+ try {
+ final ECPFilterProvider filterProvider = (ECPFilterProvider) configurationElement
+ .createExecutableExtension("class"); //$NON-NLS-1$
+ filterProviders.add(filterProvider);
+ } catch (final CoreException ex) {
+ Activator.log(ex);
+ }
+ }
+
+ final Set<EPackage> ePackages = new HashSet<EPackage>();
+ final Set<String> filteredNsUris = new HashSet<String>();
+ for (final ECPFilterProvider filterProvider : filterProviders) {
+ filteredNsUris.addAll(filterProvider.getHiddenPackages());
+ }
+
+ final Set<String> relevantURIs = new HashSet<String>(Registry.INSTANCE.keySet());
+ relevantURIs.removeAll(filteredNsUris);
+
+ for (final String nsUri : relevantURIs) {
+ final EPackage ePackage = Registry.INSTANCE.getEPackage(nsUri);
+ ePackages.add(ePackage);
+ }
+
+ setVisiblePackages(ePackages);
+ }
+
+ @Override
+ public void write(ObjectOutput out) throws IOException {
+ super.write(out);
+ if (repository != null) {
+ out.writeBoolean(true);
+ out.writeUTF(repository.getName());
+ } else if (provider != null) {
+ out.writeBoolean(false);
+ out.writeUTF(provider.getName());
+ }
+
+ out.writeBoolean(open);
+
+ out.writeInt(filteredEPackages.size());
+ for (final EPackage ePackage : filteredEPackages) {
+ out.writeUTF(ePackage.getNsURI());
+ }
+ out.writeInt(filteredEClasses.size());
+ for (final EClass eClass : filteredEClasses) {
+
+ out.writeUTF(eClass.getEPackage().getNsURI());
+ out.writeUTF(eClass.getName());
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public String getType() {
+ return TYPE;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void disposed(ECPDisposable disposable) {
+ if (disposable == repository) {
+ dispose();
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean isStorable() {
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public InternalProject getProject() {
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public InternalRepository getRepository() {
+ return repository;
+ }
+
+ private void setRepository(InternalRepository repository) {
+ if (this.repository != null) {
+ this.repository.removeDisposeListener(this);
+ }
+
+ this.repository = repository;
+
+ if (this.repository != null) {
+
+ this.repository.addDisposeListener(this);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public InternalProvider getProvider() {
+ return provider;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Object getProviderSpecificData() {
+ return providerSpecificData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setProviderSpecificData(Object providerSpecificData) {
+ this.providerSpecificData = providerSpecificData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void notifyObjectsChanged(Collection<Object> objects, boolean structural) {
+ if (objects != null && objects.size() != 0) {
+ // if (getProvider().isDirty(this)) {
+ // getProvider().doSave(this);
+ // }
+ ((ECPProjectManagerImpl) ECPUtil.getECPProjectManager()).notifyObjectsChanged(this, objects, structural);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public synchronized EditingDomain getEditingDomain() {
+ if (editingDomain == null) {
+ editingDomain = getProvider().createEditingDomain(this);
+ }
+
+ return editingDomain;
+ }
+
+ /**
+ * Returns an object which is an instance of the given class associated with this object. Returns <code>null</code>
+ * if
+ * no such object can be found.
+ * <p>
+ * This implementation of the method declared by <code>IAdaptable</code> passes the request along to the platform's
+ * adapter manager; roughly <code>Platform.getAdapterManager().getAdapter(this, adapter)</code>. Subclasses may
+ * override this method (however, if they do so, they should invoke the method on their superclass to ensure that
+ * the Platform's adapter manager is consulted).
+ * </p>
+ *
+ * @param adapterType
+ * the class to adapt to
+ * @return the adapted object or <code>null</code>
+ * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class) IAdaptable#getAdapter(Class)
+ */
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ public Object getAdapter(Class adapterType) {
+ final InternalProvider provider = getProvider();
+ if (provider != null && !provider.isDisposed()) {
+ final Object result = provider.getAdapter(this, adapterType);
+ if (result != null) {
+ return result;
+ }
+ }
+
+ return Platform.getAdapterManager().getAdapter(this, adapterType);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean canDelete() {
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void delete() {
+ ECPUtil.getECPObserverBus().notify(ECPProjectPreDeleteObserver.class).projectDelete(this);
+ // FIXME https://bugs.eclipse.org/bugs/show_bug.cgi?id=462399
+ cleanup();
+ getProvider().handleLifecycle(this, LifecycleEvent.REMOVE);
+ ((ECPProjectManagerImpl) ECPUtil.getECPProjectManager()).changeElements(Collections.singleton(getName()), null);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public synchronized boolean isOpen() {
+ return !isRepositoryDisposed() && open;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public synchronized void open() {
+ if (!isRepositoryDisposed()) {
+ setOpen(true);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public synchronized void close() {
+ if (!isRepositoryDisposed()) {
+ setOpen(false);
+ }
+ }
+
+ private boolean isRepositoryDisposed() {
+ return repository != null && repository.isDisposed();
+ }
+
+ private void setOpen(boolean open) {
+ boolean modified = false;
+ synchronized (this) {
+ if (open != this.open) {
+ this.open = open;
+ modified = true;
+
+ notifyProvider(open ? LifecycleEvent.INIT : LifecycleEvent.DISPOSE);
+
+ if (!open) {
+ providerSpecificData = null;
+ editingDomain = null;
+ }
+ }
+ }
+
+ if (modified) {
+ ((ECPProjectManagerImpl) ECPUtil.getECPProjectManager()).changeProject(this, open, true);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void notifyProvider(LifecycleEvent event) {
+ // guard to prevent multiple initializations
+ if (event == LifecycleEvent.INIT && initialized) {
+ return;
+ }
+ final InternalProvider provider = getProvider();
+
+ provider.handleLifecycle(this, event);
+ if (event == LifecycleEvent.INIT) {
+ initialized = true;
+ final Notifier root = provider.getRoot(this);
+ if (root != null) {
+ root.eAdapters().add(new ECPModelContextAdapter(this));
+ }
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void undispose(InternalRepository repository) {
+ setRepository(repository);
+ notifyProvider(LifecycleEvent.INIT);
+
+ if (open) {
+ ((ECPProjectManagerImpl) ECPUtil.getECPProjectManager()).changeProject(this, true, true);
+ }
+ }
+
+ private void dispose() {
+ notifyProvider(LifecycleEvent.DISPOSE);
+ if (repository != null) {
+ setRepository(new Disposed(repository.getName()));
+ }
+
+ providerSpecificData = null;
+ editingDomain = null;
+
+ ((ECPProjectManagerImpl) ECPUtil.getECPProjectManager()).changeProject(this, false, false);
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ private static final class Disposed implements InternalRepository {
+ private final String name;
+
+ public Disposed(String name) {
+ this.name = name;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean isDisposed() {
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public String getLabel() {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public String getDescription() {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public int compareTo(ECPElement o) {
+ return 0;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ECPProperties getProperties() {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean canDelete() {
+ return false;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void delete() {
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean isStorable() {
+ return false;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void write(ObjectOutput out) throws IOException {
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setLabel(String label) {
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setDescription(String description) {
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void dispose() {
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void addDisposeListener(DisposeListener listener) {
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void removeDisposeListener(DisposeListener listener) {
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public InternalProvider getProvider() {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Object getProviderSpecificData() {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setProviderSpecificData(Object data) {
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void notifyObjectsChanged(Collection<Object> objects) {
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ @SuppressWarnings("unchecked")
+ public EList<Object> getContents() {
+ return (EList<Object>) getProvider().getElements(this);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Set<EPackage> getUnsupportedEPackages() {
+ return getProvider().getUnsupportedEPackages(ECPUtil.getAllRegisteredEPackages(), getRepository());
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setVisiblePackages(Set<EPackage> filteredPackages) {
+ filteredEPackages = filteredPackages;
+ ((ECPProjectManagerImpl) ECPUtil.getECPProjectManager()).storeElement(this);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Set<EPackage> getVisiblePackages() {
+ return filteredEPackages;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Set<EClass> getVisibleEClasses() {
+ return filteredEClasses;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setVisibleEClasses(Set<EClass> filteredEClasses) {
+ this.filteredEClasses = filteredEClasses;
+ ((ECPProjectManagerImpl) ECPUtil.getECPProjectManager()).storeElement(this);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Iterator<EObject> getReferenceCandidates(EObject modelElement, EReference eReference) {
+ return getProvider().getLinkElements(this, modelElement, eReference);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void saveContents() {
+ getProvider().doSave(this);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean hasDirtyContents() {
+ return getProvider().isDirty(this);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void deleteElements(Collection<Object> objects) {
+ getProvider().delete(this, objects);
+ notifyObjectsChanged(Collections.singleton((Object) this), true);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public InternalProject clone(String name) {
+ try {
+ super.clone();
+ } catch (final CloneNotSupportedException ex) {
+ Activator.log(ex);
+ }
+ final InternalProject project = new ECPProjectImpl(getProvider(), name, ECPUtil.createProperties());
+ project.setVisibleEClasses(getVisibleEClasses());
+ project.setVisiblePackages(getVisiblePackages());
+ getProvider().cloneProject(this, project);
+ return project;
+ }
+
+ @Override
+ protected void propertiesChanged(Collection<Entry<String, String>> oldProperties,
+ Collection<Entry<String, String>> newProperties) {
+ ((ECPProjectManagerImpl) ECPUtil.getECPProjectManager()).storeElement(this);
+ }
+
+ /**
+ * You must not call this anymore as properties are save automatically now.
+ */
+ @Override
+ @Deprecated
+ public void saveProperties() {
+ ((ECPProjectManagerImpl) ECPUtil.getECPProjectManager()).storeElement(this);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean isModelRoot(Object object) {
+ return getProvider().getRoot(this).equals(object);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean contains(Object object) {
+ return getProvider().contains(this, object);
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPProjectManagerImpl.java b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPProjectManagerImpl.java
index fb1bf7d..4cfd003 100644
--- a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPProjectManagerImpl.java
+++ b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPProjectManagerImpl.java
@@ -51,16 +51,10 @@
* @author Eugen Neufeld
*/
public final class ECPProjectManagerImpl extends PropertiesStore<InternalProject, ECPObserver> implements
- ECPProjectManager, ECPRepositoriesChangedObserver {
+ECPProjectManager, ECPRepositoriesChangedObserver {
private static final String PROJECT_FOLDERNAME = "projects"; //$NON-NLS-1$
- /**
- * The Singleton to access the implementation of the Default ECPProjectManager.
- *
- * @deprecated use {@link ECPUtil} instead
- */
- @Deprecated
- public static ECPProjectManagerImpl INSTANCE;
+
/**
* This variable defines whether the projects where already initialized. Default value is false.
*/
@@ -70,12 +64,26 @@
* Should not be called directly, use service instead.
*/
public ECPProjectManagerImpl() {
- if (INSTANCE != null) {
- throw new IllegalStateException("Manager must not be initialized twice"); //$NON-NLS-1$
- }
- INSTANCE = this;
+ initializeFolder(null);
+ }
+
+ /**
+ * @param sessionId Will be appended to the folder name so that there are different folders for each session
+ */
+
+ public ECPProjectManagerImpl(String sessionId) {
+ initializeFolder(sessionId);
+ }
+
+ private void initializeFolder(String sessionId) {
+
final File stateLocation = Activator.getInstance().getStateLocation().toFile();
setFolder(new File(stateLocation, PROJECT_FOLDERNAME));
+ String finalFolderName = PROJECT_FOLDERNAME;
+ if (sessionId != null) {
+ finalFolderName += "-" + sessionId;
+ }
+ setFolder(new File(stateLocation, finalFolderName));
}
/** {@inheritDoc} */
diff --git a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPProviderRegistryImpl.java b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPProviderRegistryImpl.java
index a960acd..cb89db7 100644
--- a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPProviderRegistryImpl.java
+++ b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPProviderRegistryImpl.java
@@ -50,13 +50,6 @@
*/
public final class ECPProviderRegistryImpl extends ElementRegistry<InternalProvider, ECPObserver> implements
ECPProviderRegistry {
- /**
- * The Singleton to access the implementation of the Default ECPProviderRegistry.
- *
- * @deprecated use {@link ECPUtil} instead
- */
- @Deprecated
- public static ECPProviderRegistryImpl INSTANCE;
private final ProviderParser extensionParser = new ProviderParser();
@@ -64,10 +57,7 @@
* Should not be called directly, use service instead.
*/
public ECPProviderRegistryImpl() {
- if (INSTANCE != null) {
- throw new IllegalStateException("Manager must not be initialized twice"); //$NON-NLS-1$
- }
- INSTANCE = this;
+
}
/** {@inheritDoc} **/
diff --git a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPRepositoryImpl.java b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPRepositoryImpl.java
index 23a6bdf..bf30a88 100644
--- a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPRepositoryImpl.java
+++ b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPRepositoryImpl.java
@@ -1,283 +1,285 @@
-/*******************************************************************************
- * Copyright (c) 2011-2012 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- * Eugen Neufeld - JavaDoc
- *******************************************************************************/
-
-package org.eclipse.emf.ecp.internal.core;
-
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map.Entry;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.ecp.core.ECPProject;
-import org.eclipse.emf.ecp.core.ECPProvider;
-import org.eclipse.emf.ecp.core.ECPRepository;
-import org.eclipse.emf.ecp.core.util.ECPProperties;
-import org.eclipse.emf.ecp.core.util.ECPUtil;
-import org.eclipse.emf.ecp.internal.core.util.Disposable;
-import org.eclipse.emf.ecp.internal.core.util.PropertiesElement;
-import org.eclipse.emf.ecp.spi.core.InternalProject;
-import org.eclipse.emf.ecp.spi.core.InternalProvider;
-import org.eclipse.emf.ecp.spi.core.InternalProvider.LifecycleEvent;
-import org.eclipse.emf.ecp.spi.core.InternalRepository;
-import org.eclipse.emf.ecp.spi.core.util.DisposeException;
-import org.eclipse.emf.ecp.spi.core.util.ECPDisposable;
-import org.eclipse.emf.ecp.spi.core.util.ECPDisposable.DisposeListener;
-import org.eclipse.net4j.util.ReflectUtil.ExcludeFromDump;
-
-/**
- * This Class describes a repository.
- *
- * @author Eike Stepper
- * @author Eugen Neufeld
- */
-public final class ECPRepositoryImpl extends PropertiesElement implements InternalRepository, DisposeListener {
- @ExcludeFromDump
- private final Disposable disposable = new Disposable(this) {
- @Override
- protected void doDispose() {
- provider = null;
- providerSpecificData = null;
- }
- };
-
- private String label;
-
- private String description;
-
- private InternalProvider provider;
-
- private Object providerSpecificData;
-
- /**
- * Constructor used to create an instance through user input.
- *
- * @param provider the {@link ECPProvider} for this repository
- * @param name the name of this repository
- * @param properties the {@link ECPProperties} of this repository
- */
- public ECPRepositoryImpl(ECPProvider provider, String name, ECPProperties properties) {
- super(name, properties);
- label = name;
- description = "";
-
- if (provider == null) {
- throw new IllegalArgumentException("Provider is null");
- }
-
- this.provider = (InternalProvider) provider;
- this.provider.addDisposeListener(this);
- }
-
- /**
- * Constructor used by the {@link org.eclipse.emf.ecp.core.ECPRepositoryManager ECPRepositoryManager} when loading
- * existing repositories during startup.
- *
- * @param in the {@link ObjectInput} to parse
- * @throws IOException when an error occurs
- */
- public ECPRepositoryImpl(ObjectInput in) throws IOException {
- super(in);
-
- label = in.readUTF();
- description = in.readUTF();
-
- final String providerName = in.readUTF();
- provider = (InternalProvider) ECPUtil.getECPProviderRegistry().getProvider(providerName);
- if (provider == null) {
- throw new IllegalStateException("Provider not found: " + providerName);
- }
-
- provider.addDisposeListener(this);
- }
-
- /** {@inheritDoc} **/
- @Override
- public String getType() {
- return ECPRepository.TYPE;
- }
-
- /** {@inheritDoc} **/
- @Override
- public void disposed(ECPDisposable disposable) throws DisposeException {
- if (disposable == provider) {
- dispose();
- }
- }
-
- /** {@inheritDoc} **/
- @Override
- public boolean isStorable() {
- return true;
- }
-
- @Override
- public void write(ObjectOutput out) throws IOException {
- super.write(out);
- out.writeUTF(label);
- out.writeUTF(description);
- out.writeUTF(provider.getName());
- }
-
- /** {@inheritDoc} **/
- @Override
- public String getLabel() {
- return label;
- }
-
- /** {@inheritDoc} **/
- @Override
- public void setLabel(String label) {
- this.label = label;
- }
-
- /** {@inheritDoc} **/
- @Override
- public String getDescription() {
- return description;
- }
-
- /** {@inheritDoc} **/
- @Override
- public void setDescription(String description) {
- this.description = description;
- }
-
- /** {@inheritDoc} **/
- @Override
- public boolean isDisposed() {
- return disposable.isDisposed();
- }
-
- /**
- * Returns an object which is an instance of the given class associated with this object. Returns <code>null</code>
- * if
- * no such object can be found.
- * <p>
- * This implementation of the method declared by <code>IAdaptable</code> passes the request along to the platform's
- * adapter manager; roughly <code>Platform.getAdapterManager().getAdapter(this, adapter)</code>. Subclasses may
- * override this method (however, if they do so, they should invoke the method on their superclass to ensure that
- * the Platform's adapter manager is consulted).
- * </p>
- *
- * @param adapterType
- * the class to adapt to
- * @return the adapted object or <code>null</code>
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class)
- */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public Object getAdapter(Class adapterType) {
- final InternalProvider provider = getProvider();
- if (!provider.isDisposed()) {
- final Object result = provider.getAdapter(this, adapterType);
- if (result != null) {
- return result;
- }
- }
-
- return Platform.getAdapterManager().getAdapter(this, adapterType);
- }
-
- /** {@inheritDoc} **/
- @Override
- public void dispose() {
- disposable.dispose();
- }
-
- /** {@inheritDoc} **/
- @Override
- public void addDisposeListener(DisposeListener listener) {
- disposable.addDisposeListener(listener);
- }
-
- /** {@inheritDoc} **/
- @Override
- public void removeDisposeListener(DisposeListener listener) {
- disposable.removeDisposeListener(listener);
- }
-
- /** {@inheritDoc} **/
- @Override
- public InternalProvider getProvider() {
- return provider;
- }
-
- /** {@inheritDoc} **/
- @Override
- public Object getProviderSpecificData() {
- return providerSpecificData;
- }
-
- /** {@inheritDoc} **/
- @Override
- public void setProviderSpecificData(Object providerSpecificData) {
- this.providerSpecificData = providerSpecificData;
- }
-
- /** {@inheritDoc} **/
- @Override
- public boolean canDelete() {
- return isStorable();
- }
-
- /** {@inheritDoc} **/
- @Override
- public void delete() {
- if (!canDelete()) {
- throw new UnsupportedOperationException();
- }
-
- try {
- provider.handleLifecycle(this, LifecycleEvent.REMOVE);
- } catch (final Exception ex) {
- Activator.log(ex);
- }
-
- ECPRepositoryManagerImpl.INSTANCE.changeElements(Collections.singleton(getName()), null);
- }
-
- /** {@inheritDoc} **/
- @Override
- public void notifyObjectsChanged(Collection<Object> objects) {
- if (objects != null && objects.size() != 0) {
- ECPRepositoryManagerImpl.INSTANCE.notifyObjectsChanged(this, objects);
- }
- }
-
- /**
- * Return all open projects of that are shared on this repository.
- *
- * @return array of currently open {@link ECPProject ECPProjects} that are shared on this repository
- */
- public InternalProject[] getOpenProjects() {
- final List<InternalProject> result = new ArrayList<InternalProject>();
- for (final ECPProject project : ECPUtil.getECPProjectManager().getProjects()) {
- if (project.isOpen() && project.getRepository().equals(this)) {
- result.add((InternalProject) project);
- }
- }
-
- // TODO Consider to cache the result
- return result.toArray(new InternalProject[result.size()]);
- }
-
- @Override
- protected void propertiesChanged(Collection<Entry<String, String>> oldProperties,
- Collection<Entry<String, String>> newProperties) {
- ECPRepositoryManagerImpl.INSTANCE.storeElement(this);
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ * Eugen Neufeld - JavaDoc
+ *******************************************************************************/
+
+package org.eclipse.emf.ecp.internal.core;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map.Entry;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.ecp.core.ECPProject;
+import org.eclipse.emf.ecp.core.ECPProvider;
+import org.eclipse.emf.ecp.core.ECPRepository;
+import org.eclipse.emf.ecp.core.util.ECPProperties;
+import org.eclipse.emf.ecp.core.util.ECPUtil;
+import org.eclipse.emf.ecp.internal.core.util.Disposable;
+import org.eclipse.emf.ecp.internal.core.util.PropertiesElement;
+import org.eclipse.emf.ecp.spi.core.InternalProject;
+import org.eclipse.emf.ecp.spi.core.InternalProvider;
+import org.eclipse.emf.ecp.spi.core.InternalProvider.LifecycleEvent;
+import org.eclipse.emf.ecp.spi.core.InternalRepository;
+import org.eclipse.emf.ecp.spi.core.util.DisposeException;
+import org.eclipse.emf.ecp.spi.core.util.ECPDisposable;
+import org.eclipse.emf.ecp.spi.core.util.ECPDisposable.DisposeListener;
+import org.eclipse.net4j.util.ReflectUtil.ExcludeFromDump;
+
+/**
+ * This Class describes a repository.
+ *
+ * @author Eike Stepper
+ * @author Eugen Neufeld
+ */
+public final class ECPRepositoryImpl extends PropertiesElement implements InternalRepository, DisposeListener {
+ @ExcludeFromDump
+ private final Disposable disposable = new Disposable(this) {
+ @Override
+ protected void doDispose() {
+ provider = null;
+ providerSpecificData = null;
+ }
+ };
+
+ private String label;
+
+ private String description;
+
+ private InternalProvider provider;
+
+ private Object providerSpecificData;
+
+ /**
+ * Constructor used to create an instance through user input.
+ *
+ * @param provider the {@link ECPProvider} for this repository
+ * @param name the name of this repository
+ * @param properties the {@link ECPProperties} of this repository
+ */
+ public ECPRepositoryImpl(ECPProvider provider, String name, ECPProperties properties) {
+ super(name, properties);
+ label = name;
+ description = "";
+
+ if (provider == null) {
+ throw new IllegalArgumentException("Provider is null");
+ }
+
+ this.provider = (InternalProvider) provider;
+ this.provider.addDisposeListener(this);
+ }
+
+ /**
+ * Constructor used by the {@link org.eclipse.emf.ecp.core.ECPRepositoryManager ECPRepositoryManager} when loading
+ * existing repositories during startup.
+ *
+ * @param in the {@link ObjectInput} to parse
+ * @throws IOException when an error occurs
+ */
+ public ECPRepositoryImpl(ObjectInput in) throws IOException {
+ super(in);
+
+ label = in.readUTF();
+ description = in.readUTF();
+
+ final String providerName = in.readUTF();
+ provider = (InternalProvider) ECPUtil.getECPProviderRegistry().getProvider(providerName);
+ if (provider == null) {
+ throw new IllegalStateException("Provider not found: " + providerName);
+ }
+
+ provider.addDisposeListener(this);
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public String getType() {
+ return ECPRepository.TYPE;
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public void disposed(ECPDisposable disposable) throws DisposeException {
+ if (disposable == provider) {
+ dispose();
+ }
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public boolean isStorable() {
+ return true;
+ }
+
+ @Override
+ public void write(ObjectOutput out) throws IOException {
+ super.write(out);
+ out.writeUTF(label);
+ out.writeUTF(description);
+ out.writeUTF(provider.getName());
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public String getLabel() {
+ return label;
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public void setLabel(String label) {
+ this.label = label;
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public String getDescription() {
+ return description;
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public boolean isDisposed() {
+ return disposable.isDisposed();
+ }
+
+ /**
+ * Returns an object which is an instance of the given class associated with this object. Returns <code>null</code>
+ * if
+ * no such object can be found.
+ * <p>
+ * This implementation of the method declared by <code>IAdaptable</code> passes the request along to the platform's
+ * adapter manager; roughly <code>Platform.getAdapterManager().getAdapter(this, adapter)</code>. Subclasses may
+ * override this method (however, if they do so, they should invoke the method on their superclass to ensure that
+ * the Platform's adapter manager is consulted).
+ * </p>
+ *
+ * @param adapterType
+ * the class to adapt to
+ * @return the adapted object or <code>null</code>
+ * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class)
+ */
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ public Object getAdapter(Class adapterType) {
+ final InternalProvider provider = getProvider();
+ if (!provider.isDisposed()) {
+ final Object result = provider.getAdapter(this, adapterType);
+ if (result != null) {
+ return result;
+ }
+ }
+
+ return Platform.getAdapterManager().getAdapter(this, adapterType);
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public void dispose() {
+ disposable.dispose();
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public void addDisposeListener(DisposeListener listener) {
+ disposable.addDisposeListener(listener);
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public void removeDisposeListener(DisposeListener listener) {
+ disposable.removeDisposeListener(listener);
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public InternalProvider getProvider() {
+ return provider;
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public Object getProviderSpecificData() {
+ return providerSpecificData;
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public void setProviderSpecificData(Object providerSpecificData) {
+ this.providerSpecificData = providerSpecificData;
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public boolean canDelete() {
+ return isStorable();
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public void delete() {
+ if (!canDelete()) {
+ throw new UnsupportedOperationException();
+ }
+ // FIXME https://bugs.eclipse.org/bugs/show_bug.cgi?id=462399
+ cleanup();
+ try {
+ provider.handleLifecycle(this, LifecycleEvent.REMOVE);
+ } catch (final Exception ex) {
+ Activator.log(ex);
+ }
+
+ ((ECPRepositoryManagerImpl) ECPUtil.getECPRepositoryManager()).changeElements(Collections.singleton(getName()),
+ null);
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public void notifyObjectsChanged(Collection<Object> objects) {
+ if (objects != null && objects.size() != 0) {
+ ((ECPRepositoryManagerImpl) ECPUtil.getECPRepositoryManager()).notifyObjectsChanged(this, objects);
+ }
+ }
+
+ /**
+ * Return all open projects of that are shared on this repository.
+ *
+ * @return array of currently open {@link ECPProject ECPProjects} that are shared on this repository
+ */
+ public InternalProject[] getOpenProjects() {
+ final List<InternalProject> result = new ArrayList<InternalProject>();
+ for (final ECPProject project : ECPUtil.getECPProjectManager().getProjects()) {
+ if (project.isOpen() && project.getRepository().equals(this)) {
+ result.add((InternalProject) project);
+ }
+ }
+
+ // TODO Consider to cache the result
+ return result.toArray(new InternalProject[result.size()]);
+ }
+
+ @Override
+ protected void propertiesChanged(Collection<Entry<String, String>> oldProperties,
+ Collection<Entry<String, String>> newProperties) {
+ ((ECPRepositoryManagerImpl) ECPUtil.getECPRepositoryManager()).storeElement(this);
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPRepositoryManagerImpl.java b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPRepositoryManagerImpl.java
index 89825a2..6b31754 100644
--- a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPRepositoryManagerImpl.java
+++ b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/ECPRepositoryManagerImpl.java
@@ -60,13 +60,6 @@
*/
public final class ECPRepositoryManagerImpl extends PropertiesStore<InternalRepository, ECPObserver> implements
ECPRepositoryManager, ECPProvidersChangedObserver {
- /**
- * The Singleton to access the implementation of the Default ECPRepositoryManagerImpl.
- *
- * @deprecated use {@link ECPUtil} instead
- */
- @Deprecated
- public static ECPRepositoryManagerImpl INSTANCE;
/**
* The file extension that is used for dynamic properties of statically declared repositories.
@@ -79,10 +72,7 @@
* Should not be called directly, use service instead.
*/
public ECPRepositoryManagerImpl() {
- if (INSTANCE != null) {
- throw new IllegalStateException("Manager must not be initialized twice");
- }
- INSTANCE = this;
+
final File stateLocation = Activator.getInstance().getStateLocation().toFile();
setFolder(new File(stateLocation, "repositories"));
}
@@ -146,7 +136,7 @@
try {
ECPUtil.getECPObserverBus().notify(ECPRepositoryContentChangedObserver.class)
- .contentChanged(repository, objects);
+ .contentChanged(repository, objects);
} catch (final Exception ex) {
Activator.log(ex);
}
@@ -188,7 +178,7 @@
protected void notifyObservers(Collection<InternalRepository> oldRepositories,
Collection<InternalRepository> newRepositories) throws Exception {
ECPUtil.getECPObserverBus().notify(ECPRepositoriesChangedObserver.class)
- .repositoriesChanged((Collection) oldRepositories, (Collection) newRepositories);
+ .repositoriesChanged((Collection) oldRepositories, (Collection) newRepositories);
}
@Override
@@ -228,7 +218,7 @@
* @author Eike Stepper
*/
private final class RepositoryDescriptor extends ExtensionDescriptor<InternalRepository> implements
- InternalRepository {
+ InternalRepository {
private final Set<String> declaredPropertyKeys;
private final ECPProperties properties = new Properties() {
@Override
@@ -294,7 +284,8 @@
@Override
public void propertiesChanged(ECPProperties properties,
Collection<Entry<String, String>> oldProperties, Collection<Entry<String, String>> newProperties) {
- ECPRepositoryManagerImpl.INSTANCE.storeElement(RepositoryDescriptor.this);
+ ((ECPRepositoryManagerImpl) ECPUtil.getECPRepositoryManager())
+ .storeElement(RepositoryDescriptor.this);
}
});
}
diff --git a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/util/PropertiesElement.java b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/util/PropertiesElement.java
index ccd632d..e521eea 100644
--- a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/util/PropertiesElement.java
+++ b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/util/PropertiesElement.java
@@ -1,90 +1,106 @@
-/********************************************************************************
- * Copyright (c) 2011 Eike Stepper (Berlin, Germany) and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- ********************************************************************************/
-package org.eclipse.emf.ecp.internal.core.util;
-
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.util.Collection;
-import java.util.Map.Entry;
-
-import org.eclipse.emf.ecp.core.util.ECPProperties;
-import org.eclipse.emf.ecp.core.util.ECPPropertiesAware;
-import org.eclipse.emf.ecp.core.util.observer.ECPPropertiesObserver;
-import org.eclipse.emf.ecp.internal.core.util.PropertiesStore.StorableElement;
-
-/**
- * An element holding {@link ECPProperties}.
- *
- * @author Eike Stepper
- */
-public abstract class PropertiesElement extends Element implements StorableElement, ECPPropertiesAware {
- private final ECPProperties properties;
-
- /**
- * Constructor.
- *
- * @param name the name of the elements
- * @param properties the initial properties
- */
- public PropertiesElement(String name, ECPProperties properties) {
- super(name);
- this.properties = properties;
- observeProperties();
- }
-
- /**
- * Create a {@link PropertiesElement} from an {@link ObjectInput}.
- *
- * @param in the {@link ObjectInput}
- * @throws IOException if there a problem while reading the input
- */
- public PropertiesElement(ObjectInput in) throws IOException {
- super(in.readUTF());
- properties = new Properties(in);
- observeProperties();
- }
-
- /** {@inheritDoc} */
- @Override
- public void write(ObjectOutput out) throws IOException {
- out.writeUTF(getName());
- ((Properties) properties).write(out);
- }
-
- /** {@inheritDoc} */
- @Override
- public final ECPProperties getProperties() {
- return properties;
- }
-
- /**
- * Called if the properties of the element change. Can be implemented by subclasses
- *
- * @param oldProperties the old properties
- * @param newProperties the new properties
- */
- protected void propertiesChanged(Collection<Entry<String, String>> oldProperties,
- Collection<Entry<String, String>> newProperties) {
- // Do nothing
- }
-
- private void observeProperties() {
- properties.addObserver(new ECPPropertiesObserver() {
- @Override
- public void propertiesChanged(ECPProperties properties, Collection<Entry<String, String>> oldProperties,
- Collection<Entry<String, String>> newProperties) {
- PropertiesElement.this.propertiesChanged(oldProperties, newProperties);
- }
- });
- }
-}
+/********************************************************************************
+ * Copyright (c) 2011-2015 Eike Stepper (Berlin, Germany) and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ ********************************************************************************/
+package org.eclipse.emf.ecp.internal.core.util;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.Collection;
+import java.util.Map.Entry;
+
+import org.eclipse.emf.ecp.core.util.ECPProperties;
+import org.eclipse.emf.ecp.core.util.ECPPropertiesAware;
+import org.eclipse.emf.ecp.core.util.observer.ECPPropertiesObserver;
+import org.eclipse.emf.ecp.internal.core.util.PropertiesStore.StorableElement;
+
+/**
+ * An element holding {@link ECPProperties}.
+ *
+ * @author Eike Stepper
+ */
+public abstract class PropertiesElement extends Element implements StorableElement, ECPPropertiesAware {
+ private final ECPProperties properties;
+ private ECPPropertiesObserver observer;
+
+ /**
+ * Constructor.
+ *
+ * @param name the name of the elements
+ * @param properties the initial properties
+ */
+ public PropertiesElement(String name, ECPProperties properties) {
+ super(name);
+ this.properties = properties;
+ observeProperties();
+ }
+
+ /**
+ * Create a {@link PropertiesElement} from an {@link ObjectInput}.
+ *
+ * @param in the {@link ObjectInput}
+ * @throws IOException if there a problem while reading the input
+ */
+ public PropertiesElement(ObjectInput in) throws IOException {
+ super(in.readUTF());
+ properties = new Properties(in);
+ observeProperties();
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void write(ObjectOutput out) throws IOException {
+ out.writeUTF(getName());
+ ((Properties) properties).write(out);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public final ECPProperties getProperties() {
+ return properties;
+ }
+
+ /**
+ * Called if the properties of the element change. Can be implemented by subclasses
+ *
+ * @param oldProperties the old properties
+ * @param newProperties the new properties
+ */
+ protected void propertiesChanged(Collection<Entry<String, String>> oldProperties,
+ Collection<Entry<String, String>> newProperties) {
+ // Do nothing
+ }
+
+ private void observeProperties() {
+ if (observer != null) {
+ cleanup();
+ }
+ observer = new ECPPropertiesObserver() {
+ @Override
+ public void propertiesChanged(ECPProperties properties, Collection<Entry<String, String>> oldProperties,
+ Collection<Entry<String, String>> newProperties) {
+ PropertiesElement.this.propertiesChanged(oldProperties, newProperties);
+ }
+ };
+ properties.addObserver(observer);
+ }
+
+ /**
+ * Cleans up after the PropertiesElement. This call unregisters the {@link ECPPropertiesObserver} from the
+ * {@link ECPProperties}.
+ */
+ protected void cleanup() {
+ if (properties == null || observer == null) {
+ return;
+ }
+ properties.removeObserver(observer);
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/util/observer/ECPObserverBusImpl.java b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/util/observer/ECPObserverBusImpl.java
index 597f545..59dd0ca 100644
--- a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/util/observer/ECPObserverBusImpl.java
+++ b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/internal/core/util/observer/ECPObserverBusImpl.java
@@ -88,22 +88,6 @@
*/
public class ECPObserverBusImpl implements ECPObserverBus {
- /**
- * Initializes the singleton instance statically.
- */
- private static class SingletonHolder {
- public static final ECPObserverBusImpl INSTANCE = new ECPObserverBusImpl();
- }
-
- /**
- * Static ObserverBus singleton. Use of singleton is optional, for that reason the constructor is public.
- *
- * @return Static instance of the observerbus
- */
- public static ECPObserverBusImpl getInstance() {
- return SingletonHolder.INSTANCE;
- }
-
private final HashMap<Class<? extends ECPObserver>, List<ECPObserver>> observerMap;
/**
diff --git a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/spi/core/DefaultProvider.java b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/spi/core/DefaultProvider.java
index 76ea6f7..91cbb66 100644
--- a/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/spi/core/DefaultProvider.java
+++ b/bundles/org.eclipse.emf.ecp.core/src/org/eclipse/emf/ecp/spi/core/DefaultProvider.java
@@ -21,6 +21,8 @@
import org.eclipse.emf.common.command.BasicCommandStack;
import org.eclipse.emf.common.command.CommandStack;
import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
@@ -363,7 +365,12 @@
*/
@Override
public Iterator<EObject> getLinkElements(InternalProject project, EObject modelElement, EReference eReference) {
- return ItemPropertyDescriptor.getReachableObjectsOfType(modelElement, eReference.getEType()).iterator();
+ final EClass elementClass = modelElement.eClass();
+ EClassifier type = EcoreUtil.getReifiedType(elementClass, eReference.getEGenericType()).getEClassifier();
+ if (type == null) {
+ type = eReference.getEType();
+ }
+ return ItemPropertyDescriptor.getReachableObjectsOfType(modelElement, type).iterator();
}
/**
diff --git a/bundles/org.eclipse.emf.ecp.diagnostician/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diagnostician/META-INF/MANIFEST.MF
index 01c9f25..48fcd00 100644
--- a/bundles/org.eclipse.emf.ecp.diagnostician/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diagnostician/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Diagnostician
Bundle-SymbolicName: org.eclipse.emf.ecp.validation.diagnostician;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)"
-Export-Package: org.eclipse.emf.ecp.diagnostician;version="1.5.1";x-fr
+Export-Package: org.eclipse.emf.ecp.diagnostician;version="1.6.0";x-fr
iends:="org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.v
alidation.test",org.eclipse.emf.ecp.internal.diagnostician;version="1
- .5.1";x-internal:=true
+ .6.0";x-internal:=true
Bundle-ActivationPolicy: lazy
Bundle-Activator: org.eclipse.emf.ecp.internal.diagnostician.Activator
diff --git a/bundles/org.eclipse.emf.ecp.diagnostician/pom.xml b/bundles/org.eclipse.emf.ecp.diagnostician/pom.xml
index 406b26a..741a05c 100644
--- a/bundles/org.eclipse.emf.ecp.diagnostician/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diagnostician/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.validation.diagnostician</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.context/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.diffmerge.context/.settings/.api_filters
index 9bc3e47..0e58a20 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.context/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.context/.settings/.api_filters
@@ -1,10 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.diffmerge.context" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.context"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/diffmerge/spi/context/DefaultMergeUtil.java" type="org.eclipse.emf.ecp.diffmerge.spi.context.DefaultMergeUtil">
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.diffmerge.spi.context.DefaultMergeUtil"/>
+ <message_argument value="copyValues(VControl, VControl)"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.context/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.context/META-INF/MANIFEST.MF
index 71ce4cd..03e0145 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.context/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.context/META-INF/MANIFEST.MF
@@ -2,15 +2,20 @@
Bundle-ManifestVersion: 2
Bundle-Name: Diff Merge Context
Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.context
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.ecp.diffmerge.internal.context;version
- ="1.5.1";x-internal:=true,org.eclipse.emf.ecp.diffmerge.spi.context;v
- ersion="1.5.1"
+ ="1.6.0";x-internal:=true,org.eclipse.emf.ecp.diffmerge.spi.context;v
+ ersion="1.6.0"
Bundle-Vendor: Eclipse Modeling Project
+Bundle-Activator: org.eclipse.emf.ecp.diffmerge.internal.context.Activator
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0"
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.context/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.context/pom.xml
index eb062d6..efb1f73 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.context/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.context/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.diffmerge.context</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/internal/context/Activator.java b/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/internal/context/Activator.java
new file mode 100644
index 0000000..8b79b12
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/internal/context/Activator.java
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.diffmerge.internal.context;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * Activator for this plugin.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class Activator extends Plugin {
+ /**
+ * The constant holding the id of this plugin.
+ */
+ public static final String PLUGIN_ID = "org.eclipse.emf.ecp.diffmerge.context"; //$NON-NLS-1$
+
+ private static Activator plugin;
+ private ServiceReference<ReportService> reportServiceReference;
+
+ // BEGIN SUPRESS CATCH EXCEPTION
+ @Override
+ public void start(BundleContext bundleContext) throws Exception {
+ plugin = this;
+ super.start(bundleContext);
+ }
+
+ @Override
+ public void stop(BundleContext bundleContext) throws Exception {
+ plugin = null;
+ super.stop(bundleContext);
+ }
+
+ // END SUPRESS CATCH EXCEPTION
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/internal/context/CompareControls.java b/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/internal/context/CompareControls.java
index 8c131ae..b5e01eb 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/internal/context/CompareControls.java
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/internal/context/CompareControls.java
@@ -13,6 +13,7 @@
import java.util.Iterator;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecp.view.spi.model.VControl;
@@ -31,24 +32,30 @@
/**
* Compares to {@link VControl VControls}. This is just a convenience method which delegates to
- * {@link #areEqual(VDomainModelReference, VDomainModelReference)}.
+ * {@link #areEqual(VDomainModelReference,EObject, VDomainModelReference,EObject)}.
*
* @param left the first VControl to compare
+ * @param leftDomainModel The domain model of the left VControl
* @param right the second VControl to compare
+ * @param rightDomainModel The domain model of the right VControl
* @return true if all values of the {@link VDomainModelReference VDomainModelReferences} are equal
*/
- public static boolean areEqual(VControl left, VControl right) {
- return areEqual(left.getDomainModelReference(), right.getDomainModelReference());
+ public static boolean areEqual(VControl left, EObject leftDomainModel, VControl right, EObject rightDomainModel) {
+ return areEqual(left.getDomainModelReference(), leftDomainModel, right.getDomainModelReference(),
+ rightDomainModel);
}
/**
* Compares to {@link VDomainModelReference VDomainModelReferences} by comparing all values.
*
* @param left the first {@link VDomainModelReference}
+ * @param leftDomainModel The domain model of the left VControl
* @param right the second {@link VDomainModelReference}
+ * @param rightDomainModel The domain model of the right VControl
* @return true if all values of the {@link VDomainModelReference VDomainModelReferences} are equal
*/
- public static boolean areEqual(VDomainModelReference left, VDomainModelReference right) {
+ public static boolean areEqual(VDomainModelReference left, EObject leftDomainModel, VDomainModelReference right,
+ EObject rightDomainModel) {
final Iterator<Setting> leftSettings = left.getIterator();
final Iterator<Setting> rightSettings = right.getIterator();
boolean leftHasNext = leftSettings.hasNext();
@@ -82,5 +89,45 @@
}
// will be false if one iterator still has elements
return !leftHasNext && !rightHasNext;
+
+ // TODO: New code does not work so far for table domain model references:
+ // IObservableValue leftObservableValue;
+ // IObservableValue rightObservableValue;
+ // try {
+ // leftObservableValue = Activator.getDefault().getEMFFormsDatabinding()
+ // .getObservableValue(left, leftDomainModel);
+ // rightObservableValue = Activator.getDefault().getEMFFormsDatabinding()
+ // .getObservableValue(right, rightDomainModel);
+ // } catch (final DatabindingFailedException ex) {
+ // Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ // return false;
+ // }
+ // final EObject leftEObject = (EObject) ((IObserving) leftObservableValue).getObserved();
+ // final EStructuralFeature leftStructuralFeature = (EStructuralFeature) leftObservableValue.getValueType();
+ // final EObject rightEObject = (EObject) ((IObserving) rightObservableValue).getObserved();
+ // final EStructuralFeature rightStructuralFeature = (EStructuralFeature) rightObservableValue.getValueType();
+ //
+ // final Object leftValue = leftEObject.eGet(leftStructuralFeature, true);
+ // final Object rightValue = rightEObject.eGet(rightStructuralFeature, true);
+ //
+ // if (leftValue == null && rightValue == null) {
+ // return true;
+ // }
+ // // TODO handle EReference (single and many)
+ // if (EcorePackage.eINSTANCE.getEReference().isInstance(leftStructuralFeature)
+ // || EcorePackage.eINSTANCE.getEReference().isInstance(rightStructuralFeature)) {
+ // return true;
+ // }
+ //
+ // if (leftValue == null && rightValue != null) {
+ // return false;
+ // }
+ // if (leftValue != null && rightValue == null) {
+ // return false;
+ // }
+ // if (leftValue.equals(rightValue)) {
+ // return true;
+ // }
+ // return false;
}
}
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/internal/context/DiffMergeModelContextImpl.java b/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/internal/context/DiffMergeModelContextImpl.java
index d8fb664..dc3fd3d 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/internal/context/DiffMergeModelContextImpl.java
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/internal/context/DiffMergeModelContextImpl.java
@@ -12,16 +12,19 @@
package org.eclipse.emf.ecp.diffmerge.internal.context;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.common.util.TreeIterator;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecp.diffmerge.spi.context.ControlPair;
import org.eclipse.emf.ecp.diffmerge.spi.context.DiffMergeModelContext;
@@ -33,8 +36,9 @@
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.util.ViewModelUtil;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* Implementation of the DiffMergeModelContext based on the {@link ViewModelContextImpl}.
@@ -126,22 +130,27 @@
private void readAlreadyMerged(Set<VDomainModelReference> mergedReferences) {
for (final VDomainModelReference domainModelReference : mergedReferences) {
- domainModelReference.init(getDomainModel());
- final Iterator<Setting> iterator = domainModelReference.getIterator();
- while (iterator.hasNext()) {
- final Setting setting = iterator.next();
- Set<VControl> controls = getControlsFor(setting);
- controls = getValidMergeControls(controls);
- if (controls == null) {
- continue;
- }
- for (final VControl vControl : controls) {
- markControl(vControl, true);
- }
- // break for table not for custom
- if (VFeaturePathDomainModelReference.class.isInstance(domainModelReference)) {
- break;
- }
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(domainModelReference, getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ continue;
+ }
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final InternalEObject internalEObject = (InternalEObject) ((IObserving) observableValue)
+ .getObserved();
+ final Setting setting = internalEObject.eSetting(structuralFeature);
+ observableValue.dispose();
+
+ Set<VControl> controls = getControlsFor(setting);
+ controls = getValidMergeControls(controls);
+ if (controls == null) {
+ continue;
+ }
+ for (final VControl vControl : controls) {
+ markControl(vControl, true);
}
}
}
@@ -161,6 +170,7 @@
final VElement viewModelLeft = EcoreUtil.copy(getViewModel());
final VElement viewModelRight = EcoreUtil.copy(getViewModel());
+ // TODO: remove when compare works for table references without iterators and settings
ViewModelUtil.resolveDomainReferences(viewModelLeft, getLeftModel());
ViewModelUtil.resolveDomainReferences(viewModelRight, getRightModel());
@@ -176,7 +186,8 @@
final EObject leftEObject = leftViewModel.next();
final EObject rightEObject = rightViewModel.next();
if (VControl.class.isInstance(mainEObject)) {
- if (hasDiff((VControl) leftEObject, (VControl) rightEObject, (VControl) mainEObject)) {
+ if (hasDiff((VControl) leftEObject, getLeftModel(), (VControl) rightEObject, getRightModel(),
+ (VControl) mainEObject)) {
final VControl control = (VControl) mainEObject;
controlDiffMap.put(control, new ControlPair((VControl) leftEObject,
(VControl) rightEObject));
@@ -245,12 +256,15 @@
* Checks whether the controls have a diff.
*
* @param leftControl the left control to check
+ * @param leftDomainModel The domain model of the left control
* @param rightControl the right control to check
+ * @param rightDomainModel The domain model of the right control
* @param targetControl the target control to check
* @return true if there is a diff, false otherwise
*/
- protected boolean hasDiff(VControl leftControl, VControl rightControl, VControl targetControl) {
- return !CompareControls.areEqual(leftControl, rightControl);
+ protected boolean hasDiff(VControl leftControl, EObject leftDomainModel, VControl rightControl,
+ EObject rightDomainModel, VControl targetControl) {
+ return !CompareControls.areEqual(leftControl, leftDomainModel, rightControl, rightDomainModel);
}
/** {@inheritDoc} **/
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/spi/context/DefaultMergeUtil.java b/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/spi/context/DefaultMergeUtil.java
index 03d822a..618c1e9 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/spi/context/DefaultMergeUtil.java
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.context/src/org/eclipse/emf/ecp/diffmerge/spi/context/DefaultMergeUtil.java
@@ -12,19 +12,23 @@
package org.eclipse.emf.ecp.diffmerge.spi.context;
import java.util.Collection;
-import java.util.Iterator;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.diffmerge.internal.context.Activator;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.edit.command.AddCommand;
import org.eclipse.emf.edit.command.RemoveCommand;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* This util class provides a method, which allows to copy values from one {@link VControl} to another generically.
@@ -42,63 +46,68 @@
* Copies the values from one {@link VControl} to another.
*
* @param from the {@link VControl} holding the values
+ * @param fromDomainModel The domain model belonging to the 'from control'.
* @param to the {@link VControl} which values should be updated
+ * @param toDomainModel The domain model belonging to the 'to control'.
+ * @since 1.6
*/
@SuppressWarnings("unchecked")
- public static void copyValues(VControl from, VControl to) {
- final Iterator<Setting> fromIterator = from.getDomainModelReference().getIterator();
- Iterator<Setting> toIterator = to.getDomainModelReference().getIterator();
- int stepsChecked = 0;
- while (fromIterator.hasNext()) {
- final Setting toSetting = toIterator.next();
- final Setting fromSetting = fromIterator.next();
- stepsChecked++;
- // break because of derived tables
- // if (toSetting.getEStructuralFeature().isDerived()) {
- // break;
- // }
- if (!toSetting.getEStructuralFeature().isChangeable()) {
- continue;
- }
- final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(toSetting
- .getEObject());
+ public static void copyValues(VControl from, EObject fromDomainModel, VControl to, EObject toDomainModel) {
+ final IObservableValue fromObservableValue;
+ final IObservableValue toObservableValue;
+ try {
+ fromObservableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(from.getDomainModelReference(), fromDomainModel);
+ toObservableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(to.getDomainModelReference(), toDomainModel);
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ final EObject fromEObject = (EObject) ((IObserving) fromObservableValue).getObserved();
+ final EStructuralFeature fromStructuralFeature = (EStructuralFeature) fromObservableValue.getValueType();
+ final EObject toEObject = (EObject) ((IObserving) toObservableValue).getObserved();
+ final EStructuralFeature toStructuralFeature = (EStructuralFeature) toObservableValue.getValueType();
- if (toSetting.getEStructuralFeature().isMany()) {
+ fromObservableValue.dispose();
+ toObservableValue.dispose();
+
+ if (!toStructuralFeature.isChangeable()) {
+ return;
+ }
+
+ final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(toEObject);
+
+ if (toStructuralFeature.isMany()) {
+ editingDomain.getCommandStack().execute(
+ RemoveCommand.create(editingDomain, toEObject, toStructuralFeature,
+ (Collection<?>) toEObject.eGet(toStructuralFeature, true)));
+ }
+ if (EAttribute.class.isInstance(toStructuralFeature)) {
+
+ if (toStructuralFeature.isMany()) {
editingDomain.getCommandStack().execute(
- RemoveCommand.create(editingDomain, toSetting.getEObject(), toSetting.getEStructuralFeature(),
- (Collection<?>) toSetting.get(true)));
+ AddCommand.create(editingDomain, toEObject, toStructuralFeature,
+ (Collection<?>) fromEObject.eGet(fromStructuralFeature, true)));
}
- if (EAttribute.class.isInstance(toSetting.getEStructuralFeature())) {
-
- if (toSetting.getEStructuralFeature().isMany()) {
- editingDomain.getCommandStack().execute(
- AddCommand.create(editingDomain, toSetting.getEObject(), toSetting.getEStructuralFeature(),
- (Collection<?>) fromSetting.get(true)));
- }
- else {
- editingDomain.getCommandStack().execute(
- SetCommand.create(editingDomain, toSetting.getEObject(), toSetting.getEStructuralFeature(),
- fromSetting.get(true)));
- }
- }
- if (EReference.class.isInstance(toSetting.getEStructuralFeature())) {
- if (toSetting.getEStructuralFeature().isMany()) {
- for (final EObject eObject : (Collection<EObject>) fromSetting.get(true)) {
- editingDomain.getCommandStack().execute(
- AddCommand.create(editingDomain, toSetting.getEObject(), toSetting.getEStructuralFeature(),
- EcoreUtil.copy(eObject)));
- }
- toIterator = to.getDomainModelReference().getIterator();
- for (int i = 0; i < stepsChecked; i++) {
- toIterator.next();
- }
- break;
- }
+ else {
editingDomain.getCommandStack().execute(
- SetCommand.create(editingDomain, toSetting.getEObject(), toSetting.getEStructuralFeature(),
- EcoreUtil.copy((EObject) fromSetting.get(true))));
-
+ SetCommand.create(editingDomain, toEObject, toStructuralFeature,
+ fromEObject.eGet(fromStructuralFeature, true)));
}
}
+ if (EReference.class.isInstance(toStructuralFeature)) {
+ if (toStructuralFeature.isMany()) {
+ for (final EObject eObject : (Collection<EObject>) fromEObject.eGet(fromStructuralFeature, true)) {
+ editingDomain.getCommandStack().execute(
+ AddCommand.create(editingDomain, toEObject, toStructuralFeature, EcoreUtil.copy(eObject)));
+ }
+ return;
+ }
+ editingDomain.getCommandStack().execute(
+ SetCommand.create(editingDomain, toEObject, toStructuralFeature,
+ EcoreUtil.copy((EObject) fromEObject.eGet(fromStructuralFeature, true))));
+
+ }
}
}
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/.gitignore b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/.settings/.api_filters
index 110ab94..ff4c0ca 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.diffmerge.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model.edit"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.diffmerge.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.diffmerge.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.diffmerge.model.edit_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/META-INF/MANIFEST.MF
index 7726f24..8a58742 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.spi.diffmerge.model.provider.DiffmergeEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.spi.diffmerge.model.provider;versi
- on="1.5.1"
+ on="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/pom.xml
index a4457b3..fab3356 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.diffmerge.model.edit</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model/.gitignore b/bundles/org.eclipse.emf.ecp.diffmerge.model/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.model/META-INF/MANIFEST.MF
index 39bc4f9..60f5b27 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.spi.diffmerge.model;version="1.5.1
- ",org.eclipse.emf.ecp.spi.diffmerge.model.impl;version="1.5.1",org.ec
- lipse.emf.ecp.spi.diffmerge.model.util;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.spi.diffmerge.model;version="1.6.0
+ ",org.eclipse.emf.ecp.spi.diffmerge.model.impl;version="1.6.0",org.ec
+ lipse.emf.ecp.spi.diffmerge.model.util;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.model/pom.xml
index 33d0e18..1d36f6b 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.diffmerge.model</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/.gitignore b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/META-INF/MANIFEST.MF
index ef5c656..1425e2c 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: DiffMerge Renderer
Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.renderer.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
@@ -15,8 +15,13 @@
org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.table.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.5.0,2.0.0)"
-Import-Package: org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.emfforms.spi.swt.core;version="1.6.0",
+ org.eclipse.jface.layout;version="0.0.0",
org.eclipse.jface.resource;version="0.0.0",
org.eclipse.swt;version="0.0.0",
org.eclipse.swt.events;version="0.0.0",
@@ -25,5 +30,5 @@
org.eclipse.swt.widgets;version="0.0.0"
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.ecp.diffmerge.internal.renderer.swt;ve
- rsion="1.5.1";x-internal:=true
+ rsion="1.6.0";x-internal:=true
Bundle-Activator: org.eclipse.emf.ecp.diffmerge.internal.renderer.swt.Activator
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/pom.xml
index 3fd3483..a15ab47 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.diffmerge.renderer.swt</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/Activator.java b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/Activator.java
index abeddb3..18812eb 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/Activator.java
@@ -13,6 +13,9 @@
import org.eclipse.core.runtime.Plugin;
import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.swt.graphics.Image;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
@@ -27,6 +30,7 @@
private static Activator instance;
private ServiceReference<ImageRegistryService> imageRegistryServiceReference;
+ private ServiceReference<ReportService> reportServiceReference;
// BEGIN SUPRESS CATCH EXCEPTION
@Override
@@ -65,4 +69,58 @@
}
return getBundle().getBundleContext().getService(imageRegistryServiceReference);
}
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getInstance() {
+ return instance;
+ }
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = instance.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return instance.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = instance.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = instance.getBundle().getBundleContext()
+ .getService(serviceReference);
+ instance.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+
+ /**
+ * Returns the {@link EMFFormsLabelProvider} service.
+ *
+ * @return The {@link EMFFormsLabelProvider}
+ */
+ public EMFFormsLabelProvider getEMFFormsLabelProvider() {
+ final ServiceReference<EMFFormsLabelProvider> serviceReference = instance.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsLabelProvider.class);
+
+ final EMFFormsLabelProvider service = instance.getBundle().getBundleContext()
+ .getService(serviceReference);
+ instance.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/SWTDiffMergeAddition.java b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/SWTDiffMergeAddition.java
index 7265de6..7ae527b 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/SWTDiffMergeAddition.java
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/SWTDiffMergeAddition.java
@@ -12,25 +12,23 @@
package org.eclipse.emf.ecp.diffmerge.internal.renderer.swt;
import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.diffmerge.spi.context.DiffMergeModelContext;
import org.eclipse.emf.ecp.diffmerge.swt.DiffDialogHelper;
import org.eclipse.emf.ecp.spi.diffmerge.model.VDiffAttachment;
import org.eclipse.emf.ecp.spi.diffmerge.model.VDiffmergePackage;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VAttachment;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractAdditionalSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
-import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
@@ -49,9 +47,18 @@
public class SWTDiffMergeAddition extends AbstractAdditionalSWTRenderer<VControl> {
/**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public SWTDiffMergeAddition(VControl vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
+ /**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -64,7 +71,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@Override
@@ -143,30 +150,16 @@
private void openDiffDialog(DiffMergeModelContext diffModelContext, VControl vControl) {
- final Setting setting = vControl.getDomainModelReference().getIterator().next();
- if (setting == null) {
- return;
+ String label;
+ try {
+ label = (String) Activator.getInstance().getEMFFormsLabelProvider()
+ .getDisplayName(vControl.getDomainModelReference(), diffModelContext.getDomainModel()).getValue();
+ } catch (final NoLabelFoundException ex) {
+ Activator.getInstance().getReportService().report(new AbstractReport(ex));
+ label = ex.getMessage();
}
- final IItemPropertyDescriptor itemPropertyDescriptor = getItemPropertyDescriptor(setting);
- final String label = itemPropertyDescriptor.getDisplayName(setting.getEObject());
DiffDialogHelper.showDialog(diffModelContext, vControl, label);
-
- }
-
- private IItemPropertyDescriptor getItemPropertyDescriptor(Setting setting) {
- final ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
- new ReflectiveItemProviderAdapterFactory(),
- new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
- final AdapterFactoryItemDelegator adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(
- composedAdapterFactory);
-
- final IItemPropertyDescriptor descriptor = adapterFactoryItemDelegator.getPropertyDescriptor(
- setting.getEObject(),
- setting.getEStructuralFeature());
- composedAdapterFactory.dispose();
- return descriptor;
-
}
}
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/SWTDiffMergeAdditionTester.java b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/SWTDiffMergeAdditionTester.java
index 3ed9d7c..068e494 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/SWTDiffMergeAdditionTester.java
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/SWTDiffMergeAdditionTester.java
@@ -11,11 +11,15 @@
******************************************************************************/
package org.eclipse.emf.ecp.diffmerge.internal.renderer.swt;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.diffmerge.spi.context.DiffMergeModelContext;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.swt.ECPAdditionalRendererTester;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* The tester for {@link SWTDiffMergeAddition}.
@@ -39,10 +43,20 @@
if (!VControl.class.isInstance(vElement)) {
return false;
}
- if (!((VControl) vElement).getDomainModelReference().getEStructuralFeatureIterator().next().isChangeable()) {
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getInstance().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getInstance().getReportService().report(new DatabindingFailedReport(ex));
return false;
}
- if (!((DiffMergeModelContext) viewModelContext).hasDiff((VControl) vElement)) {
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
+ if (!feature.isChangeable()) {
+ return false;
+ }
+ if (!((DiffMergeModelContext) viewModelContext).hasDiff(control)) {
return false;
}
return true;
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/.gitignore b/bundles/org.eclipse.emf.ecp.diffmerge.swt/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.swt/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.swt/META-INF/MANIFEST.MF
index f78ad63..3c8ed86 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.swt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: DiffMerge UI SWT
Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.swt
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
@@ -26,7 +26,9 @@
org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.5.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.diffmerge.swt;version="1.5.1";x-fr
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.diffmerge.swt;version="1.6.0";x-fr
iends:="org.eclipse.emf.ecp.diffmerge.renderer.swt"
Bundle-Activator: org.eclipse.emf.ecp.diffmerge.swt.Activator
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/messages.properties b/bundles/org.eclipse.emf.ecp.diffmerge.swt/OSGI-INF/l10n/bundle.properties
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/messages.properties
rename to bundles/org.eclipse.emf.ecp.diffmerge.swt/OSGI-INF/l10n/bundle.properties
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/build.properties b/bundles/org.eclipse.emf.ecp.diffmerge.swt/build.properties
index 22c9bb0..4b83e0b 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.swt/build.properties
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.swt/build.properties
@@ -3,5 +3,6 @@
bin.includes = META-INF/,\
.,\
icons/,\
- build.properties
+ build.properties,\
+ OSGI-INF/
src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.swt/pom.xml
index 66b0081..dfb0cea 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.swt/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.diffmerge.swt</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/Activator.java b/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/Activator.java
index 2ee472d..bf61762 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/Activator.java
@@ -13,6 +13,7 @@
import org.eclipse.core.runtime.Plugin;
import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.swt.graphics.Image;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
@@ -43,6 +44,15 @@
// END SUPRESS CATCH EXCEPTION
/**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getInstance() {
+ return instance;
+ }
+
+ /**
* Finds and returns an image for the provided path.
*
* @param path the path to get the image from
@@ -66,4 +76,20 @@
}
return getBundle().getBundleContext().getService(imageRegistryServiceReference);
}
+
+ /**
+ * Returns the {@link EMFFormsLabelProvider} service.
+ *
+ * @return The {@link EMFFormsLabelProvider}
+ */
+ public EMFFormsLabelProvider getEMFFormsLabelProvider() {
+ final ServiceReference<EMFFormsLabelProvider> serviceReference = instance.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsLabelProvider.class);
+
+ final EMFFormsLabelProvider service = instance.getBundle().getBundleContext()
+ .getService(serviceReference);
+ instance.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/DiffDialog.java b/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/DiffDialog.java
index 0b137b5..1101c17 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/DiffDialog.java
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/DiffDialog.java
@@ -36,6 +36,7 @@
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.swt.SWT;
@@ -71,6 +72,7 @@
private final DiffMergeModelContext viewModelContext;
private VControl mergeControl;
+ private EObject mergeDomainObject;
private boolean diffConfirmed = true;
/**
@@ -144,7 +146,8 @@
.applyTo(diffConfirmedComposite);
diffConfirmedComposite.setLayout(new FillLayout(SWT.HORIZONTAL));
final Button buttonDiffConfirmed = new Button(diffConfirmedComposite, SWT.CHECK);
- buttonDiffConfirmed.setText(Messages.DiffDialog_DiffConfirmed);
+ buttonDiffConfirmed.setText(LocalizationServiceHelper.getString(getClass(),
+ MessageKeys.DiffDialog_DiffConfirmed));
buttonDiffConfirmed.setSelection(diffConfirmed);
buttonDiffConfirmed.addSelectionListener(new SelectionAdapter() {
@@ -172,7 +175,7 @@
.applyTo(nextPreviousComposite);
final Button previous = new Button(nextPreviousComposite, SWT.PUSH);
- previous.setText(Messages.DiffDialog_Previous);
+ previous.setText(LocalizationServiceHelper.getString(getClass(), MessageKeys.DiffDialog_Previous));
previous.setImage(Activator.getImage("icons/arrow_left.png")); //$NON-NLS-1$
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(false, false).applyTo(previous);
previous.addSelectionListener(new SelectionAdapter() {
@@ -191,7 +194,7 @@
});
final Button next = new Button(nextPreviousComposite, SWT.PUSH);
- next.setText(Messages.DiffDialog_Next);
+ next.setText(LocalizationServiceHelper.getString(getClass(), MessageKeys.DiffDialog_Next));
next.setImage(Activator.getImage("icons/arrow_right.png")); //$NON-NLS-1$
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(false, false).applyTo(next);
next.addSelectionListener(new SelectionAdapter() {
@@ -220,7 +223,7 @@
{
final Button bConfirm = new Button(buttonRowComposite, SWT.PUSH);
- bConfirm.setText(Messages.DiffDialog_Confirm);
+ bConfirm.setText(LocalizationServiceHelper.getString(getClass(), MessageKeys.DiffDialog_Confirm));
bConfirm.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_compare_dialog_merge_confirm"); //$NON-NLS-1$
GridDataFactory.fillDefaults().align(SWT.END, SWT.BEGINNING).grab(true, false).applyTo(bConfirm);
bConfirm.addSelectionListener(new SelectionAdapter() {
@@ -251,7 +254,7 @@
private Control createTarget(final Composite parent) {
final Group targetGroup = new Group(parent, SWT.NONE);
targetGroup.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_compare_dialog_target"); //$NON-NLS-1$
- targetGroup.setText(Messages.DiffDialog_targetObject);
+ targetGroup.setText(LocalizationServiceHelper.getString(getClass(), MessageKeys.DiffDialog_targetObject));
GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).applyTo(targetGroup);
// final Label mainObject = new Label(targetGroup, SWT.NONE);
@@ -266,11 +269,11 @@
new ReflectiveItemProviderAdapterFactory(),
new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) }),
new BasicCommandStack(), resourceSet);
- final EObject domainObject = EcoreUtil.copy(viewModelContext.getDomainModel());
+ mergeDomainObject = EcoreUtil.copy(viewModelContext.getDomainModel());
resourceSet.eAdapters().add(new AdapterFactoryEditingDomain.EditingDomainProvider(domain));
final Resource resource = resourceSet.createResource(URI.createURI("VIRTUAL_URI_TEMP")); //$NON-NLS-1$
- resource.getContents().add(domainObject);
- createControl(targetGroup, mergeControl, domainObject, false);
+ resource.getContents().add(mergeDomainObject);
+ createControl(targetGroup, mergeControl, mergeDomainObject, false);
return targetGroup;
}
@@ -283,19 +286,20 @@
*/
private Control createDiff(final Composite parent) {
final Group group = new Group(parent, SWT.NONE);
- group.setText(Messages.DiffDialog_DifferenceGroup);
+ group.setText(LocalizationServiceHelper.getString(getClass(), MessageKeys.DiffDialog_DifferenceGroup));
group.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_compare_dialog_diff"); //$NON-NLS-1$
GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).applyTo(group);
final Label leftObject = new Label(group, SWT.NONE);
- leftObject.setText(Messages.DiffDialog_leftObject + ":"); //$NON-NLS-1$
+ leftObject.setText(LocalizationServiceHelper.getString(getClass(), MessageKeys.DiffDialog_leftObject + ":")); //$NON-NLS-1$
leftObject.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_compare_dialog_diff_left"); //$NON-NLS-1$
GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.FILL).grab(false, false).span(2, 1).applyTo(leftObject);
createControl(group, EcoreUtil.copy(left), EcoreUtil.copy(viewModelContext.getLeftModel()), true);
final Button bReplaceWithLeft = new Button(group, SWT.PUSH);
- bReplaceWithLeft.setText(Messages.DiffDialog_replaceWithLeft);
+ bReplaceWithLeft.setText(LocalizationServiceHelper
+ .getString(getClass(), MessageKeys.DiffDialog_replaceWithLeft));
bReplaceWithLeft.setImage(Activator.getImage("icons/arrow_down.png")); //$NON-NLS-1$
bReplaceWithLeft.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_compare_dialog_diff_leftReplace"); //$NON-NLS-1$
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(false, false).applyTo(bReplaceWithLeft);
@@ -309,13 +313,13 @@
@Override
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
- replaceMainWith(left);
+ replaceMainWith(left, viewModelContext.getLeftModel());
}
});
final Label rightObject = new Label(group, SWT.NONE);
- rightObject.setText(Messages.DiffDialog_rightObject + ":"); //$NON-NLS-1$
+ rightObject.setText(LocalizationServiceHelper.getString(getClass(), MessageKeys.DiffDialog_rightObject + ":")); //$NON-NLS-1$
rightObject.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_compare_dialog_diff_right"); //$NON-NLS-1$
GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.FILL).grab(false, false).span(2, 1)
.applyTo(rightObject);
@@ -323,7 +327,8 @@
createControl(group, EcoreUtil.copy(right), EcoreUtil.copy(viewModelContext.getRightModel()), true);
final Button bReplaceWithRight = new Button(group, SWT.PUSH);
- bReplaceWithRight.setText(Messages.DiffDialog_replaceWithRight);
+ bReplaceWithRight.setText(LocalizationServiceHelper.getString(getClass(),
+ MessageKeys.DiffDialog_replaceWithRight));
bReplaceWithRight.setImage(Activator.getImage("icons/arrow_down.png")); //$NON-NLS-1$
bReplaceWithLeft.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_compare_dialog_diff_rightReplace"); //$NON-NLS-1$
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(false, false).applyTo(bReplaceWithRight);
@@ -337,7 +342,7 @@
@Override
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
- replaceMainWith(right);
+ replaceMainWith(right, viewModelContext.getRightModel());
}
});
@@ -359,8 +364,8 @@
}
}
- private void replaceMainWith(VControl replaceControl) {
- DefaultMergeUtil.copyValues(replaceControl, mergeControl);
+ private void replaceMainWith(VControl replaceControl, EObject replaceDomainModel) {
+ DefaultMergeUtil.copyValues(replaceControl, replaceDomainModel, mergeControl, mergeDomainObject);
}
/**
@@ -398,7 +403,7 @@
}
private void saveAndCloseDialog(final Shell shell) {
- DefaultMergeUtil.copyValues(mergeControl, main);
+ DefaultMergeUtil.copyValues(mergeControl, mergeDomainObject, main, viewModelContext.getDomainModel());
viewModelContext.markControl(main, diffConfirmed);
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/DiffDialogHelper.java b/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/DiffDialogHelper.java
index 1866f33..48da370 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/DiffDialogHelper.java
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/DiffDialogHelper.java
@@ -11,15 +11,11 @@
******************************************************************************/
package org.eclipse.emf.ecp.diffmerge.swt;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.diffmerge.spi.context.ControlPair;
import org.eclipse.emf.ecp.diffmerge.spi.context.DiffMergeModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
-import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
@@ -47,7 +43,7 @@
public static void showDialog(DiffMergeModelContext diffModelContext, int diffIndex)
throws IllegalArgumentException {
final VControl control = diffModelContext.getControl(diffIndex);
- final String label = getControlLabel(control);
+ final String label = getControlLabel(control, diffModelContext);
showDialog(diffModelContext, control, label);
}
@@ -76,7 +72,8 @@
}
shell
.setText(String.format(
- Messages.DiffDialog_title, featureLabel, index + 1, diffModelContext.getTotalNumberOfDiffs()));
+ LocalizationServiceHelper.getString(DiffDialogHelper.class, MessageKeys.DiffDialog_title),
+ featureLabel, index + 1, diffModelContext.getTotalNumberOfDiffs()));
shell.setLayout(new FillLayout());
final Rectangle clientArea = shell.getDisplay().getBounds();
shell.setSize(clientArea.width / 2, 500);
@@ -85,18 +82,12 @@
shell.open();
}
- private static String getControlLabel(VControl control) {
- final Setting firstSetting = control.getDomainModelReference().getIterator().next();
- final ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
- new ReflectiveItemProviderAdapterFactory(),
- new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
- final AdapterFactoryItemDelegator adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(
- composedAdapterFactory);
- final IItemPropertyDescriptor propertyDescriptor =
- adapterFactoryItemDelegator
- .getPropertyDescriptor(firstSetting.getEObject(), firstSetting.getEStructuralFeature());
-
- composedAdapterFactory.dispose();
- return propertyDescriptor.getDisplayName(firstSetting.getEObject());
+ private static String getControlLabel(VControl control, DiffMergeModelContext diffModelContext) {
+ try {
+ return (String) Activator.getInstance().getEMFFormsLabelProvider()
+ .getDisplayName(control.getDomainModelReference(), diffModelContext.getDomainModel()).getValue();
+ } catch (final NoLabelFoundException e) {
+ return e.getMessage();
+ }
}
}
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/MessageKeys.java b/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/MessageKeys.java
new file mode 100644
index 0000000..67238a9
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/MessageKeys.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.diffmerge.swt;
+
+/**
+ * Keys for translated strings.
+ *
+ * @author Eugen Neufeld
+ * @generated
+ */
+public interface MessageKeys {
+ String DiffDialog_Confirm = "DiffDialog_Confirm"; //$NON-NLS-1$
+ String DiffDialog_DiffConfirmed = "DiffDialog_DiffConfirmed"; //$NON-NLS-1$
+ String DiffDialog_DifferenceGroup = "DiffDialog_DifferenceGroup"; //$NON-NLS-1$
+ String DiffDialog_leftObject = "DiffDialog_leftObject"; //$NON-NLS-1$
+ String DiffDialog_targetObject = "DiffDialog_targetObject"; //$NON-NLS-1$
+ String DiffDialog_Next = "DiffDialog_Next"; //$NON-NLS-1$
+ String DiffDialog_Previous = "DiffDialog_Previous"; //$NON-NLS-1$
+ String DiffDialog_replaceWithLeft = "DiffDialog_replaceWithLeft"; //$NON-NLS-1$
+ String DiffDialog_replaceWithRight = "DiffDialog_replaceWithRight"; //$NON-NLS-1$
+ String DiffDialog_rightObject = "DiffDialog_rightObject"; //$NON-NLS-1$
+ String DiffDialog_title = "DiffDialog_title"; //$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/Messages.java b/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/Messages.java
deleted file mode 100644
index 81fffda..0000000
--- a/bundles/org.eclipse.emf.ecp.diffmerge.swt/src/org/eclipse/emf/ecp/diffmerge/swt/Messages.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.diffmerge.swt;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages for Diff UI.
- *
- * @author Eugen Neufeld
- * @generated
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.diffmerge.swt.messages"; //$NON-NLS-1$
- public static String DiffDialog_Confirm;
- public static String DiffDialog_DiffConfirmed;
- public static String DiffDialog_DifferenceGroup;
- public static String DiffDialog_leftObject;
- public static String DiffDialog_targetObject;
- public static String DiffDialog_Next;
- public static String DiffDialog_Previous;
- public static String DiffDialog_replaceWithLeft;
- public static String DiffDialog_replaceWithRight;
- public static String DiffDialog_rightObject;
- public static String DiffDialog_title;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.doc/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.doc/META-INF/MANIFEST.MF
index e24a5ac..60c24aa 100644
--- a/bundles/org.eclipse.emf.ecp.doc/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.doc/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
Bundle-ManifestVersion: 2
Bundle-Name: Doc
Bundle-SymbolicName: org.eclipse.emf.ecp.doc; singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.ui.intro;bundle-version="[3.4.0,4.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.doc/pom.xml b/bundles/org.eclipse.emf.ecp.doc/pom.xml
index 318fcc6..ea4e55c 100644
--- a/bundles/org.eclipse.emf.ecp.doc/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.doc/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.doc</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/META-INF/MANIFEST.MF
index c3005df..03936a1 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECore GenModel Test
Bundle-SymbolicName: org.eclipse.emf.ecp.ecore.editor.ui;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/pom.xml b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/pom.xml
index 062baf1..839c7b0 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ecore.editor.ui</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor/.gitignore b/bundles/org.eclipse.emf.ecp.ecore.editor/.gitignore
index 5e56e04..f8d886b 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor/.gitignore
@@ -1 +1,2 @@
/bin
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ecore.editor/META-INF/MANIFEST.MF
index 2139269..621c742 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP ECore Editor
Bundle-SymbolicName: org.eclipse.emf.ecp.ecore.editor;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Import-Package: org.eclipse.emf.codegen.ecore.genmodel;version="0.0.0",
org.eclipse.emf.ecore.presentation;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor/pom.xml b/bundles/org.eclipse.emf.ecp.ecore.editor/pom.xml
index 7ac5abb..4cbf509 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ecore.editor</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/META-INF/MANIFEST.MF
index d1757a5..4a327b5 100644
--- a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Editor controls for Ecore Elements
Bundle-SymbolicName: org.eclipse.emf.ecp.edit.ecore.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
@@ -12,5 +12,5 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.ecp.edit.ecore.swt.internal;version="1
- .5.1";x-internal:=true
+ .6.0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/pom.xml b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/pom.xml
index 90208e5..8746cd3 100644
--- a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.edit.ecore.swt</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/src/org/eclipse/emf/ecp/edit/ecore/swt/internal/EClassifierControl.java b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/src/org/eclipse/emf/ecp/edit/ecore/swt/internal/EClassifierControl.java
index c1c0001..0b9ea97 100644
--- a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/src/org/eclipse/emf/ecp/edit/ecore/swt/internal/EClassifierControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/src/org/eclipse/emf/ecp/edit/ecore/swt/internal/EClassifierControl.java
@@ -41,7 +41,7 @@
final Button[] buttons = new Button[2];
final Setting setting = getFirstSetting();
buttons[0] = createButtonForAction(new DeleteReferenceAction(getEditingDomain(getFirstSetting()), setting,
- getItemPropertyDescriptor(setting), getService(ReferenceService.class)), composite);
+ getService(ReferenceService.class)), composite);
buttons[1] = createButtonForAction(new AddEClassifierReferenceAction(getEditingDomain(getFirstSetting()),
setting, getItemPropertyDescriptor(setting), getService(ReferenceService.class), getVisiblePackages()),
composite);
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.edit.swt/.settings/.api_filters
index fa3e285..523b022 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/.settings/.api_filters
@@ -7,10 +7,10 @@
<message_argument value="1.1.1"/>
</message_arguments>
</filter>
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Changes for 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.edit"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
</message_arguments>
</filter>
</resource>
@@ -38,4 +38,66 @@
</message_arguments>
</filter>
</resource>
+ <resource path="src/org/eclipse/emf/ecp/edit/spi/swt/reference/DeleteReferenceAction.java" type="org.eclipse.emf.ecp.edit.spi.swt.reference.DeleteReferenceAction">
+ <filter comment="SPI Changes for 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.edit.spi.swt.reference.DeleteReferenceAction"/>
+ <message_argument value="DeleteReferenceAction(EditingDomain, EStructuralFeature.Setting, IItemPropertyDescriptor, ReferenceService)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/edit/spi/swt/reference/NewReferenceAction.java" type="org.eclipse.emf.ecp.edit.spi.swt.reference.NewReferenceAction">
+ <filter comment="SPI Changes for 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.edit.spi.swt.reference.NewReferenceAction"/>
+ <message_argument value="NewReferenceAction(EditingDomain, EStructuralFeature.Setting, IItemPropertyDescriptor, ReferenceService)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/edit/spi/swt/table/ECPCellEditor.java" type="org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor">
+ <filter comment="SPI change" id="403804204">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor"/>
+ <message_argument value="getMinWidth()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Changes for 1.6" id="403804204">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor"/>
+ <message_argument value="getModelToTargetStrategy(DataBindingContext)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Changes for 1.6" id="403804204">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor"/>
+ <message_argument value="getTargetToModelStrategy(DataBindingContext)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Changes for 1.6" id="405901410">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor"/>
+ <message_argument value="getModelToTargetStrategy()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Changes for 1.6" id="405901410">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor"/>
+ <message_argument value="getTargetToModelStrategy()"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/edit/spi/swt/table/StringCellEditor.java" type="org.eclipse.emf.ecp.edit.spi.swt.table.StringCellEditor">
+ <filter comment="SPI Changes for 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.edit.spi.swt.table.StringCellEditor"/>
+ <message_argument value="getModelToTargetStrategy()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Changes for 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.edit.spi.swt.table.StringCellEditor"/>
+ <message_argument value="getTargetToModelStrategy()"/>
+ </message_arguments>
+ </filter>
+ </resource>
</component>
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF
index 7f71512..0685e51 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.emf.ecp.edit.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.edit.internal.swt.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
@@ -10,10 +10,15 @@
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.eclipse.core.commands;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
org.eclipse.jface.action;version="0.0.0",
org.eclipse.jface.databinding.fieldassist;version="0.0.0",
org.eclipse.jface.databinding.swt;version="0.0.0",
@@ -31,25 +36,25 @@
org.eclipse.swt.layout;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.emf.ecp.edit.internal.swt;version="1.5.1";
+Export-Package: org.eclipse.emf.ecp.edit.internal.swt;version="1.6.0";
x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls, org.eclips
e.emf.ecp.view.treemasterdetail.ui.swt",org.eclipse.emf.ecp.edit.inte
- rnal.swt.actions;version="1.5.1"; x-friends:="org.eclipse.emf.ecp.ui.
+ rnal.swt.actions;version="1.6.0"; x-friends:="org.eclipse.emf.ecp.ui.
view.editor.controls,org.eclipse.emf.ecp.edit.ecore.swt",org.eclipse.
- emf.ecp.edit.internal.swt.controls;version="1.5.1"; x-friends:="org.e
+ emf.ecp.edit.internal.swt.controls;version="1.6.0"; x-friends:="org.e
clipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.editor.control
s,org.eclipse.emf.ecp.view.table.ui.swt",org.eclipse.emf.ecp.edit.int
- ernal.swt.reference;version="1.5.1"; x-friends:="org.eclipse.emf.ecp.
+ ernal.swt.reference;version="1.6.0"; x-friends:="org.eclipse.emf.ecp.
edit.ecore.swt,org.eclipse.emf.ecp.ui.view.editor.controls",org.eclip
- se.emf.ecp.edit.internal.swt.table;version="1.5.1"; x-friends:="org.e
+ se.emf.ecp.edit.internal.swt.table;version="1.6.0"; x-friends:="org.e
clipse.emf.ecp.view.table.ui.swt",org.eclipse.emf.ecp.edit.internal.s
- wt.util;version="1.5.1"; x-friends:="org.eclipse.emf.ecp.editor, org
+ wt.util;version="1.6.0"; x-friends:="org.eclipse.emf.ecp.editor, org
.eclipse.emf.ecp.explorereditorbridge, org.eclipse.emf.ecp.ui.view.s
wt, org.eclipse.emf.ecp.ui.view.editor.controls, org.eclipse.emf.ec
p.view.groupedgrid.ui.swt, org.eclipse.emf.ecp.edit.ecore.swt, org.
eclipse.emf.ecp.view.table.ui.swt, org.eclipse.emf.ecp.view.categori
zation.swt, org.eclipse.emf.ecp.view.treemasterdetail.ui.swt",org.ec
- lipse.emf.ecp.edit.spi.swt.actions;version="1.5.1",org.eclipse.emf.ec
- p.edit.spi.swt.reference;version="1.5.1",org.eclipse.emf.ecp.edit.spi
- .swt.table;version="1.5.1",org.eclipse.emf.ecp.edit.spi.swt.util;vers
- ion="1.5.1"
+ lipse.emf.ecp.edit.spi.swt.actions;version="1.6.0",org.eclipse.emf.ec
+ p.edit.spi.swt.reference;version="1.6.0",org.eclipse.emf.ecp.edit.spi
+ .swt.table;version="1.6.0",org.eclipse.emf.ecp.edit.spi.swt.util;vers
+ ion="1.6.0"
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emf.ecp.edit.swt/OSGI-INF/l10n/bundle.properties
index 7f3e862..8d0fcca 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/OSGI-INF/l10n/bundle.properties
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/OSGI-INF/l10n/bundle.properties
@@ -15,4 +15,83 @@
Bundle-Name = Edit SWT
extension-point.cell-editor = ECP SWT Table CellEditor
-extension-point.dialog-wrapper = Dialog Wrapper
\ No newline at end of file
+extension-point.dialog-wrapper = Dialog Wrapper
+
+#reference messages
+AddReferenceAction_Link=Link
+AddReferenceAction_Confirmation=Confirmation
+AddReferenceAction_No=No
+AddReferenceAction_Warning=This feature is a containment! The previous value and the linked value will be removed from their containment trees.\n\nDo you really want to continue?
+AddReferenceAction_Yes=Yes
+
+DeleteReferenceAction_Confirmation=Confirmation
+DeleteReferenceAction_DeleteModelQuestion=Do you really want to delete the model element
+DeleteReferenceAction_DeleteReference=Delete Reference
+DeleteReferenceAction_Yes=Yes
+DeleteReferenceAction_No=No
+DeleteReferenceAction_Questionmark=?
+
+NewReferenceAction_CreateAndLinkNew=Create and link new
+NewReferenceAction_Confirmation=Confirmation
+NewReferenceAction_No=No
+NewReferenceAction_Warning=This feature is a containment! The previous value will be removed from the containment tree.\n\nDo you really want to continue?
+NewReferenceAction_Yes=Yes
+
+ReferenceMultiControl_NotSetClickToSet=Not set. Click to set\\!
+ReferenceMultiControl_Unset=Unset
+LinkControl_NoLinkSetClickToSetLink=No link set\\! Click to set link.
+LinkControl_NotSet=(Not Set)
+LinkControl_UnsetLink=Unset Link
+
+#attribute action messages
+AddAttributeAction_AddEntry=Add Entry
+#numbercelleditor messages
+NumberCellEditor_InvalidNumber=Invalid Number
+NumberCellEditor_NumberYouEnteredIsInvalid=The Number you have entered is invalid. The value will be unset.
+NumberCellEditor_ValueIsNull=Value is null
+#util classes messaged
+CellEditorFactory_CannotBeLoadedBecauseBundle=\ cannot be loaded because bundle
+CellEditorFactory_CannotBeResolved=\ cannot be resolved
+
+#depricated controls
+AbstractTextControl_Unset=<unset>
+
+AttributeMultiControl_NotSetClickToSet=Not set. Click to set\!
+AttributeMultiControl_Unset=Unset
+
+BooleanControl_NoBooleanSetClickToSetBoolean=No boolean set\! Click to set boolean.
+BooleanControl_UnsetBoolean=Unset boolean
+
+DateTimeControl_NoDateSetClickToSetDate=No date set\! Click to set date.
+DateTimeControl_UnsetDate=Unset Date
+
+EEnumControl_NoValueSetClickToSetValue=No value set\! Click to set value.
+EEnumControl_UnsetValue=Unset value
+
+NumericalControl_FormatNumerical=The format is '\#'.
+NumericalControl_FormatNumericalDecimal=The format is '\#.\#'.
+NumericalControl_InvalidNumber=Invalid Number
+NumericalControl_InvalidNumberWillBeUnset=The Number you have entered is invalid. The value will be unset.
+NumericalControl_NoNumberClickToSetNumber=No number set\! Click to set number.
+NumericalControl_UnsetNumber=Unset number
+
+StringControl_NoTextSetClickToSetText=No text set\! Click to set text.
+StringControl_UnsetText=Unset text
+
+TableControl_AddInstanceOf=Add an instance of %1$s
+TableControl_Delete=Delete?
+TableControl_DeleteAreYouSure=Are you sure you want to delete the selected Elements?
+TableControl_RemoveSelected=Remove the selected %1$s
+TableControl_ValidationStatusColumn=Validation Status
+TableControl_NotSetClickToSet=Not set. Click to set\!
+TableControl_Unset=Unset
+
+XmlDateControlText_InvalidNumber=Invalid Number
+XmlDateControlText_NoDateSetClickToSetDate=No date set\! Click to set date.
+XmlDateControlText_NumberInvalidValueWillBeUnset=The Number you have entered is invalid. The value will be unset.
+XmlDateControlText_UnsetDate=Unset date
+
+#unused
+#SWTControl_Help=Help
+#AbstractTextControl_InvalidInput=Invalid input
+#AbstractTextControl_InvalidInputSpace=Invalid input
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/icons/unset_feature.png b/bundles/org.eclipse.emf.ecp.edit.swt/icons/unset_feature.png
new file mode 100644
index 0000000..08f2493
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/icons/unset_feature.png
Binary files differ
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/icons/unset_reference.png b/bundles/org.eclipse.emf.ecp.edit.swt/icons/unset_reference.png
new file mode 100644
index 0000000..f66e297
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/icons/unset_reference.png
Binary files differ
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/pom.xml b/bundles/org.eclipse.emf.ecp.edit.swt/pom.xml
index e3b76b9..6c8ee11 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.edit.swt</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/Activator.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/Activator.java
index 4141dd6..c377d85 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/Activator.java
@@ -21,6 +21,9 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.ecp.edit.spi.ECPControlFactory;
import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.graphics.Image;
@@ -226,4 +229,51 @@
return viewTemplate;
}
+ /**
+ * Returns the {@link EMFFormsEditSupport} service.
+ *
+ * @return The {@link EMFFormsEditSupport}
+ */
+ public EMFFormsEditSupport getEMFFormsEditSupport() {
+ final ServiceReference<EMFFormsEditSupport> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsEditSupport.class);
+
+ final EMFFormsEditSupport service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+
+ /**
+ * Returns the {@link EMFFormsLabelProvider} service.
+ *
+ * @return The {@link EMFFormsLabelProvider}
+ */
+ public EMFFormsLabelProvider getEMFFormsLabelProvider() {
+ final ServiceReference<EMFFormsLabelProvider> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsLabelProvider.class);
+
+ final EMFFormsLabelProvider service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return The {@link ReportService}
+ */
+ public ReportService getReportService() {
+ final ServiceReference<ReportService> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+
+ final ReportService service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/actions/ActionMessageKeys.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/actions/ActionMessageKeys.java
new file mode 100644
index 0000000..b8f4f26
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/actions/ActionMessageKeys.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.edit.internal.swt.actions;
+
+/**
+ * Keys for translated strings.
+ *
+ * @author Eugen Neufeld
+ * @generated
+ */
+public interface ActionMessageKeys {
+ String AddAttributeAction_AddEntry = "AddAttributeAction_AddEntry"; //$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/actions/ActionMessages.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/actions/ActionMessages.java
deleted file mode 100644
index 5e0af55..0000000
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/actions/ActionMessages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 EclipseSource.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource - initial API and implementation
- *******************************************************************************/
-package org.eclipse.emf.ecp.edit.internal.swt.actions;
-
-import org.eclipse.osgi.util.NLS;
-
-/*
- * @generated
- */
-public final class ActionMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.edit.internal.swt.actions.messages"; //$NON-NLS-1$
-
- public static String AddAttributeAction_AddEntry;
-
- private ActionMessages() {
- }
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, ActionMessages.class);
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/actions/AddAttributeAction.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/actions/AddAttributeAction.java
index e35ec5f..bfb83bf 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/actions/AddAttributeAction.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/actions/AddAttributeAction.java
@@ -18,6 +18,7 @@
import org.eclipse.emf.ecp.edit.spi.swt.actions.ECPSWTAction;
import org.eclipse.emf.edit.command.AddCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
/**
* The action to allow adding of attribute values to multi attribute controls.
@@ -37,7 +38,7 @@
super(editingDomain, setting);
// TODO remove PlatformUI
setImageDescriptor(Activator.getImageDescriptor("icons/add.png")); //$NON-NLS-1$
- setToolTipText(ActionMessages.AddAttributeAction_AddEntry);
+ setToolTipText(LocalizationServiceHelper.getString(getClass(), ActionMessageKeys.AddAttributeAction_AddEntry));
}
@Override
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/actions/messages.properties b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/actions/messages.properties
deleted file mode 100644
index 4938029..0000000
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/actions/messages.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 EclipseSource.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# EclipseSource - initial API and implementation
-################################################################################
-
-AddAttributeAction_AddEntry=Add Entry
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/AbstractTextControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/AbstractTextControl.java
index f256531..8b6f08e 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/AbstractTextControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/AbstractTextControl.java
@@ -24,6 +24,7 @@
import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.ecp.view.template.style.textControlEnablement.model.VTTextControlEnablementStyleProperty;
import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
@@ -38,6 +39,7 @@
*
* @author Eugen Neufeld
*/
+@Deprecated
public abstract class AbstractTextControl extends SingleControl {
/**
@@ -63,7 +65,8 @@
text.setLayoutData(getTextWidgetLayoutData());
if (getFirstStructuralFeature().isUnsettable()) {
- text.setMessage(ControlMessages.AbstractTextControl_Unset);
+ text.setMessage(LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.AbstractTextControl_Unset));
}
text.setData(CUSTOM_VARIANT, getTextVariantID());
customizeText(text);
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/AttributeMultiControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/AttributeMultiControl.java
index a7fb818..27979cf 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/AttributeMultiControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/AttributeMultiControl.java
@@ -16,6 +16,7 @@
import org.eclipse.emf.ecp.edit.internal.swt.actions.AddAttributeAction;
import org.eclipse.emf.ecp.edit.spi.swt.actions.ECPSWTAction;
import org.eclipse.emf.ecp.edit.spi.util.ECPStaticApplicableTester;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
/**
* This class defines a Control which is used for displaying {@link org.eclipse.emf.ecore.EStructuralFeature}s which
@@ -46,7 +47,8 @@
*/
@Override
protected String getUnsetLabelText() {
- return ControlMessages.AttributeMultiControl_NotSetClickToSet;
+ return LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.AttributeMultiControl_NotSetClickToSet);
}
/*
@@ -55,7 +57,8 @@
*/
@Override
protected String getUnsetButtonTooltip() {
- return ControlMessages.AttributeMultiControl_Unset;
+ return LocalizationServiceHelper
+ .getString(getClass(), DepricatedControlMessageKeys.AttributeMultiControl_Unset);
}
}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/AttributeMultiControlTester.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/AttributeMultiControlTester.java
index d8926aa..e0f5b07 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/AttributeMultiControlTester.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/AttributeMultiControlTester.java
@@ -12,13 +12,10 @@
*******************************************************************************/
package org.eclipse.emf.ecp.edit.internal.swt.controls;
-import java.util.Iterator;
-
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.edit.internal.swt.Activator;
import org.eclipse.emf.ecp.edit.spi.ECPControlDescription;
import org.eclipse.emf.ecp.edit.spi.ECPControlFactory;
@@ -139,17 +136,7 @@
@Override
@Deprecated
public int isApplicable(VDomainModelReference domainModelReference) {
- final Iterator<Setting> iterator = domainModelReference.getIterator();
- int count = 0;
- Setting setting = null;
- while (iterator.hasNext()) {
- count++;
- setting = iterator.next();
- }
- if (count != 1) {
- return NOT_APPLICABLE;
- }
- return isApplicable(setting.getEObject(), setting.getEStructuralFeature());
+ return NOT_APPLICABLE;
}
}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/BooleanControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/BooleanControl.java
index b14deec..e325c2a 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/BooleanControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/BooleanControl.java
@@ -14,6 +14,7 @@
import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
@@ -29,6 +30,7 @@
* @author Eugen Neufeld
*
*/
+@Deprecated
public class BooleanControl extends SingleControl {
private Button check;
@@ -65,7 +67,8 @@
*/
@Override
protected String getUnsetLabelText() {
- return ControlMessages.BooleanControl_NoBooleanSetClickToSetBoolean;
+ return LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.BooleanControl_NoBooleanSetClickToSetBoolean);
}
/*
@@ -74,7 +77,8 @@
*/
@Override
protected String getUnsetButtonTooltip() {
- return ControlMessages.BooleanControl_UnsetBoolean;
+ return LocalizationServiceHelper
+ .getString(getClass(), DepricatedControlMessageKeys.BooleanControl_UnsetBoolean);
}
/*
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/ControlMessages.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/ControlMessages.java
deleted file mode 100644
index a2e2062..0000000
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/ControlMessages.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 EclipseSource.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource - initial API and implementation
- *******************************************************************************/
-package org.eclipse.emf.ecp.edit.internal.swt.controls;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @generated
- *
- * @author Jonas
- *
- */
-
-public final class ControlMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.edit.internal.swt.controls.messages"; //$NON-NLS-1$
-
- public static String AbstractTextControl_InvalidInput;
- public static String AbstractTextControl_InvalidInputSpace;
- public static String AbstractTextControl_Unset;
-
- public static String AttributeMultiControl_NotSetClickToSet;
- public static String AttributeMultiControl_Unset;
-
- public static String BooleanControl_NoBooleanSetClickToSetBoolean;
- public static String BooleanControl_UnsetBoolean;
-
- public static String DateTimeControl_NoDateSetClickToSetDate;
- public static String DateTimeControl_UnsetDate;
-
- public static String EEnumControl_NoValueSetClickToSetValue;
- public static String EEnumControl_UnsetValue;
-
- public static String LinkControl_NoLinkSetClickToSetLink;
- public static String LinkControl_NotSet;
- public static String LinkControl_UnsetLink;
-
- public static String NumericalControl_FormatNumerical;
- public static String NumericalControl_FormatNumericalDecimal;
- public static String NumericalControl_InvalidNumber;
- public static String NumericalControl_InvalidNumberWillBeUnset;
- public static String NumericalControl_NoNumberClickToSetNumber;
- public static String NumericalControl_UnsetNumber;
-
- public static String ReferenceMultiControl_NotSetClickToSet;
- public static String ReferenceMultiControl_Unset;
-
- public static String StringControl_NoTextSetClickToSetText;
- public static String StringControl_UnsetText;
-
- public static String TableControl_AddInstanceOf;
- public static String TableControl_Delete;
- public static String TableControl_DeleteAreYouSure;
- public static String TableControl_NotSetClickToSet;
- public static String TableControl_RemoveSelected;
- public static String TableControl_Unset;
- public static String TableControl_ValidationStatusColumn;
-
- public static String XmlDateControlText_InvalidNumber;
- public static String XmlDateControlText_NoDateSetClickToSetDate;
- public static String XmlDateControlText_NumberInvalidValueWillBeUnset;
- public static String XmlDateControlText_UnsetDate;
-
- private ControlMessages() {
- }
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, ControlMessages.class);
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/DateTimeControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/DateTimeControl.java
index 0ccac02..05a42e8 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/DateTimeControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/DateTimeControl.java
@@ -15,6 +15,7 @@
import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.observable.value.DateAndTimeObservableValue;
import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
@@ -33,6 +34,7 @@
* @author Eugen Neufeld
*
*/
+@Deprecated
public class DateTimeControl extends SingleControl {
private DateTime dateWidget;
@@ -95,7 +97,8 @@
*/
@Override
protected String getUnsetLabelText() {
- return ControlMessages.DateTimeControl_NoDateSetClickToSetDate;
+ return LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.DateTimeControl_NoDateSetClickToSetDate);
}
/*
@@ -104,7 +107,7 @@
*/
@Override
protected String getUnsetButtonTooltip() {
- return ControlMessages.DateTimeControl_UnsetDate;
+ return LocalizationServiceHelper.getString(getClass(), DepricatedControlMessageKeys.DateTimeControl_UnsetDate);
}
/*
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/DepricatedControlMessageKeys.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/DepricatedControlMessageKeys.java
new file mode 100644
index 0000000..2cff628
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/DepricatedControlMessageKeys.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.edit.internal.swt.controls;
+
+/**
+ * Keys for translated strings.
+ *
+ * @author Eugen Neufeld
+ * @generated
+ */
+public interface DepricatedControlMessageKeys {
+ // String AbstractTextControl_InvalidInput;
+ // String AbstractTextControl_InvalidInputSpace;
+ String AbstractTextControl_Unset = "AbstractTextControl_Unset"; //$NON-NLS-1$
+
+ String AttributeMultiControl_NotSetClickToSet = "AttributeMultiControl_NotSetClickToSet"; //$NON-NLS-1$
+ String AttributeMultiControl_Unset = "AttributeMultiControl_Unset"; //$NON-NLS-1$
+
+ String BooleanControl_NoBooleanSetClickToSetBoolean = "BooleanControl_NoBooleanSetClickToSetBoolean"; //$NON-NLS-1$
+ String BooleanControl_UnsetBoolean = "BooleanControl_UnsetBoolean"; //$NON-NLS-1$
+
+ String DateTimeControl_NoDateSetClickToSetDate = "DateTimeControl_NoDateSetClickToSetDate"; //$NON-NLS-1$
+ String DateTimeControl_UnsetDate = "DateTimeControl_UnsetDate"; //$NON-NLS-1$
+
+ String EEnumControl_NoValueSetClickToSetValue = "EEnumControl_NoValueSetClickToSetValue"; //$NON-NLS-1$
+ String EEnumControl_UnsetValue = "EEnumControl_UnsetValue"; //$NON-NLS-1$
+
+ String NumericalControl_FormatNumerical = "NumericalControl_FormatNumerical"; //$NON-NLS-1$
+ String NumericalControl_FormatNumericalDecimal = "NumericalControl_FormatNumericalDecimal"; //$NON-NLS-1$
+ String NumericalControl_InvalidNumber = "NumericalControl_InvalidNumber"; //$NON-NLS-1$
+ String NumericalControl_InvalidNumberWillBeUnset = "NumericalControl_InvalidNumberWillBeUnset"; //$NON-NLS-1$
+ String NumericalControl_NoNumberClickToSetNumber = "NumericalControl_NoNumberClickToSetNumber"; //$NON-NLS-1$
+ String NumericalControl_UnsetNumber = "NumericalControl_UnsetNumber"; //$NON-NLS-1$
+
+ String StringControl_NoTextSetClickToSetText = "StringControl_NoTextSetClickToSetText"; //$NON-NLS-1$
+ String StringControl_UnsetText = "StringControl_UnsetText"; //$NON-NLS-1$
+
+ String TableControl_AddInstanceOf = "TableControl_AddInstanceOf"; //$NON-NLS-1$
+ String TableControl_Delete = "TableControl_Delete"; //$NON-NLS-1$
+ String TableControl_DeleteAreYouSure = "TableControl_DeleteAreYouSure"; //$NON-NLS-1$
+ String TableControl_NotSetClickToSet = "TableControl_NotSetClickToSet"; //$NON-NLS-1$
+ String TableControl_RemoveSelected = "TableControl_RemoveSelected"; //$NON-NLS-1$
+ String TableControl_Unset = "TableControl_Unset"; //$NON-NLS-1$
+ String TableControl_ValidationStatusColumn = "TableControl_ValidationStatusColumn"; //$NON-NLS-1$
+
+ String XmlDateControlText_InvalidNumber = "XmlDateControlText_InvalidNumber"; //$NON-NLS-1$
+ String XmlDateControlText_NoDateSetClickToSetDate = "XmlDateControlText_NoDateSetClickToSetDate"; //$NON-NLS-1$
+ String XmlDateControlText_NumberInvalidValueWillBeUnset = "XmlDateControlText_NumberInvalidValueWillBeUnset"; //$NON-NLS-1$
+ String XmlDateControlText_UnsetDate = "XmlDateControlText_UnsetDate"; //$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/EEnumControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/EEnumControl.java
index 872469d..8367284 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/EEnumControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/EEnumControl.java
@@ -16,6 +16,7 @@
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.databinding.viewers.ViewersObservables;
import org.eclipse.jface.viewers.ArrayContentProvider;
@@ -33,6 +34,7 @@
* @author Eugen Neufeld
*
*/
+@Deprecated
public class EEnumControl extends SingleControl {
private ComboViewer combo;
@@ -78,7 +80,8 @@
*/
@Override
protected String getUnsetLabelText() {
- return ControlMessages.EEnumControl_NoValueSetClickToSetValue;
+ return LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.EEnumControl_NoValueSetClickToSetValue);
}
/*
@@ -87,7 +90,7 @@
*/
@Override
protected String getUnsetButtonTooltip() {
- return ControlMessages.EEnumControl_UnsetValue;
+ return LocalizationServiceHelper.getString(getClass(), DepricatedControlMessageKeys.EEnumControl_UnsetValue);
}
/*
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/MultiControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/MultiControl.java
index 33185c2..aa3ad4b 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/MultiControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/MultiControl.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -65,6 +65,7 @@
private static final String ICONS_ARROW_DOWN_PNG = "icons/arrow_down.png";//$NON-NLS-1$
private static final String ICONS_ARROW_UP_PNG = "icons/arrow_up.png";//$NON-NLS-1$
+ private static final String ICONS_UNSET_FEATURE = "icons/unset_feature.png"; //$NON-NLS-1$
private IObservableList model;
private IListChangeListener changeListener;
@@ -202,7 +203,8 @@
}
final int widthAfterChange = sectionComposite.getSize().x;
if (widthBeforeChange != widthAfterChange) {
- scrolledComposite.setMinHeight(sectionComposite.computeSize(widthAfterChange, SWT.DEFAULT).y);
+ scrolledComposite
+ .setMinHeight(sectionComposite.computeSize(widthAfterChange, SWT.DEFAULT).y);
widthBeforeChange = widthAfterChange;
}
}
@@ -316,7 +318,7 @@
unsetButton = new Button(toolbarComposite, SWT.PUSH);
unsetButton.setEnabled(!getControl().isReadonly());
unsetButton.setToolTipText(getUnsetButtonTooltip());
- unsetButton.setImage(Activator.getImage("icons/delete.png")); //$NON-NLS-1$
+ unsetButton.setImage(Activator.getImage(ICONS_UNSET_FEATURE));
}
}
@@ -369,7 +371,7 @@
*/
private void createDeleteButton(Composite composite) {
final Button delB = new Button(composite, SWT.PUSH);
- delB.setImage(Activator.getImage("icons/delete.png")); //$NON-NLS-1$
+ delB.setImage(Activator.getImage(ICONS_UNSET_FEATURE));
delB.setEnabled(!getControl().isReadonly());
delB.addSelectionListener(new SelectionAdapter() {
private static final long serialVersionUID = 1L;
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/NumericalControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/NumericalControl.java
index f8ef770..bd27a33 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/NumericalControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/NumericalControl.java
@@ -24,6 +24,7 @@
import org.eclipse.emf.ecp.edit.internal.swt.Activator;
import org.eclipse.emf.ecp.edit.spi.swt.util.ECPDialogExecutor;
import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.dialogs.IDialogLabelKeys;
import org.eclipse.jface.dialogs.MessageDialog;
@@ -37,6 +38,7 @@
* @author Eugen Neufeld
* @author emueller
*/
+@Deprecated
public class NumericalControl extends AbstractTextControl {
@Override
@@ -59,7 +61,8 @@
*/
@Override
protected String getUnsetLabelText() {
- return ControlMessages.NumericalControl_NoNumberClickToSetNumber;
+ return LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.NumericalControl_NoNumberClickToSetNumber);
}
/*
@@ -68,7 +71,8 @@
*/
@Override
protected String getUnsetButtonTooltip() {
- return ControlMessages.NumericalControl_UnsetNumber;
+ return LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.NumericalControl_UnsetNumber);
}
@Override
@@ -122,9 +126,11 @@
private String getFormatText() {
if (NumericalHelper.isInteger(getInstanceClass())) {
- return ControlMessages.NumericalControl_FormatNumerical;
+ return LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.NumericalControl_FormatNumerical);
} else if (NumericalHelper.isDouble(getInstanceClass())) {
- return ControlMessages.NumericalControl_FormatNumericalDecimal;
+ return LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.NumericalControl_FormatNumericalDecimal);
}
return ""; //$NON-NLS-1$
@@ -239,8 +245,10 @@
final Object result = getModelValue().getValue();
final MessageDialog messageDialog = new MessageDialog(getText().getShell(),
- ControlMessages.NumericalControl_InvalidNumber, null,
- ControlMessages.NumericalControl_InvalidNumberWillBeUnset, MessageDialog.ERROR,
+ LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.NumericalControl_InvalidNumber), null,
+ LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.NumericalControl_InvalidNumberWillBeUnset), MessageDialog.ERROR,
new String[] { JFaceResources.getString(IDialogLabelKeys.OK_LABEL_KEY) }, 0);
new ECPDialogExecutor(messageDialog) {
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/NumericalHelper.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/NumericalHelper.java
index cf39153..d89c734 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/NumericalHelper.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/NumericalHelper.java
@@ -52,7 +52,11 @@
// int integerDigits = totalDigits - fractionalDigits;
// format.setMaximumIntegerDigits(integerDigits);
// } else {
- format.setMaximumFractionDigits(100);
+ if (isDouble(instanceClass)) {
+ format.setMaximumFractionDigits(100);
+ } else {
+ format.setMaximumFractionDigits(0);
+ }
// }
return format;
}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/SingleControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/SingleControl.java
index 180cd50..1c412cf 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/SingleControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/SingleControl.java
@@ -26,6 +26,7 @@
* @author Eugen Neufeld
*
*/
+@Deprecated
public abstract class SingleControl extends SWTControl {
// private static final String VALIDATION_ERROR_ICON = "icons/validation_error.png";//$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/StringControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/StringControl.java
index 582c290..e230179 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/StringControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/StringControl.java
@@ -12,6 +12,7 @@
*******************************************************************************/
package org.eclipse.emf.ecp.edit.internal.swt.controls;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Text;
@@ -22,6 +23,7 @@
* @author Eugen Neufeld
*
*/
+@Deprecated
public class StringControl extends AbstractTextControl {
/** {@inheritDoc} */
@@ -64,7 +66,8 @@
*/
@Override
protected String getUnsetLabelText() {
- return ControlMessages.StringControl_NoTextSetClickToSetText;
+ return LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.StringControl_NoTextSetClickToSetText);
}
/*
@@ -73,7 +76,7 @@
*/
@Override
protected String getUnsetButtonTooltip() {
- return ControlMessages.StringControl_UnsetText;
+ return LocalizationServiceHelper.getString(getClass(), DepricatedControlMessageKeys.StringControl_UnsetText);
}
@Override
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableControl.java
index cb40c35..9108f41 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableControl.java
@@ -1,1167 +1,1182 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- *
- *******************************************************************************/
-package org.eclipse.emf.ecp.edit.internal.swt.controls;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.databinding.Binding;
-import org.eclipse.core.databinding.observable.list.IObservableList;
-import org.eclipse.core.databinding.observable.map.IObservableMap;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.emf.databinding.EMFProperties;
-import org.eclipse.emf.databinding.EObjectObservableMap;
-import org.eclipse.emf.databinding.edit.EMFEditObservables;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.edit.internal.swt.Activator;
-import org.eclipse.emf.ecp.edit.internal.swt.table.TableColumnConfiguration;
-import org.eclipse.emf.ecp.edit.internal.swt.table.TableControlConfiguration;
-import org.eclipse.emf.ecp.edit.internal.swt.util.CellEditorFactory;
-import org.eclipse.emf.ecp.edit.internal.swt.util.SWTControl;
-import org.eclipse.emf.ecp.edit.internal.swt.util.SWTRenderingHelper;
-import org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor;
-import org.eclipse.emf.ecp.edit.spi.swt.util.ECPDialogExecutor;
-import org.eclipse.emf.ecp.view.spi.model.VDiagnostic;
-import org.eclipse.emf.ecp.view.spi.renderer.RenderingResultRow;
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.command.RemoveCommand;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
-import org.eclipse.jface.databinding.viewers.ObservableMapCellLabelProvider;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogLabelKeys;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.jface.layout.TableColumnLayout;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.CellLabelProvider;
-import org.eclipse.jface.viewers.ColumnViewer;
-import org.eclipse.jface.viewers.ColumnViewerEditor;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationListener;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
-import org.eclipse.jface.viewers.ColumnViewerEditorDeactivationEvent;
-import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.EditingSupport;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TableViewerColumn;
-import org.eclipse.jface.viewers.TableViewerEditor;
-import org.eclipse.jface.viewers.TableViewerFocusCellManager;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerCell;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- * The class describing a table control.
- *
- * @author Eugen Neufeld
- * @author emueller
- */
-// this class is not serialized
-public class TableControl extends SWTControl {
-
- private static final String FIXED_COLUMNS = "org.eclipse.rap.rwt.fixedColumns"; //$NON-NLS-1$
-
- private static final String ICON_ADD = "icons/add.png"; //$NON-NLS-1$
-
- private TableViewer tableViewer;
- private ComposedAdapterFactory composedAdapterFactory;
- private AdapterFactoryItemDelegator adapterFactoryItemDelegator;
- private Button unsetButton;
- private EClass clazz;
- private TableControlConfiguration tableControlConfiguration;
- private boolean editable = true;
-
- private EReference getTableReference() {
- return (EReference) getFirstStructuralFeature();
- }
-
- /**
- *
- * @param tableControlConfiguration the {@link TableControlConfiguration} to use when creating the table
- */
- public final void setTableControlConfiguration(TableControlConfiguration tableControlConfiguration) {
- this.tableControlConfiguration = tableControlConfiguration;
- }
-
- @Override
- protected Binding bindValue() {
- return null;
- }
-
- /**
- *
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.edit.internal.swt.util.ECPControlSWT#createControls(org.eclipse.swt.widgets.Composite)
- */
- @Override
- public List<RenderingResultRow<Control>> createControls(final Composite parent) {
- final IItemPropertyDescriptor itemPropertyDescriptor = getItemPropertyDescriptor(getFirstSetting());
- if (itemPropertyDescriptor == null) {
- return null;
- }
- parent.addDisposeListener(new DisposeListener() {
-
- @Override
- public void widgetDisposed(DisposeEvent e) {
- dispose();
- }
- });
- final List<RenderingResultRow<Control>> list = Collections.singletonList(SWTRenderingHelper.INSTANCE
- .getResultRowFactory().createRenderingResultRow(
- createControl(parent)));
-
- applyValidation(getControl().getDiagnostic());
- return list;
-
- }
-
- @Override
- public Composite createControl(final Composite parent) {
- mainSetting = getFirstSetting();
- composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
- new ReflectiveItemProviderAdapterFactory(),
- new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
-
- adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(composedAdapterFactory);
-
- clazz = getTableReference().getEReferenceType();
-
- final Composite composite = new Composite(parent, SWT.NONE);
- composite.setLayout(new GridLayout(1, false));
- composite.setBackground(parent.getBackground());
-
- final Composite titleComposite = new Composite(composite, SWT.NONE);
- titleComposite.setBackground(parent.getBackground());
- GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.BEGINNING)
- .applyTo(titleComposite);
- GridLayoutFactory.fillDefaults().numColumns(3).equalWidth(false).applyTo(titleComposite);
-
- final Label label = new Label(titleComposite, SWT.NONE);
- label.setBackground(parent.getBackground());
- label.setText(getItemPropertyDescriptor(mainSetting).getDisplayName(null));
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).applyTo(label);
-
- // VALIDATION
- validationLabel = new Label(titleComposite, SWT.NONE);
- validationLabel.setBackground(parent.getBackground());
- // set the size of the label to the size of the image
- GridDataFactory.fillDefaults().hint(16, 17).applyTo(validationLabel);
-
- boolean createButtons = true;
- if (tableControlConfiguration != null) {
- createButtons = !tableControlConfiguration.isAddRemoveDisabled();
- }
- if (createButtons) {
- // addButtons
- final Composite buttonComposite = new Composite(titleComposite, SWT.NONE);
- GridDataFactory.fillDefaults().align(SWT.END, SWT.BEGINNING).grab(true, false).applyTo(buttonComposite);
- int numButtons = 2;
-
- createAddRowButton(clazz, buttonComposite);
- createRemoveRowButton(clazz, buttonComposite);
- if (!isEmbedded() && getTableReference().isUnsettable()) {
- unsetButton = new Button(buttonComposite, SWT.PUSH);
- unsetButton.setToolTipText(getUnsetButtonTooltip());
- unsetButton.setImage(Activator.getImage("icons/delete.png")); //$NON-NLS-1$
- numButtons++;
- }
- GridLayoutFactory.fillDefaults().numColumns(numButtons).equalWidth(true).applyTo(buttonComposite);
- }
- final Composite controlComposite = new Composite(composite, SWT.NONE);
- GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL,
- SWT.FILL).applyTo(controlComposite);
- GridLayoutFactory.fillDefaults().numColumns(1).applyTo(controlComposite);
-
- // delegate to super class
- createContentControl(controlComposite);
-
- return composite;
- }
-
- private TableViewer createTableViewer(Composite parent) {
- final TableViewer tableViewer = new TableViewer(parent, SWT.MULTI | SWT.V_SCROLL | SWT.FULL_SELECTION
- | SWT.BORDER);
- tableViewer.getTable().setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_control_table"); //$NON-NLS-1$
- tableViewer.getTable().setHeaderVisible(true);
- tableViewer.getTable().setLinesVisible(true);
-
- final TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(tableViewer,
- new ECPFocusCellDrawHighlighter(tableViewer));
- final ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tableViewer) {
- @Override
- protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
- return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
- || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION
- || event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR
- || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
- }
- };
-
- TableViewerEditor.create(tableViewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL
- | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL
- | ColumnViewerEditor.KEYBOARD_ACTIVATION);
-
- tableViewer.getTable().setData(FIXED_COLUMNS, new Integer(1));
- ColumnViewerToolTipSupport.enableFor(tableViewer);
-
- return tableViewer;
- }
-
- private void createFixedValidationStatusColumn(TableViewer tableViewer,
- final List<EStructuralFeature> structuralFeatures) {
- final TableViewerColumn column = TableViewerColumnBuilder.create()
- .setMoveable(false)
- .setText(ControlMessages.TableControl_ValidationStatusColumn)
- .setWidth(80)
- .build(tableViewer);
-
- column.setLabelProvider(new ValidationStatusCellLabelProvider(structuralFeatures));
- }
-
- private EObject getInstanceOf(EClass clazz) {
- return clazz.getEPackage().getEFactoryInstance().create(clazz);
- }
-
- /*
- * (non-Javadoc)
- * @see
- * org.eclipse.emf.ecp.edit.internal.swt.util.SWTControl#fillControlComposite(org.eclipse.swt.widgets.Composite)
- */
- @Override
- protected void fillControlComposite(Composite parent) {
- final Composite composite = new Composite(parent, SWT.NONE);
- GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).hint(1, 200).applyTo(composite);
- tableViewer = createTableViewer(composite);
-
- final ObservableListContentProvider cp = new ObservableListContentProvider();
- final EObject tempInstance = getInstanceOf(clazz);
- final ECPTableViewerComparator comparator = new ECPTableViewerComparator();
- tableViewer.setComparator(comparator);
- int columnNumber = 0;
- final Map<EStructuralFeature, Boolean> readOnlyConfig = createReadOnlyConfig(clazz);
- final List<EStructuralFeature> structuralFeatures = new ArrayList<EStructuralFeature>();
- structuralFeatures.addAll(readOnlyConfig.keySet());
- if (!getControl().isReadonly()) {
- createFixedValidationStatusColumn(tableViewer, structuralFeatures);
- }
-
- for (final EStructuralFeature feature : structuralFeatures) {
- final IItemPropertyDescriptor itemPropertyDescriptor = adapterFactoryItemDelegator.getPropertyDescriptor(
- tempInstance, feature);
- if (itemPropertyDescriptor == null) {
- // if we can't render because no edit information is available, do nothing
- continue;
- }
-
- final CellEditor cellEditor = createCellEditor(tempInstance, feature);
- final TableViewerColumn column = TableViewerColumnBuilder
- .create()
- .setText(itemPropertyDescriptor.getDisplayName(null))
- .setToolTipText(itemPropertyDescriptor.getDescription(null))
- .setResizable(true)
- .setMoveable(false)
- .setStyle(noStyle())
- .setData("width", //$NON-NLS-1$
- ECPCellEditor.class.isInstance(cellEditor) ? ECPCellEditor.class.cast(cellEditor)
- .getColumnWidthWeight() : 100)
- .build(tableViewer);
-
- column.setLabelProvider(new ECPCellLabelProvider(feature, cellEditor, feature.isMany() ?
- new EObjectObservableMap(cp.getKnownElements(), feature) :
- EMFProperties.value(feature).observeDetail(cp.getKnownElements())));
- column.getColumn().addSelectionListener(getSelectionAdapter(comparator, column.getColumn(), columnNumber));
-
- if (!isReadOnlyFeature(readOnlyConfig, feature)) {
- // remove if no editing needed
- final EditingSupport observableSupport = new ECPTableEditingSupport(tableViewer, cellEditor, feature);
- column.setEditingSupport(observableSupport);
- }
- columnNumber++;
- }
- tableViewer.setContentProvider(cp);
- final IObservableList list = EMFEditObservables.observeList(getEditingDomain(mainSetting),
- mainSetting.getEObject(), mainSetting.getEStructuralFeature());
- tableViewer.setInput(list);
-
- // IMPORTANT:
- // - the minimumWidth and (non)resizable settings of the ColumnWeightData are not supported properly
- // - the layout stops resizing columns that have been resized manually by the user (this could be considered a
- // feature though)
- final TableColumnLayout layout = new TableColumnLayout();
- composite.setLayout(layout);
- for (int i = 0; i < tableViewer.getTable().getColumns().length; i++) {
- final Integer storedValue = (Integer) tableViewer.getTable().getColumns()[i].getData("width"); //$NON-NLS-1$
- layout.setColumnData(tableViewer.getTable().getColumns()[i], new ColumnWeightData(storedValue == null ? 50
- : storedValue));
- }
- }
-
- private CellEditor createCellEditor(final EObject tempInstance, final EStructuralFeature feature) {
- return CellEditorFactory.INSTANCE.getCellEditor(feature,
- tempInstance, tableViewer.getTable(), getViewModelContext());
- }
-
- private static boolean isReadOnlyFeature(Map<EStructuralFeature, Boolean> readOnlyConfig, EStructuralFeature feature) {
- if (readOnlyConfig != null) {
- final Boolean isReadOnly = readOnlyConfig.get(feature);
- if (isReadOnly != null) {
- return isReadOnly;
- }
- }
- return false;
- }
-
- private Map<EStructuralFeature, Boolean> createReadOnlyConfig(EClass clazz) {
- final Map<EStructuralFeature, Boolean> readOnlyConfig = new LinkedHashMap<EStructuralFeature, Boolean>();
- if (tableControlConfiguration != null) {
- for (final TableColumnConfiguration tcc : tableControlConfiguration.getColumns()) {
- readOnlyConfig.put(tcc.getColumnAttribute(), tcc.isReadOnly());
- }
- } else {
- for (final EStructuralFeature feature : clazz.getEStructuralFeatures()) {
- readOnlyConfig.put(feature, Boolean.FALSE);
- }
- }
- return readOnlyConfig;
- }
-
- private int noStyle() {
- return SWT.NONE;
- }
-
- @Override
- protected Button getCustomUnsetButton() {
- return unsetButton;
- }
-
- private SelectionAdapter getSelectionAdapter(final ECPTableViewerComparator comparator, final TableColumn column,
- final int index) {
- final SelectionAdapter selectionAdapter = new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- comparator.setColumn(index);
- final int dir = comparator.getDirection();
- tableViewer.getTable().setSortDirection(dir);
- tableViewer.getTable().setSortColumn(column);
- tableViewer.refresh();
- }
- };
- return selectionAdapter;
- }
-
- private Button removeButton;
-
- private void createRemoveRowButton(EClass clazz, final Composite buttonComposite) {
- removeButton = new Button(buttonComposite, SWT.None);
- final Image image = Activator.getImage("icons/delete.png"); //$NON-NLS-1$
- removeButton.setImage(image);
- removeButton.setToolTipText(ControlMessages.TableControl_RemoveSelected
- + clazz.getInstanceClass().getSimpleName());
- removeButton.addSelectionListener(new SelectionAdapter() {
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- final IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
-
- if (selection == null || selection.getFirstElement() == null) {
- return;
- }
-
- final List<EObject> deletionList = new ArrayList<EObject>();
- final Iterator<?> iterator = selection.iterator();
-
- while (iterator.hasNext()) {
- deletionList.add((EObject) iterator.next());
- }
-
- deleteRowUserConfirmDialog(deletionList);
-
- }
- });
-
- final List<?> containments = (List<?>) mainSetting.get(true);
- if (containments.size() <= getTableReference().getLowerBound()) {
- removeButton.setEnabled(false);
- }
- }
-
- /**
- * This method shows a user confirmation dialog when the user attempts to delete a row in the table.
- *
- * @param deletionList the list of selected EObjects to delete
- */
- protected void deleteRowUserConfirmDialog(final List<EObject> deletionList) {
- final MessageDialog dialog = new MessageDialog(tableViewer.getTable().getShell(),
- ControlMessages.TableControl_Delete, null,
- ControlMessages.TableControl_DeleteAreYouSure, MessageDialog.CONFIRM, new String[] {
- JFaceResources.getString(IDialogLabelKeys.YES_LABEL_KEY),
- JFaceResources.getString(IDialogLabelKeys.NO_LABEL_KEY) }, 0);
-
- new ECPDialogExecutor(dialog) {
-
- @Override
- public void handleResult(int codeResult) {
- if (codeResult == IDialogConstants.CANCEL_ID) {
- return;
- }
-
- deleteRows(deletionList);
-
- final List<?> containments = (List<?>) mainSetting.get(true);
- if (containments.size() < getTableReference().getUpperBound()) {
- addButton.setEnabled(true);
- }
- if (containments.size() <= getTableReference().getLowerBound()) {
- removeButton.setEnabled(false);
- }
- }
- }.execute();
- }
-
- /**
- * This is called by {@link #deleteRowUserConfirmDialog(List)} after the user confirmed to delete the selected
- * elements.
- *
- * @param deletionList the list of {@link EObject EObjects} to delete
- */
- protected void deleteRows(List<EObject> deletionList) {
- final EditingDomain editingDomain = getEditingDomain(mainSetting);
- final EObject modelElement = mainSetting.getEObject();
- editingDomain.getCommandStack().execute(
- RemoveCommand.create(editingDomain, modelElement, getTableReference(), deletionList));
- }
-
- /**
- * This method is called to add a new entry in the domain model and thus to create a new row in the table. The
- * element to create is defined by the provided class.
- * You can override this method but you have to call super nonetheless.
- *
- * @param clazz the {@link EClass} defining the EObject to create
- */
- protected void addRow(EClass clazz) {
- final EObject modelElement = mainSetting.getEObject();
- final EObject instance = clazz.getEPackage().getEFactoryInstance().create(clazz);
-
- final EditingDomain editingDomain = getEditingDomain(mainSetting);
- editingDomain.getCommandStack().execute(
- AddCommand.create(editingDomain, modelElement, getTableReference(), instance));
-
- }
-
- private Button addButton;
- private Setting mainSetting;
-
- private boolean isDisposing;
-
- private void createAddRowButton(final EClass clazz, final Composite buttonComposite) {
- addButton = new Button(buttonComposite, SWT.None);
- final Image image = Activator.getImage(ICON_ADD);
- addButton.setImage(image);
- addButton.setToolTipText(ControlMessages.TableControl_AddInstanceOf + clazz.getInstanceClass().getSimpleName());
- addButton.addSelectionListener(new SelectionAdapter() {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- @Override
- public void widgetSelected(SelectionEvent e) {
- addRow(clazz);
-
- final List<?> containments = (List<?>) mainSetting.get(true);
- if (getTableReference().getUpperBound() != -1
- && containments.size() >= getTableReference().getUpperBound()) {
- addButton.setEnabled(false);
- }
- if (containments.size() > getTableReference().getLowerBound()) {
- removeButton.setEnabled(true);
- }
- }
- });
-
- final List<?> containments = (List<?>) mainSetting.get(true);
- if (getTableReference().getUpperBound() != -1
- && containments.size() >= getTableReference().getUpperBound()) {
- addButton.setEnabled(false);
- }
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void dispose() {
- isDisposing = true;
- super.dispose();
- composedAdapterFactory.dispose();
- mainSetting = null;
- adapterFactoryItemDelegator = null;
- composedAdapterFactory = null;
- isDisposing = false;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.edit.spi.ECPAbstractControl#applyValidation(org.eclipse.emf.ecp.view.spi.model.VDiagnostic)
- */
- @Override
- protected void applyValidation(VDiagnostic diagnostic) {
-
- if (validationLabel == null || validationLabel.isDisposed()) {
- return;
- }
- if (diagnostic != null) {
- final Image image = getValidationIcon(diagnostic.getHighestSeverity());
- validationLabel.setImage(image);
- validationLabel.setToolTipText(diagnostic.getMessage());
- for (final Object object : (Collection<?>) mainSetting.get(true)) {
- tableViewer.update(object, null);
- }
- }
- }
-
- // /**
- // * {@inheritDoc}
- // *
- // * @deprecated
- // */
- // @Deprecated
- // @Override
- // public void resetValidation() {
- // if (validationLabel == null || validationLabel.isDisposed()) {
- // return;
- // }
- // validationLabel.setToolTipText(""); //$NON-NLS-1$
- // validationLabel.setImage(null);
- // tableViewer.refresh();
- // }
- // /**
- // * {@inheritDoc}
- // *
- // * @deprecated
- // */
- // @Deprecated
- // @Override
- // public void handleValidation(Diagnostic diagnostic) {
- // if (diagnostic.getData().isEmpty()) {
- // return;
- // }
- // final Image image = getValidationIcon(diagnostic.getSeverity());
- // validationLabel.setImage(image);
- // validationLabel.setToolTipText(getTableTooltipMessage(diagnostic));
- // final EObject object = (EObject) diagnostic.getData().get(0);
- // tableViewer.update(object, null);
- // }
-
- /**
- * Returns the message of the validation tool tip shown in the table header.
- *
- * @param diagnostic the {@link Diagnostic} to extract the message from
- * @return the message
- */
- protected String getTableTooltipMessage(Diagnostic diagnostic) {
- return diagnostic.getMessage();
- }
-
- /**
- * Returns the message of the validation tool tip shown in the row.
- *
- * @param vDiagnostic the {@link VDiagnostic} to get the message from
- * @return the message
- */
- protected String getRowTooltipMessage(VDiagnostic vDiagnostic) {
- return vDiagnostic.getMessage();
- }
-
- /**
- * Returns the message of the validation tool tip shown in the cell.
- *
- * @param vDiagnostic the {@link VDiagnostic} to get the message from
- * @return the message
- */
- protected String getCellTooltipMessage(VDiagnostic vDiagnostic) {
- if (vDiagnostic == null) {
- return null;
- }
- if (vDiagnostic.getDiagnostics().size() == 0) {
- return vDiagnostic.getMessage();
- }
- final Diagnostic diagnostic = (Diagnostic) vDiagnostic.getDiagnostics().get(0);
- Diagnostic reason = diagnostic;
- if (diagnostic.getChildren() != null && diagnostic.getChildren().size() != 0) {
- reason = diagnostic.getChildren().get(0);
- }
- return reason.getMessage();
- }
-
- /**
- * {@inheritDoc}
- *
- * @deprecated
- */
- @Deprecated
- @Override
- public void setEditable(boolean isEditable) {
- if (addButton != null) {
- addButton.setVisible(isEditable);
- }
- if (removeButton != null) {
- removeButton.setVisible(isEditable);
- }
- editable = isEditable;
- }
-
- /**
- * @author Jonas
- *
- */
- private final class ValidationStatusCellLabelProvider extends CellLabelProvider {
- private final List<EStructuralFeature> structuralFeatures;
-
- /**
- * @param structuralFeatures
- */
- private ValidationStatusCellLabelProvider(List<EStructuralFeature> structuralFeatures) {
- this.structuralFeatures = structuralFeatures;
- }
-
- @Override
- public void update(ViewerCell cell) {
- Integer mostSevere = Diagnostic.OK;
- final VDiagnostic vDiagnostic = getControl().getDiagnostic();
- // for (final Object diagObject : vDiagnostic.getDiagnostics()) {
- // final Diagnostic diagnostic = (Diagnostic) diagObject;
- // if (diagnostic.getData().size() == 0) {
- // continue;
- // }
- // if (diagnostic.getData().get(0).equals(cell.getElement())) {
- // final int currentSeverity = diagnostic.getSeverity();
- // if (currentSeverity > mostSevere) {
- // mostSevere = currentSeverity;
- // }
- // }
- // }
- final List<Diagnostic> diagnostics = vDiagnostic.getDiagnostics((EObject) cell.getElement());
- if (diagnostics.size() != 0) {
- mostSevere = diagnostics.get(0).getSeverity();
- }
- cell.setImage(getValidationIcon(mostSevere));
- }
-
- @Override
- public String getToolTipText(Object element) {
- final StringBuffer tooltip = new StringBuffer();
- final VDiagnostic vDiagnostic = getControl().getDiagnostic();
- // for (final Object diagObject : vDiagnostic.getDiagnostics()) {
- // final Diagnostic diagnostic = (Diagnostic) diagObject;
- // if (diagnostic.getData().size() < 2) {
- // continue;
- // }
- // if (diagnostic.getSeverity() == Diagnostic.OK) {
- // continue;
- // }
- // if (diagnostic.getData().get(0).equals(element)
- // && structuralFeatures.contains(diagnostic.getData().get(1))) {
- // if (tooltip.length() > 0) {
- // tooltip.append("\n"); //$NON-NLS-1$
- // }
- // tooltip.append(diagnostic.getMessage());
- // }
- // }
-
- final List<Diagnostic> diagnostics = vDiagnostic.getDiagnostics((EObject) element);
- for (final Diagnostic diagnostic : diagnostics) {
- if (tooltip.length() > 0) {
- tooltip.append("\n"); //$NON-NLS-1$
- }
- tooltip.append(diagnostic.getMessage());
- }
-
- return tooltip.toString();
- }
- }
-
- /**
- * The {@link ViewerComparator} for this table which allows 3 states for sort order:
- * none, up and down.
- *
- * @author Eugen Neufeld
- *
- */
- private class ECPTableViewerComparator extends ViewerComparator {
- private int propertyIndex;
- private static final int NONE = 0;
- private int direction = NONE;
-
- public ECPTableViewerComparator() {
- propertyIndex = 0;
- direction = NONE;
- }
-
- public int getDirection() {
- switch (direction) {
- case 0:
- return SWT.NONE;
- case 1:
- return SWT.UP;
- case 2:
- return SWT.DOWN;
- default:
- return SWT.NONE;
- }
-
- }
-
- public void setColumn(int column) {
- if (column == propertyIndex) {
- // Same column as last sort; toggle the direction
- direction = (direction + 1) % 3;
- } else {
- // New column; do an ascending sort
- propertyIndex = column;
- direction = 1;
- }
- }
-
- @Override
- public int compare(Viewer viewer, Object e1, Object e2) {
- if (direction == 0) {
- return 0;
- }
- int rc = 0;
- final EObject object1 = (EObject) e1;
- final EObject object2 = (EObject) e2;
- final EStructuralFeature feat1 = object1.eClass().getEAllStructuralFeatures().get(propertyIndex);
- final EStructuralFeature feat2 = object2.eClass().getEAllStructuralFeatures().get(propertyIndex);
-
- final Object value1 = object1.eGet(feat1);
- final Object value2 = object2.eGet(feat2);
-
- if (value1 == null) {
- rc = 1;
- } else if (value2 == null) {
- rc = -1;
- } else {
- rc = value1.toString().compareTo(value2.toString());
- }
- // If descending order, flip the direction
- if (direction == 2) {
- rc = -rc;
- }
- return rc;
- }
- }
-
- /**
- * ECP specficic cell label provider that does also implement {@link IColorProvider} in
- * order to correctly.
- *
- * @author emueller
- *
- */
- public class ECPCellLabelProvider extends ObservableMapCellLabelProvider implements IColorProvider {
-
- private final EStructuralFeature feature;
- private final CellEditor cellEditor;
-
- /**
- * Constructor.
- *
- * @param feature
- * the {@link EStructuralFeature} the cell is bound to
- * @param cellEditor
- * the {@link CellEditor} instance
- * @param attributeMap
- * an {@link IObservableMap} instance that is passed to the {@link ObservableMapCellLabelProvider}
- */
- public ECPCellLabelProvider(EStructuralFeature feature, CellEditor cellEditor, IObservableMap attributeMap) {
- super(attributeMap);
- this.feature = feature;
- this.cellEditor = cellEditor;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.jface.viewers.CellLabelProvider#getToolTipText(java.lang.Object)
- */
- @Override
- public String getToolTipText(Object element) {
- final EObject domainObject = (EObject) element;
-
- final StringBuffer tooltip = new StringBuffer();
- final VDiagnostic vDiagnostic = getControl().getDiagnostic();
- final List<Diagnostic> diagnostics = vDiagnostic.getDiagnostic(domainObject, feature);
- for (final Diagnostic diagnostic : diagnostics) {
- if (tooltip.length() > 0) {
- tooltip.append("\n"); //$NON-NLS-1$
- }
- tooltip.append(diagnostic.getMessage());
- }
- return tooltip.toString();
-
- // final VDiagnostic vDiagnostic = getControl().getDiagnostic();
- // for (final Object diagObject : vDiagnostic.getDiagnostics()) {
- // final Diagnostic diagnostic = (Diagnostic) diagObject;
- // if (diagnostic.getData().size() < 2) {
- // continue;
- // }
- // if (diagnostic.getData().get(0).equals(element) && diagnostic.getData().get(1).equals(feature)) {
- //
- // if (diagnostic.getChildren() != null && diagnostic.getChildren().size() != 0) {
- // boolean childrenUsefull = false;
- // for (final Diagnostic diagnostic2 : diagnostic.getChildren()) {
- // if (diagnostic2.getSeverity() != Diagnostic.OK) {
- // if (tooltip.length() > 0) {
- // tooltip.append("\n"); //$NON-NLS-1$
- // }
- // tooltip.append(diagnostic2.getMessage());
- // childrenUsefull = true;
- // }
- // }
- // if (!childrenUsefull) {
- // if (tooltip.length() > 0) {
- // tooltip.append("\n"); //$NON-NLS-1$
- // }
- // tooltip.append(diagnostic.getMessage());
- // }
- // } else {
- // if (tooltip.length() > 0) {
- // tooltip.append("\n"); //$NON-NLS-1$
- // }
- // tooltip.append(diagnostic.getMessage());
- // }
- // }
- // }
- // if (tooltip.length() != 0) {
- // return tooltip.toString();
- // }
- // final Object value = ((EObject) element).eGet(feature);
- // if (value == null) {
- // return null;
- // }
- // return String.valueOf(value);
- }
-
- @Override
- public void update(ViewerCell cell) {
- final EObject element = (EObject) cell.getElement();
- final Object value = attributeMaps[0].get(element);
-
- if (ECPCellEditor.class.isInstance(cellEditor)) {
- final ECPCellEditor ecpCellEditor = (ECPCellEditor) cellEditor;
- final String text = ecpCellEditor.getFormatedString(value);
- cell.setText(text == null ? "" : text); //$NON-NLS-1$
- cell.setImage(ecpCellEditor.getImage(value));
- } else {
- cell.setText(value == null ? "" : value.toString()); //$NON-NLS-1$
- cell.getControl().setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_edit_cellEditor_string"); //$NON-NLS-1$
- }
-
- cell.setBackground(getBackground(element));
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object)
- */
- @Override
- public Color getForeground(Object element) {
- return null;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object)
- */
- @Override
- public Color getBackground(Object element) {
- if (isDisposing) {
- return null;
- }
-
- final Integer mostSevere = Diagnostic.OK;
- final VDiagnostic vDiagnostic = getControl().getDiagnostic();
- // for (final Object diagObject : vDiagnostic.getDiagnostics()) {
- // final Diagnostic diagnostic = (Diagnostic) diagObject;
- // if (diagnostic.getData().size() < 2) {
- // continue;
- // }
- // if (diagnostic.getData().get(0).equals(element) && diagnostic.getData().get(1).equals(feature)) {
- // final int currentSeverity = diagnostic.getSeverity();
- // if (currentSeverity > mostSevere) {
- // mostSevere = currentSeverity;
- // }
- // }
- // }
- final List<Diagnostic> diagnostic = vDiagnostic.getDiagnostic((EObject) element, feature);
- return getValidationBackgroundColor(diagnostic.size() == 0 ? Diagnostic.OK : diagnostic.get(0)
- .getSeverity());
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.emf.ecp.edit.internal.swt.util.SWTControl#getUnsetLabelText()
- */
- @Override
- protected String getUnsetLabelText() {
- return ControlMessages.TableControl_NotSetClickToSet;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.emf.ecp.edit.internal.swt.util.SWTControl#getUnsetButtonTooltip()
- */
- @Override
- protected String getUnsetButtonTooltip() {
- return ControlMessages.TableControl_Unset;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.emf.ecp.edit.internal.swt.util.SWTControl#getControlForTooltip()
- */
- @Override
- protected Control[] getControlsForTooltip() {
- // return new Control[] { tableViewer.getControl() };
- return new Control[0];
- }
-
- /**
- * {@inheritDoc}
- *
- * @deprecated
- */
- @Override
- @Deprecated
- public boolean showLabel() {
- return false;
- }
-
- /**
- * Implementation of the {@link EditingSupport} for the generic ECP Table.
- *
- * @author Eugen Neufeld
- *
- */
- private class ECPTableEditingSupport extends EditingSupport {
-
- private final CellEditor cellEditor;
-
- private final EStructuralFeature cellFeature;
-
- /**
- * @param viewer
- */
- public ECPTableEditingSupport(ColumnViewer viewer, CellEditor cellEditor, EStructuralFeature feature) {
- super(viewer);
- this.cellEditor = cellEditor;
- cellFeature = feature;
- }
-
- private EditingState editingState;
-
- private final ColumnViewerEditorActivationListenerHelper activationListener = new ColumnViewerEditorActivationListenerHelper();
-
- /**
- * Default implementation always returns <code>true</code>.
- *
- * @see org.eclipse.jface.viewers.EditingSupport#canEdit(java.lang.Object)
- */
- @Override
- protected boolean canEdit(Object element) {
- if (ECPCellEditor.class.isInstance(cellEditor)) {
- ECPCellEditor.class.cast(cellEditor).setEditable(editable);
- return true;
- }
- return editable;
- }
-
- /**
- * Default implementation always returns <code>null</code> as this will be
- * handled by the Binding.
- *
- * @see org.eclipse.jface.viewers.EditingSupport#getValue(java.lang.Object)
- */
- @Override
- protected Object getValue(Object element) {
- // no op
- return null;
- }
-
- /**
- * Default implementation does nothing as this will be handled by the
- * Binding.
- *
- * @see org.eclipse.jface.viewers.EditingSupport#setValue(java.lang.Object, java.lang.Object)
- */
- @Override
- protected void setValue(Object element, Object value) {
- // no op
- }
-
- /**
- * Creates a {@link Binding} between the editor and the element to be
- * edited. Invokes {@link #doCreateCellEditorObservable(CellEditor)},
- * {@link #doCreateElementObservable(Object, ViewerCell)}, and then
- * {@link #createBinding(IObservableValue, IObservableValue)}.
- */
- @Override
- protected void initializeCellEditorValue(CellEditor cellEditor, ViewerCell cell) {
-
- final IObservableValue target = doCreateCellEditorObservable(cellEditor);
- Assert.isNotNull(target, "doCreateCellEditorObservable(...) did not return an observable"); //$NON-NLS-1$
-
- final IObservableValue model = doCreateElementObservable(cell.getElement(), cell);
- Assert.isNotNull(model, "doCreateElementObservable(...) did not return an observable"); //$NON-NLS-1$
-
- final Binding binding = createBinding(target, model);
-
- Assert.isNotNull(binding, "createBinding(...) did not return a binding"); //$NON-NLS-1$
-
- editingState = new EditingState(binding, target, model);
-
- getViewer().getColumnViewerEditor().addEditorActivationListener(activationListener);
- }
-
- @Override
- protected CellEditor getCellEditor(Object element) {
- return cellEditor;
- }
-
- protected Binding createBinding(IObservableValue target, IObservableValue model) {
- if (ECPCellEditor.class.isInstance(cellEditor)) {
- return getDataBindingContext().bindValue(target, model,
- ((ECPCellEditor) cellEditor).getTargetToModelStrategy(),
- ((ECPCellEditor) cellEditor).getModelToTargetStrategy());
- }
- return getDataBindingContext().bindValue(target, model);
- }
-
- protected IObservableValue doCreateElementObservable(Object element, ViewerCell cell) {
- return EMFEditObservables.observeValue(getEditingDomain(),
- (EObject) element, cellFeature);
- }
-
- protected IObservableValue doCreateCellEditorObservable(CellEditor cellEditor) {
- if (ECPCellEditor.class.isInstance(cellEditor)) {
- return ((ECPCellEditor) cellEditor).getValueProperty().observe(cellEditor);
- }
- return SWTObservables.observeText(cellEditor.getControl(), SWT.FocusOut);
- }
-
- @Override
- protected final void saveCellEditorValue(CellEditor cellEditor, ViewerCell cell) {
- editingState.binding.updateTargetToModel();
- }
-
- class ColumnViewerEditorActivationListenerHelper extends ColumnViewerEditorActivationListener {
-
- @Override
- public void afterEditorActivated(ColumnViewerEditorActivationEvent event) {
- // do nothing
- }
-
- @Override
- public void afterEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
- editingState.dispose();
- editingState = null;
-
- getViewer().getColumnViewerEditor().removeEditorActivationListener(this);
- final ViewerCell focusCell = getViewer().getColumnViewerEditor().getFocusCell();
- if (focusCell != null) {
- getViewer().update(focusCell.getElement(), null);
- }
- }
-
- @Override
- public void beforeEditorActivated(ColumnViewerEditorActivationEvent event) {
- // do nothing
- }
-
- @Override
- public void beforeEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
- // do nothing
- }
- }
-
- /**
- * Maintains references to objects that only live for the length of the edit
- * cycle.
- */
- class EditingState {
- private final IObservableValue target;
-
- private final IObservableValue model;
-
- private final Binding binding;
-
- EditingState(Binding binding, IObservableValue target, IObservableValue model) {
- this.binding = binding;
- this.target = target;
- this.model = model;
- }
-
- void dispose() {
- binding.dispose();
- target.dispose();
- model.dispose();
- }
- }
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ *
+ *******************************************************************************/
+package org.eclipse.emf.ecp.edit.internal.swt.controls;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.databinding.Binding;
+import org.eclipse.core.databinding.observable.list.IObservableList;
+import org.eclipse.core.databinding.observable.map.IObservableMap;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.databinding.EMFProperties;
+import org.eclipse.emf.databinding.EObjectObservableMap;
+import org.eclipse.emf.databinding.edit.EMFEditObservables;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecp.edit.internal.swt.Activator;
+import org.eclipse.emf.ecp.edit.internal.swt.table.TableColumnConfiguration;
+import org.eclipse.emf.ecp.edit.internal.swt.table.TableControlConfiguration;
+import org.eclipse.emf.ecp.edit.internal.swt.util.CellEditorFactory;
+import org.eclipse.emf.ecp.edit.internal.swt.util.SWTControl;
+import org.eclipse.emf.ecp.edit.internal.swt.util.SWTRenderingHelper;
+import org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor;
+import org.eclipse.emf.ecp.edit.spi.swt.util.ECPDialogExecutor;
+import org.eclipse.emf.ecp.view.spi.model.VDiagnostic;
+import org.eclipse.emf.ecp.view.spi.renderer.RenderingResultRow;
+import org.eclipse.emf.edit.command.AddCommand;
+import org.eclipse.emf.edit.command.RemoveCommand;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.eclipse.jface.databinding.swt.SWTObservables;
+import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
+import org.eclipse.jface.databinding.viewers.ObservableMapCellLabelProvider;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.dialogs.IDialogLabelKeys;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.layout.GridDataFactory;
+import org.eclipse.jface.layout.GridLayoutFactory;
+import org.eclipse.jface.layout.TableColumnLayout;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.jface.viewers.CellLabelProvider;
+import org.eclipse.jface.viewers.ColumnViewer;
+import org.eclipse.jface.viewers.ColumnViewerEditor;
+import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
+import org.eclipse.jface.viewers.ColumnViewerEditorActivationListener;
+import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
+import org.eclipse.jface.viewers.ColumnViewerEditorDeactivationEvent;
+import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.EditingSupport;
+import org.eclipse.jface.viewers.IColorProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TableViewerColumn;
+import org.eclipse.jface.viewers.TableViewerEditor;
+import org.eclipse.jface.viewers.TableViewerFocusCellManager;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerCell;
+import org.eclipse.jface.viewers.ViewerComparator;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.TableColumn;
+
+/**
+ * The class describing a table control.
+ *
+ * @author Eugen Neufeld
+ * @author emueller
+ */
+// this class is not serialized
+@Deprecated
+public class TableControl extends SWTControl {
+
+ private static final String FIXED_COLUMNS = "org.eclipse.rap.rwt.fixedColumns"; //$NON-NLS-1$
+
+ private static final String ICON_ADD = "icons/add.png"; //$NON-NLS-1$
+ private static final String ICONS_UNSET_REFERENCE = "icons/unset_reference.png"; //$NON-NLS-1$
+ private static final String ICONS_UNSET_FEATURE = "icons/unset_feature.png"; //$NON-NLS-1$
+
+ private TableViewer tableViewer;
+ private ComposedAdapterFactory composedAdapterFactory;
+ private AdapterFactoryItemDelegator adapterFactoryItemDelegator;
+ private Button unsetButton;
+ private EClass clazz;
+ private TableControlConfiguration tableControlConfiguration;
+ private boolean editable = true;
+
+ private EReference getTableReference() {
+ return (EReference) getFirstStructuralFeature();
+ }
+
+ /**
+ *
+ * @param tableControlConfiguration the {@link TableControlConfiguration} to use when creating the table
+ */
+ public final void setTableControlConfiguration(TableControlConfiguration tableControlConfiguration) {
+ this.tableControlConfiguration = tableControlConfiguration;
+ }
+
+ @Override
+ protected Binding bindValue() {
+ return null;
+ }
+
+ /**
+ *
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.internal.swt.util.ECPControlSWT#createControls(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ public List<RenderingResultRow<Control>> createControls(final Composite parent) {
+ final IItemPropertyDescriptor itemPropertyDescriptor = getItemPropertyDescriptor(getFirstSetting());
+ if (itemPropertyDescriptor == null) {
+ return null;
+ }
+ parent.addDisposeListener(new DisposeListener() {
+
+ @Override
+ public void widgetDisposed(DisposeEvent e) {
+ dispose();
+ }
+ });
+ final List<RenderingResultRow<Control>> list = Collections.singletonList(SWTRenderingHelper.INSTANCE
+ .getResultRowFactory().createRenderingResultRow(
+ createControl(parent)));
+
+ applyValidation(getControl().getDiagnostic());
+ return list;
+
+ }
+
+ @Override
+ public Composite createControl(final Composite parent) {
+ mainSetting = getFirstSetting();
+ composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
+ new ReflectiveItemProviderAdapterFactory(),
+ new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
+
+ adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(composedAdapterFactory);
+
+ clazz = getTableReference().getEReferenceType();
+
+ final Composite composite = new Composite(parent, SWT.NONE);
+ composite.setLayout(new GridLayout(1, false));
+ composite.setBackground(parent.getBackground());
+
+ final Composite titleComposite = new Composite(composite, SWT.NONE);
+ titleComposite.setBackground(parent.getBackground());
+ GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.BEGINNING)
+ .applyTo(titleComposite);
+ GridLayoutFactory.fillDefaults().numColumns(3).equalWidth(false).applyTo(titleComposite);
+
+ final Label label = new Label(titleComposite, SWT.NONE);
+ label.setBackground(parent.getBackground());
+ label.setText(getItemPropertyDescriptor(mainSetting).getDisplayName(null));
+ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).applyTo(label);
+
+ // VALIDATION
+ validationLabel = new Label(titleComposite, SWT.NONE);
+ validationLabel.setBackground(parent.getBackground());
+ // set the size of the label to the size of the image
+ GridDataFactory.fillDefaults().hint(16, 17).applyTo(validationLabel);
+
+ boolean createButtons = true;
+ if (tableControlConfiguration != null) {
+ createButtons = !tableControlConfiguration.isAddRemoveDisabled();
+ }
+ if (createButtons) {
+ // addButtons
+ final Composite buttonComposite = new Composite(titleComposite, SWT.NONE);
+ GridDataFactory.fillDefaults().align(SWT.END, SWT.BEGINNING).grab(true, false).applyTo(buttonComposite);
+ int numButtons = 2;
+
+ createAddRowButton(clazz, buttonComposite);
+ createRemoveRowButton(clazz, buttonComposite);
+ if (!isEmbedded() && getTableReference().isUnsettable()) {
+ unsetButton = new Button(buttonComposite, SWT.PUSH);
+ unsetButton.setToolTipText(getUnsetButtonTooltip());
+ unsetButton.setImage(Activator.getImage(ICONS_UNSET_FEATURE));
+ numButtons++;
+ }
+ GridLayoutFactory.fillDefaults().numColumns(numButtons).equalWidth(true).applyTo(buttonComposite);
+ }
+ final Composite controlComposite = new Composite(composite, SWT.NONE);
+ GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL,
+ SWT.FILL).applyTo(controlComposite);
+ GridLayoutFactory.fillDefaults().numColumns(1).applyTo(controlComposite);
+
+ // delegate to super class
+ createContentControl(controlComposite);
+
+ return composite;
+ }
+
+ private TableViewer createTableViewer(Composite parent) {
+ final TableViewer tableViewer = new TableViewer(parent, SWT.MULTI | SWT.V_SCROLL | SWT.FULL_SELECTION
+ | SWT.BORDER);
+ tableViewer.getTable().setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_control_table"); //$NON-NLS-1$
+ tableViewer.getTable().setHeaderVisible(true);
+ tableViewer.getTable().setLinesVisible(true);
+
+ final TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(tableViewer,
+ new ECPFocusCellDrawHighlighter(tableViewer));
+ final ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tableViewer) {
+ @Override
+ protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
+ return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
+ || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION
+ || event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR
+ || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
+ }
+ };
+
+ TableViewerEditor.create(tableViewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL
+ | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL
+ | ColumnViewerEditor.KEYBOARD_ACTIVATION);
+
+ tableViewer.getTable().setData(FIXED_COLUMNS, new Integer(1));
+ ColumnViewerToolTipSupport.enableFor(tableViewer);
+
+ return tableViewer;
+ }
+
+ private void createFixedValidationStatusColumn(TableViewer tableViewer,
+ final List<EStructuralFeature> structuralFeatures) {
+ final TableViewerColumn column = TableViewerColumnBuilder
+ .create()
+ .setMoveable(false)
+ .setText(
+ LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.TableControl_ValidationStatusColumn))
+ .setWidth(80)
+ .build(tableViewer);
+
+ column.setLabelProvider(new ValidationStatusCellLabelProvider(structuralFeatures));
+ }
+
+ private EObject getInstanceOf(EClass clazz) {
+ return clazz.getEPackage().getEFactoryInstance().create(clazz);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
+ * org.eclipse.emf.ecp.edit.internal.swt.util.SWTControl#fillControlComposite(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected void fillControlComposite(Composite parent) {
+ final Composite composite = new Composite(parent, SWT.NONE);
+ GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).hint(1, 200).applyTo(composite);
+ tableViewer = createTableViewer(composite);
+
+ final ObservableListContentProvider cp = new ObservableListContentProvider();
+ final EObject tempInstance = getInstanceOf(clazz);
+ final ECPTableViewerComparator comparator = new ECPTableViewerComparator();
+ tableViewer.setComparator(comparator);
+ int columnNumber = 0;
+ final Map<EStructuralFeature, Boolean> readOnlyConfig = createReadOnlyConfig(clazz);
+ final List<EStructuralFeature> structuralFeatures = new ArrayList<EStructuralFeature>();
+ structuralFeatures.addAll(readOnlyConfig.keySet());
+ if (!getControl().isReadonly()) {
+ createFixedValidationStatusColumn(tableViewer, structuralFeatures);
+ }
+
+ for (final EStructuralFeature feature : structuralFeatures) {
+ final IItemPropertyDescriptor itemPropertyDescriptor = adapterFactoryItemDelegator.getPropertyDescriptor(
+ tempInstance, feature);
+ if (itemPropertyDescriptor == null) {
+ // if we can't render because no edit information is available, do nothing
+ continue;
+ }
+
+ final CellEditor cellEditor = createCellEditor(tempInstance, feature);
+ final TableViewerColumn column = TableViewerColumnBuilder
+ .create()
+ .setText(itemPropertyDescriptor.getDisplayName(null))
+ .setToolTipText(itemPropertyDescriptor.getDescription(null))
+ .setResizable(true)
+ .setMoveable(false)
+ .setStyle(noStyle())
+ .setData("width", //$NON-NLS-1$
+ ECPCellEditor.class.isInstance(cellEditor) ? ECPCellEditor.class.cast(cellEditor)
+ .getColumnWidthWeight() : 100)
+ .build(tableViewer);
+
+ column.setLabelProvider(new ECPCellLabelProvider(feature, cellEditor,
+ feature.isMany() ? new EObjectObservableMap(cp.getKnownElements(), feature)
+ : EMFProperties.value(feature).observeDetail(cp.getKnownElements())));
+ column.getColumn().addSelectionListener(getSelectionAdapter(comparator, column.getColumn(), columnNumber));
+
+ if (!isReadOnlyFeature(readOnlyConfig, feature)) {
+ // remove if no editing needed
+ final EditingSupport observableSupport = new ECPTableEditingSupport(tableViewer, cellEditor, feature);
+ column.setEditingSupport(observableSupport);
+ }
+ columnNumber++;
+ }
+ tableViewer.setContentProvider(cp);
+ final IObservableList list = EMFEditObservables.observeList(getEditingDomain(mainSetting),
+ mainSetting.getEObject(), mainSetting.getEStructuralFeature());
+ tableViewer.setInput(list);
+
+ // IMPORTANT:
+ // - the minimumWidth and (non)resizable settings of the ColumnWeightData are not supported properly
+ // - the layout stops resizing columns that have been resized manually by the user (this could be considered a
+ // feature though)
+ final TableColumnLayout layout = new TableColumnLayout();
+ composite.setLayout(layout);
+ for (int i = 0; i < tableViewer.getTable().getColumns().length; i++) {
+ final Integer storedValue = (Integer) tableViewer.getTable().getColumns()[i].getData("width"); //$NON-NLS-1$
+ layout.setColumnData(tableViewer.getTable().getColumns()[i], new ColumnWeightData(storedValue == null ? 50
+ : storedValue));
+ }
+ }
+
+ private CellEditor createCellEditor(final EObject tempInstance, final EStructuralFeature feature) {
+ return CellEditorFactory.INSTANCE.getCellEditor(feature,
+ tempInstance, tableViewer.getTable(), getViewModelContext());
+ }
+
+ private static boolean isReadOnlyFeature(Map<EStructuralFeature, Boolean> readOnlyConfig,
+ EStructuralFeature feature) {
+ if (readOnlyConfig != null) {
+ final Boolean isReadOnly = readOnlyConfig.get(feature);
+ if (isReadOnly != null) {
+ return isReadOnly;
+ }
+ }
+ return false;
+ }
+
+ private Map<EStructuralFeature, Boolean> createReadOnlyConfig(EClass clazz) {
+ final Map<EStructuralFeature, Boolean> readOnlyConfig = new LinkedHashMap<EStructuralFeature, Boolean>();
+ if (tableControlConfiguration != null) {
+ for (final TableColumnConfiguration tcc : tableControlConfiguration.getColumns()) {
+ readOnlyConfig.put(tcc.getColumnAttribute(), tcc.isReadOnly());
+ }
+ } else {
+ for (final EStructuralFeature feature : clazz.getEStructuralFeatures()) {
+ readOnlyConfig.put(feature, Boolean.FALSE);
+ }
+ }
+ return readOnlyConfig;
+ }
+
+ private int noStyle() {
+ return SWT.NONE;
+ }
+
+ @Override
+ protected Button getCustomUnsetButton() {
+ return unsetButton;
+ }
+
+ private SelectionAdapter getSelectionAdapter(final ECPTableViewerComparator comparator, final TableColumn column,
+ final int index) {
+ final SelectionAdapter selectionAdapter = new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ comparator.setColumn(index);
+ final int dir = comparator.getDirection();
+ tableViewer.getTable().setSortDirection(dir);
+ tableViewer.getTable().setSortColumn(column);
+ tableViewer.refresh();
+ }
+ };
+ return selectionAdapter;
+ }
+
+ private Button removeButton;
+
+ private void createRemoveRowButton(EClass clazz, final Composite buttonComposite) {
+ removeButton = new Button(buttonComposite, SWT.None);
+ final Image image = Activator.getImage(ICONS_UNSET_REFERENCE);
+ removeButton.setImage(image);
+ removeButton.setToolTipText(LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.TableControl_RemoveSelected)
+ + clazz.getInstanceClass().getSimpleName());
+ removeButton.addSelectionListener(new SelectionAdapter() {
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ final IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
+
+ if (selection == null || selection.getFirstElement() == null) {
+ return;
+ }
+
+ final List<EObject> deletionList = new ArrayList<EObject>();
+ final Iterator<?> iterator = selection.iterator();
+
+ while (iterator.hasNext()) {
+ deletionList.add((EObject) iterator.next());
+ }
+
+ deleteRowUserConfirmDialog(deletionList);
+
+ }
+ });
+
+ final List<?> containments = (List<?>) mainSetting.get(true);
+ if (containments.size() <= getTableReference().getLowerBound()) {
+ removeButton.setEnabled(false);
+ }
+ }
+
+ /**
+ * This method shows a user confirmation dialog when the user attempts to delete a row in the table.
+ *
+ * @param deletionList the list of selected EObjects to delete
+ */
+ protected void deleteRowUserConfirmDialog(final List<EObject> deletionList) {
+ final MessageDialog dialog = new MessageDialog(
+ tableViewer.getTable().getShell(),
+ LocalizationServiceHelper.getString(getClass(), DepricatedControlMessageKeys.TableControl_Delete),
+ null,
+ LocalizationServiceHelper.getString(getClass(), DepricatedControlMessageKeys.TableControl_DeleteAreYouSure),
+ MessageDialog.CONFIRM, new String[] {
+ JFaceResources.getString(IDialogLabelKeys.YES_LABEL_KEY),
+ JFaceResources.getString(IDialogLabelKeys.NO_LABEL_KEY) },
+ 0);
+
+ new ECPDialogExecutor(dialog) {
+
+ @Override
+ public void handleResult(int codeResult) {
+ if (codeResult == IDialogConstants.CANCEL_ID) {
+ return;
+ }
+
+ deleteRows(deletionList);
+
+ final List<?> containments = (List<?>) mainSetting.get(true);
+ if (containments.size() < getTableReference().getUpperBound()) {
+ addButton.setEnabled(true);
+ }
+ if (containments.size() <= getTableReference().getLowerBound()) {
+ removeButton.setEnabled(false);
+ }
+ }
+ }.execute();
+ }
+
+ /**
+ * This is called by {@link #deleteRowUserConfirmDialog(List)} after the user confirmed to delete the selected
+ * elements.
+ *
+ * @param deletionList the list of {@link EObject EObjects} to delete
+ */
+ protected void deleteRows(List<EObject> deletionList) {
+ final EditingDomain editingDomain = getEditingDomain(mainSetting);
+ final EObject modelElement = mainSetting.getEObject();
+ editingDomain.getCommandStack().execute(
+ RemoveCommand.create(editingDomain, modelElement, getTableReference(), deletionList));
+ }
+
+ /**
+ * This method is called to add a new entry in the domain model and thus to create a new row in the table. The
+ * element to create is defined by the provided class.
+ * You can override this method but you have to call super nonetheless.
+ *
+ * @param clazz the {@link EClass} defining the EObject to create
+ */
+ protected void addRow(EClass clazz) {
+ final EObject modelElement = mainSetting.getEObject();
+ final EObject instance = clazz.getEPackage().getEFactoryInstance().create(clazz);
+
+ final EditingDomain editingDomain = getEditingDomain(mainSetting);
+ editingDomain.getCommandStack().execute(
+ AddCommand.create(editingDomain, modelElement, getTableReference(), instance));
+
+ }
+
+ private Button addButton;
+ private Setting mainSetting;
+
+ private boolean isDisposing;
+
+ private void createAddRowButton(final EClass clazz, final Composite buttonComposite) {
+ addButton = new Button(buttonComposite, SWT.None);
+ final Image image = Activator.getImage(ICON_ADD);
+ addButton.setImage(image);
+ addButton.setToolTipText(LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.TableControl_AddInstanceOf) + clazz.getInstanceClass().getSimpleName());
+ addButton.addSelectionListener(new SelectionAdapter() {
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ addRow(clazz);
+
+ final List<?> containments = (List<?>) mainSetting.get(true);
+ if (getTableReference().getUpperBound() != -1
+ && containments.size() >= getTableReference().getUpperBound()) {
+ addButton.setEnabled(false);
+ }
+ if (containments.size() > getTableReference().getLowerBound()) {
+ removeButton.setEnabled(true);
+ }
+ }
+ });
+
+ final List<?> containments = (List<?>) mainSetting.get(true);
+ if (getTableReference().getUpperBound() != -1
+ && containments.size() >= getTableReference().getUpperBound()) {
+ addButton.setEnabled(false);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void dispose() {
+ isDisposing = true;
+ super.dispose();
+ composedAdapterFactory.dispose();
+ mainSetting = null;
+ adapterFactoryItemDelegator = null;
+ composedAdapterFactory = null;
+ isDisposing = false;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.spi.ECPAbstractControl#applyValidation(org.eclipse.emf.ecp.view.spi.model.VDiagnostic)
+ */
+ @Override
+ protected void applyValidation(VDiagnostic diagnostic) {
+
+ if (validationLabel == null || validationLabel.isDisposed()) {
+ return;
+ }
+ if (diagnostic != null) {
+ final Image image = getValidationIcon(diagnostic.getHighestSeverity());
+ validationLabel.setImage(image);
+ validationLabel.setToolTipText(diagnostic.getMessage());
+ for (final Object object : (Collection<?>) mainSetting.get(true)) {
+ tableViewer.update(object, null);
+ }
+ }
+ }
+
+ // /**
+ // * {@inheritDoc}
+ // *
+ // * @deprecated
+ // */
+ // @Deprecated
+ // @Override
+ // public void resetValidation() {
+ // if (validationLabel == null || validationLabel.isDisposed()) {
+ // return;
+ // }
+ // validationLabel.setToolTipText(""); //$NON-NLS-1$
+ // validationLabel.setImage(null);
+ // tableViewer.refresh();
+ // }
+ // /**
+ // * {@inheritDoc}
+ // *
+ // * @deprecated
+ // */
+ // @Deprecated
+ // @Override
+ // public void handleValidation(Diagnostic diagnostic) {
+ // if (diagnostic.getData().isEmpty()) {
+ // return;
+ // }
+ // final Image image = getValidationIcon(diagnostic.getSeverity());
+ // validationLabel.setImage(image);
+ // validationLabel.setToolTipText(getTableTooltipMessage(diagnostic));
+ // final EObject object = (EObject) diagnostic.getData().get(0);
+ // tableViewer.update(object, null);
+ // }
+
+ /**
+ * Returns the message of the validation tool tip shown in the table header.
+ *
+ * @param diagnostic the {@link Diagnostic} to extract the message from
+ * @return the message
+ */
+ protected String getTableTooltipMessage(Diagnostic diagnostic) {
+ return diagnostic.getMessage();
+ }
+
+ /**
+ * Returns the message of the validation tool tip shown in the row.
+ *
+ * @param vDiagnostic the {@link VDiagnostic} to get the message from
+ * @return the message
+ */
+ protected String getRowTooltipMessage(VDiagnostic vDiagnostic) {
+ return vDiagnostic.getMessage();
+ }
+
+ /**
+ * Returns the message of the validation tool tip shown in the cell.
+ *
+ * @param vDiagnostic the {@link VDiagnostic} to get the message from
+ * @return the message
+ */
+ protected String getCellTooltipMessage(VDiagnostic vDiagnostic) {
+ if (vDiagnostic == null) {
+ return null;
+ }
+ if (vDiagnostic.getDiagnostics().size() == 0) {
+ return vDiagnostic.getMessage();
+ }
+ final Diagnostic diagnostic = (Diagnostic) vDiagnostic.getDiagnostics().get(0);
+ Diagnostic reason = diagnostic;
+ if (diagnostic.getChildren() != null && diagnostic.getChildren().size() != 0) {
+ reason = diagnostic.getChildren().get(0);
+ }
+ return reason.getMessage();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @deprecated
+ */
+ @Deprecated
+ @Override
+ public void setEditable(boolean isEditable) {
+ if (addButton != null) {
+ addButton.setVisible(isEditable);
+ }
+ if (removeButton != null) {
+ removeButton.setVisible(isEditable);
+ }
+ editable = isEditable;
+ }
+
+ /**
+ * @author Jonas
+ *
+ */
+ private final class ValidationStatusCellLabelProvider extends CellLabelProvider {
+ private final List<EStructuralFeature> structuralFeatures;
+
+ /**
+ * @param structuralFeatures
+ */
+ private ValidationStatusCellLabelProvider(List<EStructuralFeature> structuralFeatures) {
+ this.structuralFeatures = structuralFeatures;
+ }
+
+ @Override
+ public void update(ViewerCell cell) {
+ Integer mostSevere = Diagnostic.OK;
+ final VDiagnostic vDiagnostic = getControl().getDiagnostic();
+ // for (final Object diagObject : vDiagnostic.getDiagnostics()) {
+ // final Diagnostic diagnostic = (Diagnostic) diagObject;
+ // if (diagnostic.getData().size() == 0) {
+ // continue;
+ // }
+ // if (diagnostic.getData().get(0).equals(cell.getElement())) {
+ // final int currentSeverity = diagnostic.getSeverity();
+ // if (currentSeverity > mostSevere) {
+ // mostSevere = currentSeverity;
+ // }
+ // }
+ // }
+ final List<Diagnostic> diagnostics = vDiagnostic.getDiagnostics((EObject) cell.getElement());
+ if (diagnostics.size() != 0) {
+ mostSevere = diagnostics.get(0).getSeverity();
+ }
+ cell.setImage(getValidationIcon(mostSevere));
+ }
+
+ @Override
+ public String getToolTipText(Object element) {
+ final StringBuffer tooltip = new StringBuffer();
+ final VDiagnostic vDiagnostic = getControl().getDiagnostic();
+ // for (final Object diagObject : vDiagnostic.getDiagnostics()) {
+ // final Diagnostic diagnostic = (Diagnostic) diagObject;
+ // if (diagnostic.getData().size() < 2) {
+ // continue;
+ // }
+ // if (diagnostic.getSeverity() == Diagnostic.OK) {
+ // continue;
+ // }
+ // if (diagnostic.getData().get(0).equals(element)
+ // && structuralFeatures.contains(diagnostic.getData().get(1))) {
+ // if (tooltip.length() > 0) {
+ // tooltip.append("\n"); //$NON-NLS-1$
+ // }
+ // tooltip.append(diagnostic.getMessage());
+ // }
+ // }
+
+ final List<Diagnostic> diagnostics = vDiagnostic.getDiagnostics((EObject) element);
+ for (final Diagnostic diagnostic : diagnostics) {
+ if (tooltip.length() > 0) {
+ tooltip.append("\n"); //$NON-NLS-1$
+ }
+ tooltip.append(diagnostic.getMessage());
+ }
+
+ return tooltip.toString();
+ }
+ }
+
+ /**
+ * The {@link ViewerComparator} for this table which allows 3 states for sort order:
+ * none, up and down.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+ private class ECPTableViewerComparator extends ViewerComparator {
+ private int propertyIndex;
+ private static final int NONE = 0;
+ private int direction = NONE;
+
+ public ECPTableViewerComparator() {
+ propertyIndex = 0;
+ direction = NONE;
+ }
+
+ public int getDirection() {
+ switch (direction) {
+ case 0:
+ return SWT.NONE;
+ case 1:
+ return SWT.UP;
+ case 2:
+ return SWT.DOWN;
+ default:
+ return SWT.NONE;
+ }
+
+ }
+
+ public void setColumn(int column) {
+ if (column == propertyIndex) {
+ // Same column as last sort; toggle the direction
+ direction = (direction + 1) % 3;
+ } else {
+ // New column; do an ascending sort
+ propertyIndex = column;
+ direction = 1;
+ }
+ }
+
+ @Override
+ public int compare(Viewer viewer, Object e1, Object e2) {
+ if (direction == 0) {
+ return 0;
+ }
+ int rc = 0;
+ final EObject object1 = (EObject) e1;
+ final EObject object2 = (EObject) e2;
+ final EStructuralFeature feat1 = object1.eClass().getEAllStructuralFeatures().get(propertyIndex);
+ final EStructuralFeature feat2 = object2.eClass().getEAllStructuralFeatures().get(propertyIndex);
+
+ final Object value1 = object1.eGet(feat1);
+ final Object value2 = object2.eGet(feat2);
+
+ if (value1 == null) {
+ rc = 1;
+ } else if (value2 == null) {
+ rc = -1;
+ } else {
+ rc = value1.toString().compareTo(value2.toString());
+ }
+ // If descending order, flip the direction
+ if (direction == 2) {
+ rc = -rc;
+ }
+ return rc;
+ }
+ }
+
+ /**
+ * ECP specficic cell label provider that does also implement {@link IColorProvider} in
+ * order to correctly.
+ *
+ * @author emueller
+ *
+ */
+ public class ECPCellLabelProvider extends ObservableMapCellLabelProvider implements IColorProvider {
+
+ private final EStructuralFeature feature;
+ private final CellEditor cellEditor;
+
+ /**
+ * Constructor.
+ *
+ * @param feature
+ * the {@link EStructuralFeature} the cell is bound to
+ * @param cellEditor
+ * the {@link CellEditor} instance
+ * @param attributeMap
+ * an {@link IObservableMap} instance that is passed to the {@link ObservableMapCellLabelProvider}
+ */
+ public ECPCellLabelProvider(EStructuralFeature feature, CellEditor cellEditor, IObservableMap attributeMap) {
+ super(attributeMap);
+ this.feature = feature;
+ this.cellEditor = cellEditor;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.jface.viewers.CellLabelProvider#getToolTipText(java.lang.Object)
+ */
+ @Override
+ public String getToolTipText(Object element) {
+ final EObject domainObject = (EObject) element;
+
+ final StringBuffer tooltip = new StringBuffer();
+ final VDiagnostic vDiagnostic = getControl().getDiagnostic();
+ final List<Diagnostic> diagnostics = vDiagnostic.getDiagnostic(domainObject, feature);
+ for (final Diagnostic diagnostic : diagnostics) {
+ if (tooltip.length() > 0) {
+ tooltip.append("\n"); //$NON-NLS-1$
+ }
+ tooltip.append(diagnostic.getMessage());
+ }
+ return tooltip.toString();
+
+ // final VDiagnostic vDiagnostic = getControl().getDiagnostic();
+ // for (final Object diagObject : vDiagnostic.getDiagnostics()) {
+ // final Diagnostic diagnostic = (Diagnostic) diagObject;
+ // if (diagnostic.getData().size() < 2) {
+ // continue;
+ // }
+ // if (diagnostic.getData().get(0).equals(element) && diagnostic.getData().get(1).equals(feature)) {
+ //
+ // if (diagnostic.getChildren() != null && diagnostic.getChildren().size() != 0) {
+ // boolean childrenUsefull = false;
+ // for (final Diagnostic diagnostic2 : diagnostic.getChildren()) {
+ // if (diagnostic2.getSeverity() != Diagnostic.OK) {
+ // if (tooltip.length() > 0) {
+ // tooltip.append("\n"); //$NON-NLS-1$
+ // }
+ // tooltip.append(diagnostic2.getMessage());
+ // childrenUsefull = true;
+ // }
+ // }
+ // if (!childrenUsefull) {
+ // if (tooltip.length() > 0) {
+ // tooltip.append("\n"); //$NON-NLS-1$
+ // }
+ // tooltip.append(diagnostic.getMessage());
+ // }
+ // } else {
+ // if (tooltip.length() > 0) {
+ // tooltip.append("\n"); //$NON-NLS-1$
+ // }
+ // tooltip.append(diagnostic.getMessage());
+ // }
+ // }
+ // }
+ // if (tooltip.length() != 0) {
+ // return tooltip.toString();
+ // }
+ // final Object value = ((EObject) element).eGet(feature);
+ // if (value == null) {
+ // return null;
+ // }
+ // return String.valueOf(value);
+ }
+
+ @Override
+ public void update(ViewerCell cell) {
+ final EObject element = (EObject) cell.getElement();
+ final Object value = attributeMaps[0].get(element);
+
+ if (ECPCellEditor.class.isInstance(cellEditor)) {
+ final ECPCellEditor ecpCellEditor = (ECPCellEditor) cellEditor;
+ final String text = ecpCellEditor.getFormatedString(value);
+ cell.setText(text == null ? "" : text); //$NON-NLS-1$
+ cell.setImage(ecpCellEditor.getImage(value));
+ } else {
+ cell.setText(value == null ? "" : value.toString()); //$NON-NLS-1$
+ cell.getControl().setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_edit_cellEditor_string"); //$NON-NLS-1$
+ }
+
+ cell.setBackground(getBackground(element));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object)
+ */
+ @Override
+ public Color getForeground(Object element) {
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object)
+ */
+ @Override
+ public Color getBackground(Object element) {
+ if (isDisposing) {
+ return null;
+ }
+
+ final Integer mostSevere = Diagnostic.OK;
+ final VDiagnostic vDiagnostic = getControl().getDiagnostic();
+ // for (final Object diagObject : vDiagnostic.getDiagnostics()) {
+ // final Diagnostic diagnostic = (Diagnostic) diagObject;
+ // if (diagnostic.getData().size() < 2) {
+ // continue;
+ // }
+ // if (diagnostic.getData().get(0).equals(element) && diagnostic.getData().get(1).equals(feature)) {
+ // final int currentSeverity = diagnostic.getSeverity();
+ // if (currentSeverity > mostSevere) {
+ // mostSevere = currentSeverity;
+ // }
+ // }
+ // }
+ final List<Diagnostic> diagnostic = vDiagnostic.getDiagnostic((EObject) element, feature);
+ return getValidationBackgroundColor(diagnostic.size() == 0 ? Diagnostic.OK : diagnostic.get(0)
+ .getSeverity());
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.emf.ecp.edit.internal.swt.util.SWTControl#getUnsetLabelText()
+ */
+ @Override
+ protected String getUnsetLabelText() {
+ return LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.TableControl_NotSetClickToSet);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.emf.ecp.edit.internal.swt.util.SWTControl#getUnsetButtonTooltip()
+ */
+ @Override
+ protected String getUnsetButtonTooltip() {
+ return LocalizationServiceHelper.getString(getClass(), DepricatedControlMessageKeys.TableControl_Unset);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.emf.ecp.edit.internal.swt.util.SWTControl#getControlForTooltip()
+ */
+ @Override
+ protected Control[] getControlsForTooltip() {
+ // return new Control[] { tableViewer.getControl() };
+ return new Control[0];
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @deprecated
+ */
+ @Override
+ @Deprecated
+ public boolean showLabel() {
+ return false;
+ }
+
+ /**
+ * Implementation of the {@link EditingSupport} for the generic ECP Table.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+ private class ECPTableEditingSupport extends EditingSupport {
+
+ private final CellEditor cellEditor;
+
+ private final EStructuralFeature cellFeature;
+
+ /**
+ * @param viewer
+ */
+ public ECPTableEditingSupport(ColumnViewer viewer, CellEditor cellEditor, EStructuralFeature feature) {
+ super(viewer);
+ this.cellEditor = cellEditor;
+ cellFeature = feature;
+ }
+
+ private EditingState editingState;
+
+ private final ColumnViewerEditorActivationListenerHelper activationListener = new ColumnViewerEditorActivationListenerHelper();
+
+ /**
+ * Default implementation always returns <code>true</code>.
+ *
+ * @see org.eclipse.jface.viewers.EditingSupport#canEdit(java.lang.Object)
+ */
+ @Override
+ protected boolean canEdit(Object element) {
+ if (ECPCellEditor.class.isInstance(cellEditor)) {
+ ECPCellEditor.class.cast(cellEditor).setEditable(editable);
+ return true;
+ }
+ return editable;
+ }
+
+ /**
+ * Default implementation always returns <code>null</code> as this will be
+ * handled by the Binding.
+ *
+ * @see org.eclipse.jface.viewers.EditingSupport#getValue(java.lang.Object)
+ */
+ @Override
+ protected Object getValue(Object element) {
+ // no op
+ return null;
+ }
+
+ /**
+ * Default implementation does nothing as this will be handled by the
+ * Binding.
+ *
+ * @see org.eclipse.jface.viewers.EditingSupport#setValue(java.lang.Object, java.lang.Object)
+ */
+ @Override
+ protected void setValue(Object element, Object value) {
+ // no op
+ }
+
+ /**
+ * Creates a {@link Binding} between the editor and the element to be
+ * edited. Invokes {@link #doCreateCellEditorObservable(CellEditor)},
+ * {@link #doCreateElementObservable(Object, ViewerCell)}, and then
+ * {@link #createBinding(IObservableValue, IObservableValue)}.
+ */
+ @Override
+ protected void initializeCellEditorValue(CellEditor cellEditor, ViewerCell cell) {
+
+ final IObservableValue target = doCreateCellEditorObservable(cellEditor);
+ Assert.isNotNull(target, "doCreateCellEditorObservable(...) did not return an observable"); //$NON-NLS-1$
+
+ final IObservableValue model = doCreateElementObservable(cell.getElement(), cell);
+ Assert.isNotNull(model, "doCreateElementObservable(...) did not return an observable"); //$NON-NLS-1$
+
+ final Binding binding = createBinding(target, model);
+
+ Assert.isNotNull(binding, "createBinding(...) did not return a binding"); //$NON-NLS-1$
+
+ editingState = new EditingState(binding, target, model);
+
+ getViewer().getColumnViewerEditor().addEditorActivationListener(activationListener);
+ }
+
+ @Override
+ protected CellEditor getCellEditor(Object element) {
+ return cellEditor;
+ }
+
+ protected Binding createBinding(IObservableValue target, IObservableValue model) {
+ if (ECPCellEditor.class.isInstance(cellEditor)) {
+ return getDataBindingContext().bindValue(target, model,
+ ((ECPCellEditor) cellEditor).getTargetToModelStrategy(getDataBindingContext()),
+ ((ECPCellEditor) cellEditor).getModelToTargetStrategy(getDataBindingContext()));
+ }
+ return getDataBindingContext().bindValue(target, model);
+ }
+
+ protected IObservableValue doCreateElementObservable(Object element, ViewerCell cell) {
+ return EMFEditObservables.observeValue(getEditingDomain(),
+ (EObject) element, cellFeature);
+ }
+
+ protected IObservableValue doCreateCellEditorObservable(CellEditor cellEditor) {
+ if (ECPCellEditor.class.isInstance(cellEditor)) {
+ return ((ECPCellEditor) cellEditor).getValueProperty().observe(cellEditor);
+ }
+ return SWTObservables.observeText(cellEditor.getControl(), SWT.FocusOut);
+ }
+
+ @Override
+ protected final void saveCellEditorValue(CellEditor cellEditor, ViewerCell cell) {
+ editingState.binding.updateTargetToModel();
+ }
+
+ class ColumnViewerEditorActivationListenerHelper extends ColumnViewerEditorActivationListener {
+
+ @Override
+ public void afterEditorActivated(ColumnViewerEditorActivationEvent event) {
+ // do nothing
+ }
+
+ @Override
+ public void afterEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
+ editingState.dispose();
+ editingState = null;
+
+ getViewer().getColumnViewerEditor().removeEditorActivationListener(this);
+ final ViewerCell focusCell = getViewer().getColumnViewerEditor().getFocusCell();
+ if (focusCell != null) {
+ getViewer().update(focusCell.getElement(), null);
+ }
+ }
+
+ @Override
+ public void beforeEditorActivated(ColumnViewerEditorActivationEvent event) {
+ // do nothing
+ }
+
+ @Override
+ public void beforeEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
+ // do nothing
+ }
+ }
+
+ /**
+ * Maintains references to objects that only live for the length of the edit
+ * cycle.
+ */
+ class EditingState {
+ private final IObservableValue target;
+
+ private final IObservableValue model;
+
+ private final Binding binding;
+
+ EditingState(Binding binding, IObservableValue target, IObservableValue model) {
+ this.binding = binding;
+ this.target = target;
+ this.model = model;
+ }
+
+ void dispose() {
+ binding.dispose();
+ target.dispose();
+ model.dispose();
+ }
+ }
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableViewerColumnBuilder.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableViewerColumnBuilder.java
index d34c1b8..6a94991 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableViewerColumnBuilder.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/TableViewerColumnBuilder.java
@@ -11,6 +11,10 @@
******************************************************************************/
package org.eclipse.emf.ecp.edit.internal.swt.controls;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.swt.SWT;
@@ -27,8 +31,7 @@
private Boolean isMoveable;
private String text;
private String tooltip;
- private String key;
- private Object value;
+ private final Map<String, Object> data = new LinkedHashMap<String, Object>();
private Integer width;
private Integer style = SWT.NONE;
@@ -57,8 +60,7 @@
}
public TableViewerColumnBuilder setData(String key, Object value) {
- this.key = key;
- this.value = value;
+ data.put(key, value);
return this;
}
@@ -108,8 +110,8 @@
}
private void setData(TableViewerColumn column) {
- if (key != null) {
- column.getColumn().setData(key, value);
+ for (final Entry<String, Object> entry : data.entrySet()) {
+ column.getColumn().setData(entry.getKey(), entry.getValue());
}
}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/XmlDateControlText.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/XmlDateControlText.java
index 98e4e59..9524fd4 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/XmlDateControlText.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/XmlDateControlText.java
@@ -28,6 +28,7 @@
import org.eclipse.emf.ecp.edit.internal.swt.util.DateUtil;
import org.eclipse.emf.ecp.edit.spi.swt.util.ECPDialogExecutor;
import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.dialogs.IDialogLabelKeys;
import org.eclipse.jface.dialogs.MessageDialog;
@@ -67,12 +68,14 @@
@Override
protected String getUnsetLabelText() {
- return ControlMessages.XmlDateControlText_NoDateSetClickToSetDate;
+ return LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.XmlDateControlText_NoDateSetClickToSetDate);
}
@Override
protected String getUnsetButtonTooltip() {
- return ControlMessages.XmlDateControlText_UnsetDate;
+ return LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.XmlDateControlText_UnsetDate);
}
@Override
@@ -238,8 +241,11 @@
final Object result = getModelValue().getValue();
final MessageDialog messageDialog = new MessageDialog(getText().getShell(),
- ControlMessages.XmlDateControlText_InvalidNumber, null,
- ControlMessages.XmlDateControlText_NumberInvalidValueWillBeUnset, MessageDialog.ERROR,
+ LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.XmlDateControlText_InvalidNumber), null,
+ LocalizationServiceHelper.getString(getClass(),
+ DepricatedControlMessageKeys.XmlDateControlText_NumberInvalidValueWillBeUnset),
+ MessageDialog.ERROR,
new String[] { JFaceResources.getString(IDialogLabelKeys.OK_LABEL_KEY) }, 0);
new ECPDialogExecutor(messageDialog) {
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/messages.properties b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/messages.properties
deleted file mode 100644
index 7a6dd15..0000000
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/controls/messages.properties
+++ /dev/null
@@ -1,56 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 EclipseSource.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# EclipseSource - initial API and implementation
-################################################################################
-
-AbstractTextControl_InvalidInput=Invalid input
-AbstractTextControl_InvalidInputSpace=Invalid input
-AbstractTextControl_Unset=<unset>
-
-AttributeMultiControl_NotSetClickToSet=Not set. Click to set\!
-AttributeMultiControl_Unset=Unset
-
-BooleanControl_NoBooleanSetClickToSetBoolean=No boolean set\! Click to set boolean.
-BooleanControl_UnsetBoolean=Unset boolean
-
-DateTimeControl_NoDateSetClickToSetDate=No date set\! Click to set date.
-DateTimeControl_UnsetDate=Unset Date
-
-EEnumControl_NoValueSetClickToSetValue=No value set\! Click to set value.
-EEnumControl_UnsetValue=Unset value
-
-LinkControl_NoLinkSetClickToSetLink=No link set\! Click to set link.
-LinkControl_NotSet=(Not Set)
-LinkControl_UnsetLink=Unset Link
-
-NumericalControl_FormatNumerical=The format is '\#'.
-NumericalControl_FormatNumericalDecimal=The format is '\#.\#'.
-NumericalControl_InvalidNumber=Invalid Number
-NumericalControl_InvalidNumberWillBeUnset=The Number you have entered is invalid. The value will be unset.
-NumericalControl_NoNumberClickToSetNumber=No number set\! Click to set number.
-NumericalControl_UnsetNumber=Unset number
-
-ReferenceMultiControl_NotSetClickToSet=Not set. Click to set\!
-ReferenceMultiControl_Unset=Unset
-
-StringControl_NoTextSetClickToSetText=No text set\! Click to set text.
-StringControl_UnsetText=Unset text
-
-TableControl_AddInstanceOf=Add an instance of %1$s
-TableControl_Delete=Delete?
-TableControl_DeleteAreYouSure=Are you sure you want to delete the selected Elements?
-TableControl_NotSetClickToSet=Not set. Click to set\!
-TableControl_RemoveSelected=Remove the selected %1$s
-TableControl_Unset=Unset
-TableControl_ValidationStatusColumn=Validation Status
-
-XmlDateControlText_InvalidNumber=Invalid Number
-XmlDateControlText_NoDateSetClickToSetDate=No date set\! Click to set date.
-XmlDateControlText_NumberInvalidValueWillBeUnset=The Number you have entered is invalid. The value will be unset.
-XmlDateControlText_UnsetDate=Unset date
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ActionMessages.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ActionMessages.java
deleted file mode 100644
index 59b79df..0000000
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ActionMessages.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 EclipseSource.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource - initial API and implementation
- *******************************************************************************/
-package org.eclipse.emf.ecp.edit.internal.swt.reference;
-
-import org.eclipse.osgi.util.NLS;
-
-/*
- * @generated
- */
-
-public final class ActionMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.edit.internal.swt.reference.messages"; //$NON-NLS-1$
-
- public static String AddReferenceAction_Link;
-
- public static String DeleteReferenceAction_Confirmation;
- public static String DeleteReferenceAction_DeleteModelQuestion;
- public static String DeleteReferenceAction_DeleteReference;
- public static String DeleteReferenceAction_Yes;
- public static String DeleteReferenceAction_No;
- public static String DeleteReferenceAction_Questionmark;
-
- public static String NewReferenceAction_CreateAndLinkNew;
-
- private ActionMessages() {
- }
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, ActionMessages.class);
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/LinkCellEditor.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/LinkCellEditor.java
index cf8d486..655adf4 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/LinkCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/LinkCellEditor.java
@@ -13,6 +13,7 @@
import java.text.MessageFormat;
+import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.UpdateValueStrategy;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.databinding.property.value.IValueProperty;
@@ -236,10 +237,10 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy()
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy(org.eclipse.core.databinding.DataBindingContext)
*/
@Override
- public UpdateValueStrategy getTargetToModelStrategy() {
+ public UpdateValueStrategy getTargetToModelStrategy(DataBindingContext databindingContext) {
// TODO Auto-generated method stub
return null;
}
@@ -248,10 +249,10 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy()
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy(org.eclipse.core.databinding.DataBindingContext)
*/
@Override
- public UpdateValueStrategy getModelToTargetStrategy() {
+ public UpdateValueStrategy getModelToTargetStrategy(DataBindingContext databindingContext) {
// TODO Auto-generated method stub
return null;
}
@@ -270,11 +271,21 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getImage(java.lang.Object)
*/
@Override
public Image getImage(Object value) {
return null;
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getMinWidth()
+ */
+ @Override
+ public int getMinWidth() {
+ return 0;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/LinkControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/LinkControl.java
index 362e44d..ce179bb 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/LinkControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/LinkControl.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
*
* Contributors:
* Eugen Neufeld - initial API and implementation
+ * Philip Langer - bug fix 460968
*
*******************************************************************************/
package org.eclipse.emf.ecp.edit.internal.swt.reference;
@@ -19,8 +20,8 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecp.edit.internal.swt.Activator;
import org.eclipse.emf.ecp.edit.internal.swt.SWTImageHelper;
-import org.eclipse.emf.ecp.edit.internal.swt.controls.ControlMessages;
import org.eclipse.emf.ecp.edit.internal.swt.controls.SingleControl;
import org.eclipse.emf.ecp.edit.spi.ReferenceService;
import org.eclipse.emf.ecp.edit.spi.swt.reference.AddReferenceAction;
@@ -30,6 +31,7 @@
import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
@@ -100,7 +102,7 @@
mainComposite.setLayout(stackLayout);
unsetLabel = new Label(mainComposite, SWT.NONE);
- unsetLabel.setText(ControlMessages.LinkControl_NotSet);
+ unsetLabel.setText(LocalizationServiceHelper.getString(getClass(), ReferenceMessageKeys.LinkControl_NotSet));
unsetLabel.setBackground(mainComposite.getBackground());
unsetLabel.setForeground(getSystemColor(SWT.COLOR_DARK_GRAY));
unsetLabel.setAlignment(SWT.CENTER);
@@ -139,11 +141,13 @@
final Button[] buttons = new Button[3];
final Setting setting = getFirstSetting();
buttons[0] = createButtonForAction(new DeleteReferenceAction(getEditingDomain(getFirstSetting()), setting,
- getItemPropertyDescriptor(setting), getService(ReferenceService.class)), composite);
+ getService(ReferenceService.class)), composite);
buttons[1] = createButtonForAction(new AddReferenceAction(getEditingDomain(getFirstSetting()), setting,
getItemPropertyDescriptor(setting), getService(ReferenceService.class)), composite);
buttons[2] = createButtonForAction(new NewReferenceAction(getEditingDomain(getFirstSetting()), setting,
- getItemPropertyDescriptor(setting), getService(ReferenceService.class)), composite);
+ Activator.getDefault().getEMFFormsEditSupport(), Activator.getDefault().getEMFFormsLabelProvider(),
+ getService(ReferenceService.class), Activator.getDefault().getReportService(), getDomainModelReference(),
+ getViewModelContext().getDomainModel()), composite);
return buttons;
}
@@ -207,58 +211,89 @@
public Binding bindValue() {
final IObservableValue value = SWTObservables.observeText(hyperlink);
+ getDataBindingContext().bindValue(value, getModelValue(), createValueExtractingUpdateStrategy(),
+ new UpdateValueStrategy() {
+ @Override
+ public Object convert(Object value) {
+ updateChangeListener((EObject) value);
+ return "<a>" + getLinkText(value) + "</a>"; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ });
- final Binding binding = getDataBindingContext().bindValue(value, getModelValue(), new UpdateValueStrategy() {
-
- @Override
- public Object convert(Object value) {
- return getModelValue().getValue();
- }
- }, new UpdateValueStrategy() {
- @Override
- public Object convert(Object value) {
- updateChangeListener((EObject) value);
- return "<a>" + getLinkText(value) + "</a>"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- });
final IObservableValue tooltipValue = SWTObservables.observeTooltipText(hyperlink);
- getDataBindingContext().bindValue(tooltipValue, getModelValue(), new UpdateValueStrategy() {
-
- @Override
- public Object convert(Object value) {
- return getModelValue().getValue();
- }
- }, new UpdateValueStrategy() {
- @Override
- public Object convert(Object value) {
- return getLinkText(value);
- }
- });
+ getDataBindingContext().bindValue(tooltipValue, getModelValue(),
+ createValueExtractingUpdateStrategy(),
+ new UpdateValueStrategy() {
+ @Override
+ public Object convert(Object value) {
+ return getLinkText(value);
+ }
+ });
final IObservableValue imageValue = SWTObservables.observeImage(imageHyperlink);
getDataBindingContext().bindValue(imageValue, getModelValue(),
- new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)
- , new UpdateValueStrategy() {
+ new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
+ new UpdateValueStrategy() {
@Override
public Object convert(Object value) {
return getImage(value);
}
});
+ final IObservableValue deleteButtonEnablement = SWTObservables.observeEnabled(getDeleteButton());
+ getDataBindingContext().bindValue(deleteButtonEnablement, getModelValue(),
+ createValueExtractingUpdateStrategy(),
+ new UpdateValueStrategy() {
+ @Override
+ public Object convert(Object value) {
+ return value != null;
+ }
+ });
+
return null;
}
+ private UpdateValueStrategy createValueExtractingUpdateStrategy() {
+ return new UpdateValueStrategy() {
+ @Override
+ public Object convert(Object value) {
+ return getModelValue().getValue();
+ }
+ };
+ }
+
+ /**
+ * Returns the image to be used for the given linked {@code value}.
+ *
+ * @param value the value
+ * @return The image.
+ */
protected Object getImage(Object value) {
final Object image = getAdapterFactoryItemDelegator().getImage(value);
return SWTImageHelper.getImage(image);
}
+ /**
+ * Returns the link text to be used for the given linked {@code value}.
+ *
+ * @param value the value
+ * @return The link text.
+ */
protected Object getLinkText(Object value) {
final String linkName = getAdapterFactoryItemDelegator().getText(value);
return linkName == null ? "" : linkName; //$NON-NLS-1$
}
/**
+ * Returns the delete button of this control.
+ *
+ * @return The delete button of this control.
+ */
+ protected Button getDeleteButton() {
+ return buttons[0];
+ }
+
+ /**
* {@inheritDoc}
*
* @see org.eclipse.emf.ecp.edit.internal.swt.controls.SingleControl#updateValidationColor(org.eclipse.swt.graphics.Color)
@@ -330,7 +365,8 @@
*/
@Override
protected String getUnsetLabelText() {
- return ControlMessages.LinkControl_NoLinkSetClickToSetLink;
+ return LocalizationServiceHelper
+ .getString(getClass(), ReferenceMessageKeys.LinkControl_NoLinkSetClickToSetLink);
}
/*
@@ -339,7 +375,7 @@
*/
@Override
protected String getUnsetButtonTooltip() {
- return ControlMessages.LinkControl_UnsetLink;
+ return LocalizationServiceHelper.getString(getClass(), ReferenceMessageKeys.LinkControl_UnsetLink);
}
/*
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMessageKeys.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMessageKeys.java
new file mode 100644
index 0000000..a11d334
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMessageKeys.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.edit.internal.swt.reference;
+
+/**
+ * Keys for translated strings.
+ *
+ * @author Eugen Neufeld
+ * @generated
+ */
+public interface ReferenceMessageKeys {
+ String AddReferenceAction_Link = "AddReferenceAction_Link"; //$NON-NLS-1$
+ String AddReferenceAction_Confirmation = "AddReferenceAction_Confirmation"; //$NON-NLS-1$
+ String AddReferenceAction_No = "AddReferenceAction_No"; //$NON-NLS-1$
+ String AddReferenceAction_Warning = "AddReferenceAction_Warning"; //$NON-NLS-1$
+ String AddReferenceAction_Yes = "AddReferenceAction_Yes"; //$NON-NLS-1$
+
+ String DeleteReferenceAction_DeleteReference = "DeleteReferenceAction_DeleteReference"; //$NON-NLS-1$
+ String DeleteReferenceAction_DeleteModelQuestion = "DeleteReferenceAction_DeleteModelQuestion"; //$NON-NLS-1$
+ String DeleteReferenceAction_Questionmark = "DeleteReferenceAction_Questionmark"; //$NON-NLS-1$
+
+ String DeleteReferenceAction_Confirmation = "DeleteReferenceAction_Confirmation"; //$NON-NLS-1$
+ String DeleteReferenceAction_Yes = "DeleteReferenceAction_Yes"; //$NON-NLS-1$
+ String DeleteReferenceAction_No = "DeleteReferenceAction_No"; //$NON-NLS-1$
+
+ String NewReferenceAction_CreateAndLinkNew = "NewReferenceAction_CreateAndLinkNew"; //$NON-NLS-1$
+ String NewReferenceAction_Confirmation = "NewReferenceAction_Confirmation"; //$NON-NLS-1$
+ String NewReferenceAction_No = "NewReferenceAction_No"; //$NON-NLS-1$
+ String NewReferenceAction_Warning = "NewReferenceAction_Warning"; //$NON-NLS-1$
+ String NewReferenceAction_Yes = "NewReferenceAction_Yes"; //$NON-NLS-1$
+
+ String LinkControl_NoLinkSetClickToSetLink = "LinkControl_NoLinkSetClickToSetLink"; //$NON-NLS-1$
+ String LinkControl_NotSet = "LinkControl_NotSet"; //$NON-NLS-1$
+ String LinkControl_UnsetLink = "LinkControl_UnsetLink"; //$NON-NLS-1$
+ String ReferenceMultiControl_NotSetClickToSet = "ReferenceMultiControl_NotSetClickToSet"; //$NON-NLS-1$
+ String ReferenceMultiControl_Unset = "ReferenceMultiControl_Unset"; //$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMultiControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMultiControl.java
index 07bc618..713367b 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMultiControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMultiControl.java
@@ -13,13 +13,14 @@
package org.eclipse.emf.ecp.edit.internal.swt.reference;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.edit.internal.swt.controls.ControlMessages;
+import org.eclipse.emf.ecp.edit.internal.swt.Activator;
import org.eclipse.emf.ecp.edit.internal.swt.controls.MultiControl;
import org.eclipse.emf.ecp.edit.spi.ReferenceService;
import org.eclipse.emf.ecp.edit.spi.swt.actions.ECPSWTAction;
import org.eclipse.emf.ecp.edit.spi.swt.reference.AddReferenceAction;
import org.eclipse.emf.ecp.edit.spi.swt.reference.NewReferenceAction;
import org.eclipse.emf.ecp.edit.spi.util.ECPStaticApplicableTester;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
/**
* This class defines a Control which is used for displaying {@link org.eclipse.emf.ecore.EStructuralFeature}s which
@@ -37,7 +38,9 @@
actions[0] = new AddReferenceAction(getEditingDomain(firstSetting), firstSetting,
getItemPropertyDescriptor(firstSetting), getService(ReferenceService.class));
actions[1] = new NewReferenceAction(getEditingDomain(firstSetting), firstSetting,
- getItemPropertyDescriptor(firstSetting), getService(ReferenceService.class));
+ Activator.getDefault().getEMFFormsEditSupport(), Activator.getDefault().getEMFFormsLabelProvider(),
+ getService(ReferenceService.class), Activator.getDefault().getReportService(), getDomainModelReference(),
+ getViewModelContext().getDomainModel());
return actions;
}
@@ -53,7 +56,8 @@
*/
@Override
protected String getUnsetLabelText() {
- return ControlMessages.ReferenceMultiControl_NotSetClickToSet;
+ return LocalizationServiceHelper.getString(getClass(),
+ ReferenceMessageKeys.ReferenceMultiControl_NotSetClickToSet);
}
/*
@@ -62,6 +66,6 @@
*/
@Override
protected String getUnsetButtonTooltip() {
- return ControlMessages.ReferenceMultiControl_Unset;
+ return LocalizationServiceHelper.getString(getClass(), ReferenceMessageKeys.ReferenceMultiControl_Unset);
}
}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMultiControlTester.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMultiControlTester.java
index 2626821..4208edc 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMultiControlTester.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/ReferenceMultiControlTester.java
@@ -12,13 +12,10 @@
*******************************************************************************/
package org.eclipse.emf.ecp.edit.internal.swt.reference;
-import java.util.Iterator;
-
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.edit.internal.swt.Activator;
import org.eclipse.emf.ecp.edit.spi.ECPControlDescription;
import org.eclipse.emf.ecp.edit.spi.ECPControlFactory;
@@ -124,17 +121,7 @@
@Override
@Deprecated
public int isApplicable(VDomainModelReference domainModelReference) {
- final Iterator<Setting> iterator = domainModelReference.getIterator();
- int count = 0;
- Setting setting = null;
- while (iterator.hasNext()) {
- count++;
- setting = iterator.next();
- }
- if (count != 1) {
- return NOT_APPLICABLE;
- }
- return isApplicable(setting.getEObject(), setting.getEStructuralFeature());
+ return NOT_APPLICABLE;
}
}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/messages.properties b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/messages.properties
deleted file mode 100644
index daa04bb..0000000
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/messages.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 EclipseSource.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# EclipseSource - initial API and implementation
-################################################################################
-
-AddReferenceAction_Link=Link
-
-DeleteReferenceAction_Confirmation=Confirmation
-DeleteReferenceAction_DeleteModelQuestion=Do you really want to delete the model element
-DeleteReferenceAction_DeleteReference=Delete Reference
-DeleteReferenceAction_Yes=Yes
-DeleteReferenceAction_No=No
-DeleteReferenceAction_Questionmark=?
-
-NewReferenceAction_CreateAndLinkNew=Create and link new
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/DateCellEditor.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/DateCellEditor.java
index 2d3fce0..c0eb652 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/DateCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/DateCellEditor.java
@@ -17,6 +17,7 @@
import java.util.Calendar;
import java.util.Date;
+import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.UpdateValueStrategy;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.databinding.property.value.IValueProperty;
@@ -269,10 +270,10 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy()
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy(org.eclipse.core.databinding.DataBindingContext)
*/
@Override
- public UpdateValueStrategy getTargetToModelStrategy() {
+ public UpdateValueStrategy getTargetToModelStrategy(DataBindingContext databindingContext) {
// TODO Auto-generated method stub
return null;
}
@@ -281,10 +282,10 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy()
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy(org.eclipse.core.databinding.DataBindingContext)
*/
@Override
- public UpdateValueStrategy getModelToTargetStrategy() {
+ public UpdateValueStrategy getModelToTargetStrategy(DataBindingContext databindingContext) {
// TODO Auto-generated method stub
return null;
}
@@ -303,11 +304,21 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getImage(java.lang.Object)
*/
@Override
public Image getImage(Object value) {
return null;
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getMinWidth()
+ */
+ @Override
+ public int getMinWidth() {
+ return 0;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/NumberCellEditor.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/NumberCellEditor.java
index 3ae7d2b..b3d43d2 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/NumberCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/NumberCellEditor.java
@@ -16,6 +16,7 @@
import java.text.ParsePosition;
import java.util.Locale;
+import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.UpdateValueStrategy;
import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.databinding.EMFUpdateValueStrategy;
@@ -26,6 +27,8 @@
import org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor;
import org.eclipse.emf.ecp.edit.spi.swt.util.ECPDialogExecutor;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.databinding.swt.WidgetProperties;
import org.eclipse.jface.databinding.viewers.CellEditorProperties;
import org.eclipse.jface.dialogs.IDialogLabelKeys;
@@ -103,7 +106,8 @@
@Override
public String getFormatedString(Object value) {
if (value == null) {
- setErrorMessage(TableMessages.NumberCellEditor_ValueIsNull);
+ setErrorMessage(LocalizationServiceHelper.getString(getClass(),
+ TableMessageKeys.NumberCellEditor_ValueIsNull));
return ""; //$NON-NLS-1$
}
@@ -139,10 +143,10 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy()
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy(org.eclipse.core.databinding.DataBindingContext)
*/
@Override
- public UpdateValueStrategy getTargetToModelStrategy() {
+ public UpdateValueStrategy getTargetToModelStrategy(final DataBindingContext databindingContext) {
return new EMFUpdateValueStrategy() {
@Override
@@ -219,12 +223,13 @@
return null;
}
- // Object result = getModelValue().getValue();
final Object result = null;
- final MessageDialog messageDialog = new MessageDialog(getText().getShell(),
- TableMessages.NumberCellEditor_InvalidNumber, null,
- TableMessages.NumberCellEditor_NumberYouEnteredIsInvalid, MessageDialog.ERROR,
+ final MessageDialog messageDialog = new MessageDialog(text.getShell(),
+ LocalizationServiceHelper.getString(getClass(), TableMessageKeys.NumberCellEditor_InvalidNumber),
+ null, LocalizationServiceHelper.getString(getClass(),
+ TableMessageKeys.NumberCellEditor_NumberYouEnteredIsInvalid),
+ MessageDialog.ERROR,
new String[] { JFaceResources.getString(IDialogLabelKeys.OK_LABEL_KEY) }, 0);
new ECPDialogExecutor(messageDialog) {
@@ -234,18 +239,11 @@
}
}.execute();
- if (result == null) {
- getText().setText(""); //$NON-NLS-1$
- } else {
- final DecimalFormat format = NumericalHelper.setupFormat(getLocale(),
- getInstanceClass());
- getText().setText(format.format(result));
- }
+ databindingContext.updateTargets();
- // if (getStructuralFeature().isUnsettable() && result == null) {
- // showUnsetLabel();
- // return SetCommand.UNSET_VALUE;
- // }
+ if (eStructuralFeature.isUnsettable()) {
+ return SetCommand.UNSET_VALUE;
+ }
return result;
}
};
@@ -255,10 +253,10 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy()
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy(org.eclipse.core.databinding.DataBindingContext)
*/
@Override
- public UpdateValueStrategy getModelToTargetStrategy() {
+ public UpdateValueStrategy getModelToTargetStrategy(DataBindingContext databindingContext) {
return new EMFUpdateValueStrategy() {
@Override
public Object convert(Object value) {
@@ -294,11 +292,21 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getImage(java.lang.Object)
*/
@Override
public Image getImage(Object value) {
return null;
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getMinWidth()
+ */
+ @Override
+ public int getMinWidth() {
+ return 0;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/NumberCellEditorTester.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/NumberCellEditorTester.java
index 70d797a..5f85fe2 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/NumberCellEditorTester.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/NumberCellEditorTester.java
@@ -41,6 +41,26 @@
if (Number.class.isAssignableFrom(instanceClass)) {
return 1;
}
+
+ // if the attribute class is an primitive test the primitive types
+ if (instanceClass.isPrimitive()) {
+ if (int.class.equals(instanceClass)) {
+ return 1;
+ }
+ else if (float.class.equals(instanceClass)) {
+ return 1;
+ }
+ else if (long.class.equals(instanceClass)) {
+ return 1;
+ }
+ else if (double.class.equals(instanceClass)) {
+ return 1;
+ }
+ else if (short.class.equals(instanceClass)) {
+ return 1;
+ }
+ }
+
}
return NOT_APPLICABLE;
}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/TableMessageKeys.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/TableMessageKeys.java
new file mode 100644
index 0000000..ed514e1
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/TableMessageKeys.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.edit.internal.swt.table;
+
+/**
+ * Keys for translated strings.
+ *
+ * @author Eugen Neufeld
+ * @generated
+ */
+public interface TableMessageKeys {
+ String NumberCellEditor_InvalidNumber = "NumberCellEditor_InvalidNumber"; //$NON-NLS-1$
+ String NumberCellEditor_NumberYouEnteredIsInvalid = "NumberCellEditor_NumberYouEnteredIsInvalid"; //$NON-NLS-1$
+ String NumberCellEditor_ValueIsNull = "NumberCellEditor_ValueIsNull"; //$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/TableMessages.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/TableMessages.java
deleted file mode 100644
index a720c35..0000000
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/TableMessages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 EclipseSource.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource - initial API and implementation
- *******************************************************************************/
-package org.eclipse.emf.ecp.edit.internal.swt.table;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @generated
- * @author Jonas
- *
- */
-public final class TableMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.edit.internal.swt.table.messages"; //$NON-NLS-1$
-
- public static String NumberCellEditor_InvalidNumber;
- public static String NumberCellEditor_NumberYouEnteredIsInvalid;
- public static String NumberCellEditor_ValueIsNull;
-
- private TableMessages() {
- }
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, TableMessages.class);
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/XmlDateCellEditor.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/XmlDateCellEditor.java
index 603feb9..d91e05a 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/XmlDateCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/XmlDateCellEditor.java
@@ -19,6 +19,7 @@
import javax.xml.datatype.XMLGregorianCalendar;
+import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.UpdateValueStrategy;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.databinding.property.value.IValueProperty;
@@ -265,10 +266,10 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy()
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy(org.eclipse.core.databinding.DataBindingContext)
*/
@Override
- public UpdateValueStrategy getTargetToModelStrategy() {
+ public UpdateValueStrategy getTargetToModelStrategy(DataBindingContext databindingContext) {
return null;
}
@@ -276,10 +277,10 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy()
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy(org.eclipse.core.databinding.DataBindingContext)
*/
@Override
- public UpdateValueStrategy getModelToTargetStrategy() {
+ public UpdateValueStrategy getModelToTargetStrategy(DataBindingContext databindingContext) {
return null;
}
@@ -297,11 +298,21 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getImage(java.lang.Object)
*/
@Override
public Image getImage(Object value) {
return null;
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getMinWidth()
+ */
+ @Override
+ public int getMinWidth() {
+ return 0;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/messages.properties b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/messages.properties
deleted file mode 100644
index 96b5266..0000000
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/messages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 EclipseSource.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# EclipseSource - initial API and implementation
-################################################################################
-
-NumberCellEditor_InvalidNumber=Invalid Number
-
-NumberCellEditor_NumberYouEnteredIsInvalid=The Number you have entered is invalid. The value will be unset.
-
-NumberCellEditor_ValueIsNull=Value is null
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/CellEditorFactory.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/CellEditorFactory.java
index 9bd291e..a080c97 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/CellEditorFactory.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/CellEditorFactory.java
@@ -25,6 +25,7 @@
import org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor;
import org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditorTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.swt.widgets.Composite;
@@ -68,9 +69,12 @@
private static <T> Class<T> loadClass(String bundleName, String clazz) throws ClassNotFoundException {
final Bundle bundle = Platform.getBundle(bundleName);
if (bundle == null) {
- throw new ClassNotFoundException(clazz + UtilMessages.CellEditorFactory_CannotBeLoadedBecauseBundle
+ throw new ClassNotFoundException(clazz
+ + LocalizationServiceHelper.getString(CellEditorFactory.class,
+ UtilMessageKeys.CellEditorFactory_CannotBeLoadedBecauseBundle)
+ bundleName
- + UtilMessages.CellEditorFactory_CannotBeResolved);
+ + LocalizationServiceHelper.getString(CellEditorFactory.class,
+ UtilMessageKeys.CellEditorFactory_CannotBeResolved));
}
return (Class<T>) bundle.loadClass(clazz);
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/SWTControl.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/SWTControl.java
index 77c69d6..513e5d5 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/SWTControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/SWTControl.java
@@ -66,6 +66,8 @@
*/
protected static final String VALIDATION_ERROR_ICON = "icons/validation_error.png";//$NON-NLS-1$
+ private static final String ICONS_UNSET_FEATURE = "icons/unset_feature.png"; //$NON-NLS-1$
+
/**
* The label for the validation icon.
*/
@@ -232,7 +234,7 @@
numControls++;
unsetButton = new Button(controlComposite, SWT.PUSH);
unsetButton.setToolTipText(getUnsetButtonTooltip());
- unsetButton.setImage(Activator.getImage("icons/delete.png")); //$NON-NLS-1$
+ unsetButton.setImage(Activator.getImage(ICONS_UNSET_FEATURE));
}
unsetButton.addSelectionListener(new SelectionAdapter() {
@Override
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/UtilMessageKeys.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/UtilMessageKeys.java
new file mode 100644
index 0000000..b1bc1eb
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/UtilMessageKeys.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.edit.internal.swt.util;
+
+/**
+ * Keys for translated strings.
+ *
+ * @author Eugen Neufeld
+ * @generated
+ */
+public interface UtilMessageKeys {
+ String CellEditorFactory_CannotBeLoadedBecauseBundle = "CellEditorFactory_CannotBeLoadedBecauseBundle"; //$NON-NLS-1$
+ String CellEditorFactory_CannotBeResolved = "CellEditorFactory_CannotBeResolved"; //$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/UtilMessages.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/UtilMessages.java
deleted file mode 100644
index 3d6ef30..0000000
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/UtilMessages.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 EclipseSource.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource - initial API and implementation
- *******************************************************************************/
-package org.eclipse.emf.ecp.edit.internal.swt.util;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @generated
- * @author Jonas
- *
- */
-
-public final class UtilMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.edit.internal.swt.util.messages"; //$NON-NLS-1$
-
- public static String CellEditorFactory_CannotBeLoadedBecauseBundle;
- public static String CellEditorFactory_CannotBeResolved;
-
- public static String SWTControl_Help;
-
- private UtilMessages() {
- }
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, UtilMessages.class);
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/messages.properties b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/messages.properties
deleted file mode 100644
index e069a5a..0000000
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/messages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 EclipseSource.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# EclipseSource - initial API and implementation
-################################################################################
-
-CellEditorFactory_CannotBeLoadedBecauseBundle=\ cannot be loaded because bundle
-CellEditorFactory_CannotBeResolved=\ cannot be resolved
-
-SWTControl_Help=Help
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/reference/AddReferenceAction.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/reference/AddReferenceAction.java
index 05dd0a9..175e50f 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/reference/AddReferenceAction.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/reference/AddReferenceAction.java
@@ -1,114 +1,153 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- *
- *******************************************************************************/
-
-package org.eclipse.emf.ecp.edit.spi.swt.reference;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.edit.internal.swt.Activator;
-import org.eclipse.emf.ecp.edit.internal.swt.reference.ActionMessages;
-import org.eclipse.emf.ecp.edit.internal.swt.util.OverlayImageDescriptor;
-import org.eclipse.emf.ecp.edit.spi.ReferenceService;
-import org.eclipse.emf.ecp.edit.spi.swt.actions.ECPSWTAction;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.provider.ComposedImage;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.ImageData;
-
-/**
- * An Action for adding reference links to a model element. It is mainly used in the
- * {@link org.eclipse.emf.ecp.edit.internal.swt.controls.MultiControl MultiControl}
- *
- * @author shterev
- * @author Eugen Neufeld
- * @since 1.5
- */
-public class AddReferenceAction extends ECPSWTAction {
-
- private final ReferenceService referenceService;
-
- /**
- * The constructor for the add reference action.
- *
- * @param editingDomain the {@link EditingDomain} to use
- * @param setting the {@link Setting} to use
- * @param itemPropertyDescriptor the property descriptor
- * @param referenceService the {@link ReferenceService}
- */
- public AddReferenceAction(EditingDomain editingDomain, Setting setting,
- IItemPropertyDescriptor itemPropertyDescriptor, ReferenceService referenceService) {
- super(editingDomain, setting);
- this.referenceService = referenceService;
- final EReference eReference = (EReference) setting.getEStructuralFeature();
- Object obj = null;
- if (!eReference.getEReferenceType().isAbstract()) {
- obj = eReference.getEReferenceType().getEPackage().getEFactoryInstance()
- .create(eReference.getEReferenceType());
- }
- final IItemLabelProvider labelProvider = itemPropertyDescriptor.getLabelProvider(setting.getEObject());
- Object labelProviderImageResult = labelProvider.getImage(obj);
- ImageData imageData = null;
-
- if (ComposedImage.class.isInstance(labelProviderImageResult)) {
- labelProviderImageResult = ((ComposedImage) labelProviderImageResult).getImages().get(0);
- }
- if (URI.class.isInstance(labelProviderImageResult)) {
- try {
- labelProviderImageResult = new URL(((URI) labelProviderImageResult).toString());
- } catch (final MalformedURLException ex) {
- Activator.logException(ex);
- }
- }
- if (URL.class.isInstance(labelProviderImageResult)) {
- imageData = Activator.getImageData((URL) labelProviderImageResult);
- }
- else {
- imageData = Activator.getImageData((URL) null);
- }
- String overlayString = "icons/link_overlay.png";//$NON-NLS-1$
- if (eReference.isContainment()) {
- overlayString = "icons/containment_overlay.png";//$NON-NLS-1$
- }
- final ImageDescriptor addOverlay = Activator.getImageDescriptor(overlayString);
- final OverlayImageDescriptor imageDescriptor = new OverlayImageDescriptor(imageData, addOverlay,
- OverlayImageDescriptor.LOWER_RIGHT);
- setImageDescriptor(imageDescriptor);
-
- String attribute = itemPropertyDescriptor.getDisplayName(null);
- // make singular attribute labels
- // TODO language dependent
- if (attribute.endsWith("ies")) {//$NON-NLS-1$
- attribute = attribute.substring(0, attribute.length() - 3) + "y"; //$NON-NLS-1$
- } else if (attribute.endsWith("s")) {//$NON-NLS-1$
- attribute = attribute.substring(0, attribute.length() - 1);
- }
- setToolTipText(ActionMessages.AddReferenceAction_Link + attribute);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void run() {
- referenceService.addExistingModelElements(getSetting().getEObject(), (EReference) getSetting()
- .getEStructuralFeature());
-
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ *
+ *******************************************************************************/
+
+package org.eclipse.emf.ecp.edit.spi.swt.reference;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecp.edit.internal.swt.Activator;
+import org.eclipse.emf.ecp.edit.internal.swt.reference.ReferenceMessageKeys;
+import org.eclipse.emf.ecp.edit.internal.swt.util.OverlayImageDescriptor;
+import org.eclipse.emf.ecp.edit.spi.ReferenceService;
+import org.eclipse.emf.ecp.edit.spi.swt.actions.ECPSWTAction;
+import org.eclipse.emf.ecp.edit.spi.swt.util.ECPDialogExecutor;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.provider.ComposedImage;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.window.Window;
+import org.eclipse.swt.graphics.ImageData;
+
+/**
+ * An Action for adding reference links to a model element. It is mainly used in the
+ * {@link org.eclipse.emf.ecp.edit.internal.swt.controls.MultiControl MultiControl}
+ *
+ * @author shterev
+ * @author Eugen Neufeld
+ * @since 1.5
+ */
+public class AddReferenceAction extends ECPSWTAction {
+
+ private final ReferenceService referenceService;
+
+ /**
+ * The constructor for the add reference action.
+ *
+ * @param editingDomain the {@link EditingDomain} to use
+ * @param setting the {@link Setting} to use
+ * @param itemPropertyDescriptor the property descriptor
+ * @param referenceService the {@link ReferenceService}
+ */
+ public AddReferenceAction(EditingDomain editingDomain, Setting setting,
+ IItemPropertyDescriptor itemPropertyDescriptor, ReferenceService referenceService) {
+ super(editingDomain, setting);
+ this.referenceService = referenceService;
+ final EReference eReference = (EReference) setting.getEStructuralFeature();
+ Object obj = null;
+ if (!eReference.getEReferenceType().isAbstract()) {
+ obj = eReference.getEReferenceType().getEPackage().getEFactoryInstance()
+ .create(eReference.getEReferenceType());
+ }
+ final IItemLabelProvider labelProvider = itemPropertyDescriptor.getLabelProvider(setting.getEObject());
+ Object labelProviderImageResult = labelProvider.getImage(obj);
+ ImageData imageData = null;
+
+ if (ComposedImage.class.isInstance(labelProviderImageResult)) {
+ labelProviderImageResult = ((ComposedImage) labelProviderImageResult).getImages().get(0);
+ }
+ if (URI.class.isInstance(labelProviderImageResult)) {
+ try {
+ labelProviderImageResult = new URL(((URI) labelProviderImageResult).toString());
+ } catch (final MalformedURLException ex) {
+ Activator.logException(ex);
+ }
+ }
+ if (URL.class.isInstance(labelProviderImageResult)) {
+ imageData = Activator.getImageData((URL) labelProviderImageResult);
+ } else {
+ imageData = Activator.getImageData((URL) null);
+ }
+ String overlayString = "icons/link_overlay.png";//$NON-NLS-1$
+ if (eReference.isContainment()) {
+ overlayString = "icons/containment_overlay.png";//$NON-NLS-1$
+ }
+ final ImageDescriptor addOverlay = Activator.getImageDescriptor(overlayString);
+ final OverlayImageDescriptor imageDescriptor = new OverlayImageDescriptor(imageData, addOverlay,
+ OverlayImageDescriptor.LOWER_RIGHT);
+ setImageDescriptor(imageDescriptor);
+
+ String attribute = itemPropertyDescriptor.getDisplayName(null);
+ // make singular attribute labels
+ // TODO language dependent
+ if (attribute.endsWith("ies")) {//$NON-NLS-1$
+ attribute = attribute.substring(0, attribute.length() - 3) + "y"; //$NON-NLS-1$
+ } else if (attribute.endsWith("s")) {//$NON-NLS-1$
+ attribute = attribute.substring(0, attribute.length() - 1);
+ }
+ setToolTipText(
+ LocalizationServiceHelper.getString(getClass(), ReferenceMessageKeys.AddReferenceAction_Link) + attribute);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void run() {
+ final EReference eReference = (EReference) getSetting().getEStructuralFeature();
+ if (eReference.isContainment()) {
+ final MessageDialog dialog = getContainmentWarningDialog();
+ new ECPDialogExecutor(dialog) {
+ @Override
+ public void handleResult(int codeResult) {
+ if (codeResult == Window.OK) {
+ addExistingElementsToReferenceService(getSetting().getEObject(), (EReference) getSetting()
+ .getEStructuralFeature());
+ }
+ }
+ }.execute();
+ }
+ addExistingElementsToReferenceService(getSetting().getEObject(), (EReference) getSetting()
+ .getEStructuralFeature());
+ }
+
+ private void addExistingElementsToReferenceService(EObject eObject, EReference eReference) {
+ if (referenceService == null) {
+ return;
+ }
+ referenceService.addExistingModelElements(eObject, eReference);
+ }
+
+ private MessageDialog getContainmentWarningDialog() {
+ return new MessageDialog(null,
+ LocalizationServiceHelper.getString(AddReferenceAction.class,
+ ReferenceMessageKeys.AddReferenceAction_Confirmation),
+ null,
+ LocalizationServiceHelper.getString(AddReferenceAction.class,
+ ReferenceMessageKeys.AddReferenceAction_Warning),
+ MessageDialog.WARNING,
+ new String[] {
+ LocalizationServiceHelper.getString(AddReferenceAction.class,
+ ReferenceMessageKeys.AddReferenceAction_Yes),
+ LocalizationServiceHelper.getString(AddReferenceAction.class,
+ ReferenceMessageKeys.AddReferenceAction_No) },
+ 0);
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/reference/DeleteReferenceAction.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/reference/DeleteReferenceAction.java
index 4835566..80a2df5 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/reference/DeleteReferenceAction.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/reference/DeleteReferenceAction.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -15,10 +15,11 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecore.impl.DynamicEObjectImpl;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecp.edit.internal.swt.Activator;
-import org.eclipse.emf.ecp.edit.internal.swt.reference.ActionMessages;
+import org.eclipse.emf.ecp.edit.internal.swt.reference.ReferenceMessageKeys;
import org.eclipse.emf.ecp.edit.spi.ReferenceService;
import org.eclipse.emf.ecp.edit.spi.swt.actions.ECPSWTAction;
import org.eclipse.emf.edit.command.RemoveCommand;
@@ -26,8 +27,8 @@
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.window.Window;
@@ -44,26 +45,37 @@
* The constructor for a delete reference action.
*
* @param editingDomain the {@link EditingDomain} to use
- * @param itemPropertyDescriptor the {@link IItemPropertyDescriptor} to use
* @param setting the {@link Setting} to use
* @param referenceService the {@link ReferenceService} to use
+ * @since 1.6
*/
- public DeleteReferenceAction(EditingDomain editingDomain, Setting setting,
- IItemPropertyDescriptor itemPropertyDescriptor, ReferenceService referenceService) {
+ public DeleteReferenceAction(EditingDomain editingDomain, Setting setting, ReferenceService referenceService) {
super(editingDomain, setting);
// TODO remove PlatformUI
- setImageDescriptor(Activator.getImageDescriptor("icons/delete.png")); //$NON-NLS-1$
- setToolTipText(ActionMessages.DeleteReferenceAction_DeleteReference);
+ setImageDescriptor(Activator.getImageDescriptor("icons/unset_reference.png")); //$NON-NLS-1$
+ setToolTipText(LocalizationServiceHelper.getString(DeleteReferenceAction.class,
+ ReferenceMessageKeys.DeleteReferenceAction_DeleteReference));
+ }
+
+ /**
+ * The constructor for a delete reference action.
+ *
+ * @param editingDomain The {@link EditingDomain} to use
+ * @param eObject The {@link EObject} to use
+ * @param structuralFeature The {@link EStructuralFeature} defining which feature of the {@link EObject} is used
+ * @param referenceService The {@link ReferenceService} to use
+ * @since 1.6
+ */
+ public DeleteReferenceAction(EditingDomain editingDomain, EObject eObject, EStructuralFeature structuralFeature,
+ ReferenceService referenceService) {
+ this(editingDomain, ((InternalEObject) eObject).eSetting(structuralFeature), referenceService);
}
@Override
public void run() {
super.run();
- // TODO: Reactivate
- if (DynamicEObjectImpl.class.isInstance(getSetting().getEObject())) {
- return;
- }
+
final EReference reference = (EReference) getSetting().getEStructuralFeature();
if (reference.isContainment()) // &&
@@ -99,14 +111,27 @@
final AdapterFactoryItemDelegator adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(adapterFactory);
// AdapterFactoryLabelProvider adapterFactoryLabelProvider = new AdapterFactoryLabelProvider(adapterFactory);
final String modelElementName = adapterFactoryItemDelegator.getText(toBeDeleted);
- question = ActionMessages.DeleteReferenceAction_DeleteModelQuestion + modelElementName
- + ActionMessages.DeleteReferenceAction_Questionmark;
+ question = LocalizationServiceHelper.getString(DeleteReferenceAction.class,
+ ReferenceMessageKeys.DeleteReferenceAction_DeleteModelQuestion)
+ + modelElementName
+ + LocalizationServiceHelper.getString(DeleteReferenceAction.class,
+ ReferenceMessageKeys.DeleteReferenceAction_Questionmark);
// } else {
// question = "Do you really want to delete these " + toBeDeleted.size() + " model elements?";
// }
- final MessageDialog dialog = new MessageDialog(null, ActionMessages.DeleteReferenceAction_Confirmation, null,
- question, MessageDialog.QUESTION, new String[] { ActionMessages.DeleteReferenceAction_Yes,
- ActionMessages.DeleteReferenceAction_No }, 0);
+ final MessageDialog dialog = new MessageDialog(
+ null,
+ LocalizationServiceHelper.getString(DeleteReferenceAction.class,
+ ReferenceMessageKeys.DeleteReferenceAction_Confirmation),
+ null,
+ question,
+ MessageDialog.QUESTION,
+ new String[] {
+ LocalizationServiceHelper.getString(DeleteReferenceAction.class,
+ ReferenceMessageKeys.DeleteReferenceAction_Yes),
+ LocalizationServiceHelper.getString(DeleteReferenceAction.class,
+ ReferenceMessageKeys.DeleteReferenceAction_No) },
+ 0);
boolean confirm = false;
if (dialog.open() == Window.OK) {
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/reference/NewReferenceAction.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/reference/NewReferenceAction.java
index 7def8aa..0883501 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/reference/NewReferenceAction.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/reference/NewReferenceAction.java
@@ -1,160 +1,240 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- *
- *******************************************************************************/
-package org.eclipse.emf.ecp.edit.spi.swt.reference;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.edit.internal.swt.Activator;
-import org.eclipse.emf.ecp.edit.internal.swt.reference.ActionMessages;
-import org.eclipse.emf.ecp.edit.internal.swt.util.OverlayImageDescriptor;
-import org.eclipse.emf.ecp.edit.spi.ReferenceService;
-import org.eclipse.emf.ecp.edit.spi.swt.actions.ECPSWTAction;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.provider.ComposedImage;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.ImageData;
-
-/**
- * An Action for adding reference links to a model element. It is mainly used in the
- * {@link org.eclipse.emf.ecp.edit.internal.swt.reference.ReferenceMultiControl ReferenceMultiControl}
- *
- * @author shterev
- * @author Eugen Neufeld
- * @since 1.5
- */
-public class NewReferenceAction extends ECPSWTAction {
-
- private final ReferenceService referenceService;
-
- /**
- * The constructor for a new reference action.
- *
- * @param editingDomain the {@link EditingDomain} to use
- * @param itemPropertyDescriptor teh {@link IItemPropertyDescriptor} to use
- * @param setting the {@link Setting} to use
- * @param referenceService the {@link ReferenceService} to use
- */
- public NewReferenceAction(EditingDomain editingDomain, Setting setting,
- IItemPropertyDescriptor itemPropertyDescriptor, ReferenceService referenceService) {
- super(editingDomain, setting);
- this.referenceService = referenceService;
- Object obj = null;
- final EReference eReference = (EReference) getSetting().getEStructuralFeature();
- // Only create a temporary object in order to get the correct icon from the label provider
- // the actual ME is created later on.
- if (!eReference.getEReferenceType().isAbstract()) {
- obj = eReference.getEReferenceType().getEPackage().getEFactoryInstance()
- .create(eReference.getEReferenceType());
- }
- final IItemLabelProvider labelProvider = itemPropertyDescriptor.getLabelProvider(
- getSetting().getEObject());
- Object labelProviderImageResult = labelProvider.getImage(obj);
-
- ImageData imageData = null;
-
- if (ComposedImage.class.isInstance(labelProviderImageResult)) {
- labelProviderImageResult = ((ComposedImage) labelProviderImageResult).getImages().get(0);
- }
- if (URI.class.isInstance(labelProviderImageResult)) {
- try {
- labelProviderImageResult = new URL(((URI) labelProviderImageResult).toString());
- } catch (final MalformedURLException ex) {
- Activator.logException(ex);
- }
- }
- if (URL.class.isInstance(labelProviderImageResult)) {
- imageData = Activator.getImageData((URL) labelProviderImageResult);
- }
- else {
- imageData = Activator.getImageData((URL) null);
- }
-
- final ImageDescriptor addOverlay = Activator.getImageDescriptor("icons/add_overlay.png");//$NON-NLS-1$
- final OverlayImageDescriptor imageDescriptor = new OverlayImageDescriptor(imageData, addOverlay,
- OverlayImageDescriptor.LOWER_RIGHT);
- setImageDescriptor(imageDescriptor);
-
- String attribute = itemPropertyDescriptor.getDisplayName(eReference);
- // TODO language, same text as in addreference
- // make singular attribute labels
- if (attribute.endsWith("ies")) {//$NON-NLS-1$
- attribute = attribute.substring(0, attribute.length() - 3) + "y";//$NON-NLS-1$
- } else if (attribute.endsWith("s")) {//$NON-NLS-1$
- attribute = attribute.substring(0, attribute.length() - 1);
- }
- setToolTipText(ActionMessages.NewReferenceAction_CreateAndLinkNew + attribute);
- }
-
- /**
- * Default constructor.
- *
- * @param modelElement
- * the source model element
- * @param eReference
- * the target reference
- * @param descriptor
- * the descriptor used to generate display content
- * @param modelElementContext
- * the model element context
- */
- // public NewReferenceAction(EObject modelElement, EReference eReference, IItemPropertyDescriptor descriptor,
- // EditModelElementContext modelElementContext, Shell shell, AdapterFactoryLabelProvider labelProvider) {
- // this.modelElement = modelElement;
- // this.eReference = eReference;
- // this.modelElementContext = modelElementContext;
- // this.shell = shell;
- //
- // Object obj = null;
- // // Only create a temporary object in order to get the correct icon from the label provider
- // // the actual ME is created later on.
- // if (!eReference.getEReferenceType().isAbstract()) {
- // obj = eReference.getEReferenceType().getEPackage().getEFactoryInstance()
- // .create(eReference.getEReferenceType());
- // }
- // Image image = labelProvider.getImage(obj);
- //
- // ImageDescriptor addOverlay = Activator.getImageDescriptor("icons/add_overlay.png");//$NON-NLS-1$
- // OverlayImageDescriptor imageDescriptor = new OverlayImageDescriptor(image, addOverlay,
- // OverlayImageDescriptor.LOWER_RIGHT);
- // setImageDescriptor(imageDescriptor);
- //
- // String attribute = descriptor.getDisplayName(eReference);
- //
- // // make singular attribute labels
- // if (attribute.endsWith("ies")) {//$NON-NLS-1$
- // attribute = attribute.substring(0, attribute.length() - 3) + "y";//$NON-NLS-1$
- // } else if (attribute.endsWith("s")) {//$NON-NLS-1$
- // attribute = attribute.substring(0, attribute.length() - 1);
- // }
- // setToolTipText(ActionMessages.NewReferenceAction_CreateAndLinkNew + attribute);
- //
- // }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void run() {
- // checks if we try to create a container for ourself, this is not allowed
- final EReference eReference = (EReference) getSetting().getEStructuralFeature();
- referenceService.addNewModelElements(getSetting().getEObject(),
- eReference);
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ *
+ *******************************************************************************/
+package org.eclipse.emf.ecp.edit.spi.swt.reference;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecp.edit.internal.swt.Activator;
+import org.eclipse.emf.ecp.edit.internal.swt.reference.ReferenceMessageKeys;
+import org.eclipse.emf.ecp.edit.internal.swt.util.OverlayImageDescriptor;
+import org.eclipse.emf.ecp.edit.spi.ReferenceService;
+import org.eclipse.emf.ecp.edit.spi.swt.actions.ECPSWTAction;
+import org.eclipse.emf.ecp.edit.spi.swt.util.ECPDialogExecutor;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.provider.ComposedImage;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.window.Window;
+import org.eclipse.swt.graphics.ImageData;
+
+/**
+ * An Action for adding reference links to a model element. It is mainly used in the
+ * {@link org.eclipse.emf.ecp.edit.internal.swt.reference.ReferenceMultiControl ReferenceMultiControl}
+ *
+ * @author shterev
+ * @author Eugen Neufeld
+ * @since 1.5
+ */
+public class NewReferenceAction extends ECPSWTAction {
+
+ private final ReferenceService referenceService;
+
+ /**
+ * The constructor for a new reference action.
+ *
+ * @param editingDomain the {@link EditingDomain} to use
+ * @param setting the {@link Setting} to use
+ * @param editSupport the {@link EMFFormsEditSupport} to use
+ * @param labelProvider the {@link EMFFormsLabelProvider} to use
+ * @param referenceService the {@link ReferenceService} to use
+ * @param reportService the {@link ReportService} to use
+ * @param domainModelReference the {@link VDomainModelReference} to use
+ * @param domainModel the domain model of the given {@link VDomainModelReference}
+ * @since 1.6
+ *
+ */
+ public NewReferenceAction(EditingDomain editingDomain, Setting setting, EMFFormsEditSupport editSupport,
+ EMFFormsLabelProvider labelProvider, ReferenceService referenceService, ReportService reportService,
+ VDomainModelReference domainModelReference, EObject domainModel) {
+ super(editingDomain, setting);
+ this.referenceService = referenceService;
+ Object obj = null;
+ final EReference eReference = (EReference) getSetting().getEStructuralFeature();
+ // Only create a temporary object in order to get the correct icon from the label provider
+ // the actual ME is created later on.
+ if (!eReference.getEReferenceType().isAbstract()) {
+ obj = eReference.getEReferenceType().getEPackage().getEFactoryInstance()
+ .create(eReference.getEReferenceType());
+ }
+ Object labelProviderImageResult = editSupport.getImage(domainModelReference, domainModel, obj);
+
+ ImageData imageData = null;
+
+ if (ComposedImage.class.isInstance(labelProviderImageResult)) {
+ labelProviderImageResult = ((ComposedImage) labelProviderImageResult).getImages().get(0);
+ }
+ if (URI.class.isInstance(labelProviderImageResult)) {
+ try {
+ labelProviderImageResult = new URL(((URI) labelProviderImageResult).toString());
+ } catch (final MalformedURLException ex) {
+ Activator.logException(ex);
+ }
+ }
+ if (URL.class.isInstance(labelProviderImageResult)) {
+ imageData = Activator.getImageData((URL) labelProviderImageResult);
+ } else {
+ imageData = Activator.getImageData((URL) null);
+ }
+
+ final ImageDescriptor addOverlay = Activator.getImageDescriptor("icons/add_overlay.png");//$NON-NLS-1$
+ final OverlayImageDescriptor imageDescriptor = new OverlayImageDescriptor(imageData, addOverlay,
+ OverlayImageDescriptor.LOWER_RIGHT);
+ setImageDescriptor(imageDescriptor);
+
+ String attribute;
+ try {
+ final IObservableValue displayName = labelProvider.getDisplayName(domainModelReference, domainModel);
+ attribute = (String) displayName.getValue();
+ displayName.dispose();
+ } catch (final NoLabelFoundException ex) {
+ reportService.report(new AbstractReport(ex));
+ setToolTipText(ex.getMessage());
+ return;
+ }
+ // TODO language, same text as in addreference
+ // make singular attribute labels
+ if (attribute.endsWith("ies")) {//$NON-NLS-1$
+ attribute = attribute.substring(0, attribute.length() - 3) + "y";//$NON-NLS-1$
+ } else if (attribute.endsWith("s")) {//$NON-NLS-1$
+ attribute = attribute.substring(0, attribute.length() - 1);
+ }
+ setToolTipText(LocalizationServiceHelper.getString(getClass(),
+ ReferenceMessageKeys.NewReferenceAction_CreateAndLinkNew)
+ + attribute);
+ }
+
+ /**
+ * The constructor for a new reference action.
+ *
+ * @param editingDomain The {@link EditingDomain} to use
+ * @param eObject The {@link EObject} to use
+ * @param structuralFeature The {@link EStructuralFeature} defining which feature of the {@link EObject} is used
+ * @param editSupport The {@link EMFFormsEditSupport} to use
+ * @param labelProvider the {@link EMFFormsLabelProvider} to use
+ * @param referenceService The {@link ReferenceService} to use
+ * @param reportService The {@link ReportService} to use
+ * @param domainModelReference the {@link VDomainModelReference} to use
+ * @param domainModel the domain model of the given {@link VDomainModelReference}
+ * @since 1.6
+ */
+ public NewReferenceAction(EditingDomain editingDomain, EObject eObject, EStructuralFeature structuralFeature,
+ EMFFormsEditSupport editSupport, EMFFormsLabelProvider labelProvider, ReferenceService referenceService,
+ ReportService reportService, VDomainModelReference domainModelReference, EObject domainModel) {
+ this(editingDomain, ((InternalEObject) eObject).eSetting(structuralFeature), editSupport, labelProvider,
+ referenceService, reportService, domainModelReference, domainModel);
+ }
+
+ /**
+ * Default constructor.
+ *
+ * @param modelElement
+ * the source model element
+ * @param eReference
+ * the target reference
+ * @param descriptor
+ * the descriptor used to generate display content
+ * @param modelElementContext
+ * the model element context
+ */
+ // public NewReferenceAction(EObject modelElement, EReference eReference, IItemPropertyDescriptor descriptor,
+ // EditModelElementContext modelElementContext, Shell shell, AdapterFactoryLabelProvider labelProvider) {
+ // this.modelElement = modelElement;
+ // this.eReference = eReference;
+ // this.modelElementContext = modelElementContext;
+ // this.shell = shell;
+ //
+ // Object obj = null;
+ // // Only create a temporary object in order to get the correct icon from the label provider
+ // // the actual ME is created later on.
+ // if (!eReference.getEReferenceType().isAbstract()) {
+ // obj = eReference.getEReferenceType().getEPackage().getEFactoryInstance()
+ // .create(eReference.getEReferenceType());
+ // }
+ // Image image = labelProvider.getImage(obj);
+ //
+ // ImageDescriptor addOverlay = Activator.getImageDescriptor("icons/add_overlay.png");//$NON-NLS-1$
+ // OverlayImageDescriptor imageDescriptor = new OverlayImageDescriptor(image, addOverlay,
+ // OverlayImageDescriptor.LOWER_RIGHT);
+ // setImageDescriptor(imageDescriptor);
+ //
+ // String attribute = descriptor.getDisplayName(eReference);
+ //
+ // // make singular attribute labels
+ // if (attribute.endsWith("ies")) {//$NON-NLS-1$
+ // attribute = attribute.substring(0, attribute.length() - 3) + "y";//$NON-NLS-1$
+ // } else if (attribute.endsWith("s")) {//$NON-NLS-1$
+ // attribute = attribute.substring(0, attribute.length() - 1);
+ // }
+ // setToolTipText(ActionMessages.NewReferenceAction_CreateAndLinkNew + attribute);
+ //
+ // }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void run() {
+ // checks if we try to create a container for ourself, this is not allowed
+ final EReference eReference = (EReference) getSetting().getEStructuralFeature();
+ if (eReference.isContainment() && getSetting().getEObject().eIsSet(eReference)) {
+ final MessageDialog dialog = getContainmentWarningDialog();
+ new ECPDialogExecutor(dialog) {
+ @Override
+ public void handleResult(int codeResult) {
+ if (codeResult == Window.OK) {
+ addNewElementsToReferenceService(getSetting().getEObject(), eReference);
+ }
+ }
+ }.execute();
+ }
+ addNewElementsToReferenceService(getSetting().getEObject(), eReference);
+ }
+
+ private void addNewElementsToReferenceService(EObject eObject, EReference eReference) {
+ if (referenceService == null) {
+ return;
+ }
+ referenceService.addNewModelElements(eObject, eReference);
+ }
+
+ private MessageDialog getContainmentWarningDialog() {
+ return new MessageDialog(null,
+ LocalizationServiceHelper.getString(NewReferenceAction.class,
+ ReferenceMessageKeys.NewReferenceAction_Confirmation),
+ null,
+ LocalizationServiceHelper.getString(NewReferenceAction.class,
+ ReferenceMessageKeys.NewReferenceAction_Warning),
+ MessageDialog.WARNING,
+ new String[] {
+ LocalizationServiceHelper.getString(NewReferenceAction.class,
+ ReferenceMessageKeys.NewReferenceAction_Yes),
+ LocalizationServiceHelper.getString(NewReferenceAction.class,
+ ReferenceMessageKeys.NewReferenceAction_No) },
+ 0);
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/ECPCellEditor.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/ECPCellEditor.java
index d69ae0e..7d25838 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/ECPCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/ECPCellEditor.java
@@ -12,6 +12,7 @@
*******************************************************************************/
package org.eclipse.emf.ecp.edit.spi.swt.table;
+import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.UpdateValueStrategy;
import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EStructuralFeature;
@@ -60,7 +61,7 @@
/**
* This returns the Image which will be shown in the table when no cell editor is open.
- *
+ *
* @param value the Object to get the Image for
* @return the image
*/
@@ -78,16 +79,20 @@
/**
* This {@link UpdateValueStrategy} will be used as the target to model strategy during data binding.
*
- * @return the stratefy
+ * @param databindingContext The {@link DataBindingContext} used by this strategy
+ * @return the strategy
+ * @since 1.6
*/
- UpdateValueStrategy getTargetToModelStrategy();
+ UpdateValueStrategy getTargetToModelStrategy(DataBindingContext databindingContext);
/**
* This {@link UpdateValueStrategy} will be used as the model to target strategy during data binding.
*
- * @return the stratefy
+ * @param databindingContext The {@link DataBindingContext} used by this strategy
+ * @return the strategy
+ * @since 1.6
*/
- UpdateValueStrategy getModelToTargetStrategy();
+ UpdateValueStrategy getModelToTargetStrategy(DataBindingContext databindingContext);
/**
* Sets editable state of the cell editor.
@@ -95,4 +100,12 @@
* @param editable <code>true</code> if editable, <code>false</code> otherwise
*/
void setEditable(boolean editable);
+
+ /**
+ * Returns the minimum width of the cell editor.
+ *
+ * @return the minimum width
+ * @since 1.6
+ */
+ int getMinWidth();
}
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/StringCellEditor.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/StringCellEditor.java
index 6fbf481..f912be2 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/StringCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/StringCellEditor.java
@@ -11,6 +11,7 @@
*******************************************************************************/
package org.eclipse.emf.ecp.edit.spi.swt.table;
+import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.UpdateValueStrategy;
import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EStructuralFeature;
@@ -107,10 +108,11 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy()
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy(org.eclipse.core.databinding.DataBindingContext)
+ * @since 1.6
*/
@Override
- public UpdateValueStrategy getTargetToModelStrategy() {
+ public UpdateValueStrategy getTargetToModelStrategy(DataBindingContext databindingContext) {
// TODO Auto-generated method stub
return null;
}
@@ -119,10 +121,11 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy()
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy(org.eclipse.core.databinding.DataBindingContext)
+ * @since 1.6
*/
@Override
- public UpdateValueStrategy getModelToTargetStrategy() {
+ public UpdateValueStrategy getModelToTargetStrategy(DataBindingContext databindingContext) {
// TODO Auto-generated method stub
return null;
}
@@ -142,7 +145,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getImage(java.lang.Object)
*/
@Override
@@ -150,4 +153,15 @@
return null;
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getMinWidth()
+ * @since 1.6
+ */
+ @Override
+ public int getMinWidth() {
+ return 0;
+ }
+
}
diff --git a/bundles/org.eclipse.emf.ecp.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.edit/.settings/.api_filters
index ff8aa5a..45eed6e 100644
--- a/bundles/org.eclipse.emf.ecp.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.edit/.settings/.api_filters
@@ -13,10 +13,10 @@
<message_argument value="1.4.0"/>
</message_arguments>
</filter>
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
</message_arguments>
</filter>
</resource>
@@ -44,6 +44,30 @@
</message_arguments>
</filter>
</resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
<resource path="src/org/eclipse/emf/ecp/edit/spi/ECPAbstractControl.java" type="org.eclipse.emf.ecp.edit.spi.ECPAbstractControl">
<filter comment="This class is SPI" id="337682486">
<message_arguments>
diff --git a/bundles/org.eclipse.emf.ecp.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.edit/META-INF/MANIFEST.MF
index 51e6009..9f57111 100644
--- a/bundles/org.eclipse.emf.ecp.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.edit/META-INF/MANIFEST.MF
@@ -2,20 +2,25 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.emf.ecp.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.internal.edit.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.6.0,3.0.0)",
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
org.eclipse.core.databinding;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.edit.spi;version="1.5.1",org.eclip
- se.emf.ecp.edit.spi.util;version="1.5.1",org.eclipse.emf.ecp.internal
- .edit;version="1.5.1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.edit.spi;version="1.6.0",org.eclip
+ se.emf.ecp.edit.spi.util;version="1.6.0",org.eclipse.emf.ecp.internal
+ .edit;version="1.6.0";x-internal:=true
Service-Component: OSGI-INF/ecpControlFactory.xml
Bundle-Vendor: %Bundle-Vendor
+Import-Package: org.eclipse.emf.ecp.view.model.common.edit.provider;version="1.6.0",
+ org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0"
diff --git a/bundles/org.eclipse.emf.ecp.edit/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emf.ecp.edit/OSGI-INF/l10n/bundle.properties
index 8bd8840..ef330b3 100644
--- a/bundles/org.eclipse.emf.ecp.edit/OSGI-INF/l10n/bundle.properties
+++ b/bundles/org.eclipse.emf.ecp.edit/OSGI-INF/l10n/bundle.properties
@@ -15,3 +15,6 @@
Bundle-Name = ECP Edit
extension-point.controls = ECP Controls
+
+CONTROLFACTROY_CANNOT_BE_LOADED=\ cannot be loaded because bundle
+CONTROLFACTORY_CANNOT_BE_RESOLVED=\ cannot be resolved
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.edit/pom.xml b/bundles/org.eclipse.emf.ecp.edit/pom.xml
index e463b93..ec0d3f2 100644
--- a/bundles/org.eclipse.emf.ecp.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.edit/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.edit</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/DeleteService.java b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/DeleteService.java
new file mode 100644
index 0000000..273de59
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/DeleteService.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.edit.spi;
+
+import java.util.Collection;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelService;
+
+/**
+ * The DeleteService is used by renderers in order to delete objects from the containment tree.
+ *
+ * @author jfaltermeier
+ * @since 1.6
+ *
+ */
+public interface DeleteService extends ViewModelService {
+
+ /**
+ * Deletes the given objects from the containment tree. This will cut all references to the deleted objects.
+ *
+ * @param toDelete the objects to delete
+ */
+ void deleteElements(Collection<Object> toDelete);
+
+ /**
+ * Deletes the given object from the containment tree. This will cut all references to the deleted object.
+ *
+ * @param toDelete the object to delete
+ */
+ void deleteElement(Object toDelete);
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/ECPAbstractControl.java b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/ECPAbstractControl.java
index e3c08c2..87fd332 100644
--- a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/ECPAbstractControl.java
+++ b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/ECPAbstractControl.java
@@ -11,16 +11,19 @@
******************************************************************************/
package org.eclipse.emf.ecp.edit.spi;
-import java.util.Iterator;
import java.util.Locale;
import org.eclipse.core.databinding.DataBindingContext;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.databinding.EMFDataBindingContext;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecp.internal.edit.Activator;
import org.eclipse.emf.ecp.view.model.common.edit.provider.CustomReflectiveItemProviderAdapterFactory;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
@@ -35,6 +38,8 @@
import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* The {@link ECPAbstractControl} is the abstract class describing a control.
@@ -192,20 +197,21 @@
*/
public final Setting getFirstSetting() {
if (firstSetting == null) {
- final Iterator<Setting> iterator = control.getDomainModelReference().getIterator();
- int count = 0;
- firstSetting = null;
- while (iterator.hasNext()) {
- count++;
- final Setting setting = iterator.next();
- if (firstSetting == null) {
- firstSetting = setting;
- }
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(control.getDomainModelReference(), getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ throw new IllegalStateException("The databinding failed due to an incorrect VDomainModelReference: " //$NON-NLS-1$
+ + ex.getMessage());
}
- if (count == 0) {
- Activator.logException(new IllegalArgumentException(control.getName() + " : " + //$NON-NLS-1$
- "The passed VDomainModelReference resolves to no setting.")); //$NON-NLS-1$
- }
+ final InternalEObject internalEObject = (InternalEObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+
+ firstSetting = internalEObject.eSetting(structuralFeature);
+ return firstSetting;
}
return firstSetting;
}
@@ -218,22 +224,15 @@
*/
public final EStructuralFeature getFirstStructuralFeature() {
if (firstFeature == null) {
- final Iterator<EStructuralFeature> iterator = control.getDomainModelReference()
- .getEStructuralFeatureIterator();
- int count = 0;
- firstFeature = null;
- while (iterator.hasNext()) {
- count++;
- if (firstFeature == null) {
- firstFeature = iterator.next();
- } else {
- iterator.next();
- }
- }
- if (count == 0) {
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
throw new IllegalArgumentException(
"The passed VDomainModelReference resolves to no EStructuralFeature."); //$NON-NLS-1$
}
+ firstFeature = (EStructuralFeature) valueProperty.getValueType();
}
return firstFeature;
}
diff --git a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/ECPControlFactory.java b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/ECPControlFactory.java
index ff1aee7..afd7575 100644
--- a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/ECPControlFactory.java
+++ b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/ECPControlFactory.java
@@ -14,11 +14,12 @@
import java.util.Set;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
/**
* The ControlFactory provides a
- * method ({@link ECPControlFactory#createControl(Class, VDomainModelReference)}) for creating a
+ * method ({@link ECPControlFactory#createControl(Class,EObject, VDomainModelReference)}) for creating a
* suitable
* control with the known widgets.
*
@@ -35,13 +36,14 @@
* Creates an {@link ECPAbstractControl} based on a {@link Class} and the {@link VDomainModelReference}.
*
* @param controlTypeClass the type of the control to return
+ * @param domainModel The domain model object which is the root of the domain model reference
* @param domainModelReference the {@link VDomainModelReference} to use to identify the control
* @param <T> the type of the control to return
* @return the found control or null
*
- * @since 1.2
+ * @since 1.6
*/
- <T> T createControl(Class<T> controlTypeClass, VDomainModelReference domainModelReference);
+ <T> T createControl(Class<T> controlTypeClass, EObject domainModel, VDomainModelReference domainModelReference);
/**
* Creates an {@link ECPAbstractControl} based on an id.
diff --git a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/EMFDeleteServiceImpl.java b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/EMFDeleteServiceImpl.java
new file mode 100644
index 0000000..73b13d5
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/EMFDeleteServiceImpl.java
@@ -0,0 +1,143 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.edit.spi;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.edit.command.ChangeCommand;
+import org.eclipse.emf.edit.command.DeleteCommand;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+/**
+ * Default EMF implementation of the {@link DeleteService}. Uses {@link DeleteCommand}
+ * respectively.
+ *
+ * @author jfaltermeier
+ * @since 1.6
+ *
+ */
+public class EMFDeleteServiceImpl implements DeleteService {
+
+ private EditingDomain editingDomain;
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#instantiate(org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public void instantiate(ViewModelContext context) {
+ editingDomain = AdapterFactoryEditingDomain
+ .getEditingDomainFor(context.getDomainModel());
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#dispose()
+ */
+ @Override
+ public void dispose() {
+ // no op
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#getPriority()
+ */
+ @Override
+ public int getPriority() {
+ return 1;
+ }
+
+ /**
+ *
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.spi.DeleteService#deleteElements(java.util.Collection)
+ */
+ @Override
+ public void deleteElements(final Collection<Object> toDelete) {
+ if (toDelete == null || toDelete.isEmpty()) {
+ return;
+ }
+
+ if (editingDomain == null) {
+ deleteWithoutEditingDomain(toDelete);
+ return;
+ }
+
+ final Command deleteCommand = DeleteCommand.create(editingDomain, toDelete);
+ if (deleteCommand.canExecute()) {
+ if (editingDomain.getCommandStack() == null) {
+ deleteCommand.execute();
+ } else {
+ editingDomain.getCommandStack().execute(deleteCommand);
+ }
+ return;
+ }
+
+ /*
+ * the default DeleteCommand cannot be executed for whatever reason.
+ * Wrap the default delete in a change command for undo support.
+ */
+ final Command changeCommand = new ChangeCommand(editingDomain.getResourceSet()) {
+ @Override
+ protected void doExecute() {
+ deleteWithoutEditingDomain(toDelete);
+ }
+ };
+ if (changeCommand.canExecute()) {
+ if (editingDomain.getCommandStack() == null) {
+ changeCommand.execute();
+ } else {
+ editingDomain.getCommandStack().execute(changeCommand);
+ }
+ return;
+ }
+
+ throw new IllegalStateException("Delete was not successful."); //$NON-NLS-1$
+ }
+
+ private void deleteWithoutEditingDomain(Collection<Object> toDelete) {
+ for (final Object object : toDelete) {
+ final Object unwrap = AdapterFactoryEditingDomain.unwrap(object);
+ if (!EObject.class.isInstance(unwrap)) {
+ continue;
+ }
+ EcoreUtil.delete(EObject.class.cast(unwrap), true);
+ }
+ }
+
+ /**
+ *
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.spi.DeleteService#deleteElement(java.lang.Object)
+ */
+ @Override
+ public void deleteElement(Object toDelete) {
+ if (toDelete == null) {
+ return;
+ }
+ /* delete command for collections/single object works the same */
+ deleteElements(Collections.singleton(toDelete));
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/ViewLocaleService.java b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/ViewLocaleService.java
index 41eaba1..e654f2d 100644
--- a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/ViewLocaleService.java
+++ b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/ViewLocaleService.java
@@ -20,8 +20,11 @@
*
* @author Eugen Neufeld
* @since 1.2
- *
+ * @deprecated Please use the {@link org.eclipse.emfforms.spi.core.services.locale.EMFFormsLocaleProvider
+ * EMFFormsLocaleProvider}
*/
+@SuppressWarnings("javadoc")
+@Deprecated
public interface ViewLocaleService extends ViewModelService {
/**
diff --git a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/util/ECPApplicableTester.java b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/util/ECPApplicableTester.java
index 7c80d44..bfaac19 100644
--- a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/util/ECPApplicableTester.java
+++ b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/util/ECPApplicableTester.java
@@ -51,7 +51,9 @@
* @return {@link #NOT_APPLICABLE} if the corresponding control should not be used, a positivie integer value
* otherwise. The control with the highest priority will be taken.
* @since 1.2
+ * @deprecated Do not use. Use {@link #isApplicable(EObject, EStructuralFeature)} instead.
*/
+ @Deprecated
int isApplicable(VDomainModelReference domainModelReference);
/**
diff --git a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/util/ECPStaticApplicableTester.java b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/util/ECPStaticApplicableTester.java
index 05928ad..c0956fb 100644
--- a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/util/ECPStaticApplicableTester.java
+++ b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/edit/spi/util/ECPStaticApplicableTester.java
@@ -12,13 +12,10 @@
*******************************************************************************/
package org.eclipse.emf.ecp.edit.spi.util;
-import java.util.Iterator;
-
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -74,17 +71,7 @@
@Deprecated
@Override
public int isApplicable(VDomainModelReference domainModelReference) {
- final Iterator<Setting> iterator = domainModelReference.getIterator();
- int count = 0;
- Setting setting = null;
- while (iterator.hasNext()) {
- count++;
- setting = iterator.next();
- }
- if (count != 1) {
- return NOT_APPLICABLE;
- }
- return isApplicable(setting.getEObject(), setting.getEStructuralFeature());
+ return NOT_APPLICABLE;
}
/**
diff --git a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/Activator.java b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/Activator.java
index 73757ea..e39c0f1 100644
--- a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/Activator.java
@@ -15,7 +15,10 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
/**
* Activator class.
@@ -35,6 +38,8 @@
*/
private static Activator plugin;
+ private ServiceReference<ReportService> reportServiceReference;
+
/**
* The constructor.
*/
@@ -75,4 +80,33 @@
new Status(IStatus.ERROR, Activator.getDefault().getBundle().getSymbolicName(), e.getMessage(), e));
}
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+
}
diff --git a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/ControlFactoryImpl.java b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/ControlFactoryImpl.java
index 2378807..23d1119 100644
--- a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/ControlFactoryImpl.java
+++ b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/ControlFactoryImpl.java
@@ -16,21 +16,27 @@
import java.util.HashSet;
import java.util.Set;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.edit.spi.ECPAbstractControl;
import org.eclipse.emf.ecp.edit.spi.ECPControlDescription;
import org.eclipse.emf.ecp.edit.spi.ECPControlFactory;
import org.eclipse.emf.ecp.edit.spi.util.ECPApplicableTester;
import org.eclipse.emf.ecp.edit.spi.util.ECPStaticApplicableTester;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.osgi.framework.Bundle;
/**
* The ControlFactoryImpl is a Singleton which reads the org.eclipse.emf.ecp.editor.widgets ExtensionPoint and provides
- * a method ({@link #createControl(Class, VDomainModelReference)}) for creating a suitable
+ * a method ({@link #createControl(Class, EObject, VDomainModelReference)}) for creating a suitable
* control for with the known widgets.
*
* @author Eugen Neufeld
@@ -122,9 +128,12 @@
private static <T> Class<T> loadClass(String bundleName, String clazz) throws ClassNotFoundException {
final Bundle bundle = Platform.getBundle(bundleName);
if (bundle == null) {
- throw new ClassNotFoundException(clazz + EditMessages.CONTROLFACTROY_CANNOT_BE_LOADED
+ throw new ClassNotFoundException(clazz
+ + LocalizationServiceHelper.getString(ControlFactoryImpl.class,
+ MessageKeys.CONTROLFACTROY_CANNOT_BE_LOADED)
+ bundleName
- + EditMessages.CONTROLFACTORY_CANNOT_BE_RESOLVED);
+ + LocalizationServiceHelper.getString(ControlFactoryImpl.class,
+ MessageKeys.CONTROLFACTORY_CANNOT_BE_RESOLVED));
}
return (Class<T>) bundle.loadClass(clazz);
@@ -133,13 +142,14 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.edit.spi.ECPControlFactory#createControl(java.lang.Class,
+ * @see org.eclipse.emf.ecp.edit.spi.ECPControlFactory#createControl(java.lang.Class, org.eclipse.emf.ecore.EObject,
* org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)
*/
@Override
- public <T> T createControl(Class<T> controlType, VDomainModelReference domainModelReference) {
+ public <T> T createControl(Class<T> controlType, EObject domainModel, VDomainModelReference domainModelReference) {
- final ECPControlDescription controlDescription = getControlCandidate(controlType, domainModelReference);
+ final ECPControlDescription controlDescription = getControlCandidate(controlType, domainModel,
+ domainModelReference);
if (controlDescription == null) {
return null;
}
@@ -201,13 +211,25 @@
return null;
}
- private ECPControlDescription getControlCandidate(Class<?> controlClass,
+ private ECPControlDescription getControlCandidate(Class<?> controlClass, EObject domainModel,
VDomainModelReference domainModelReference) {
int highestPriority = -1;
ECPControlDescription bestCandidate = null;
if (domainModelReference == null) {
return bestCandidate;
}
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(domainModelReference, domainModel);
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return bestCandidate;
+ }
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+
for (final ECPControlDescription description : controlDescriptors) {
if (!controlClass.isAssignableFrom(description.getControlClass())) {
@@ -216,7 +238,7 @@
int currentPriority = -1;
for (final ECPApplicableTester tester : description.getTester()) {
- final int testerPriority = tester.isApplicable(domainModelReference);
+ final int testerPriority = tester.isApplicable(eObject, structuralFeature);
if (testerPriority > currentPriority) {
currentPriority = testerPriority;
}
diff --git a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/EditMessages.java b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/EditMessages.java
deleted file mode 100644
index 2c5e282..0000000
--- a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/EditMessages.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 EclipseSource.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource - initial API and implementation
- *
- *******************************************************************************/
-package org.eclipse.emf.ecp.internal.edit;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * The Class EditMessages.
- *
- * @generated
- */
-public final class EditMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.internal.edit.messages"; //$NON-NLS-1$
-
- /** The Control factory impl_ cannot be loaded because bundle. */
- public static String CONTROLFACTROY_CANNOT_BE_LOADED;
-
- /** The Control factory impl_ cannot be resolved. */
- public static String CONTROLFACTORY_CANNOT_BE_RESOLVED;
-
- private EditMessages() {
- }
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, EditMessages.class);
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/MessageKeys.java b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/MessageKeys.java
new file mode 100644
index 0000000..950b478
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/MessageKeys.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.internal.edit;
+
+/**
+ * Keys for translated strings.
+ *
+ * @author Eugen Neufeld
+ * @generated
+ */
+public interface MessageKeys {
+ String CONTROLFACTROY_CANNOT_BE_LOADED = "CONTROLFACTROY_CANNOT_BE_LOADED"; //$NON-NLS-1$
+
+ /** The Control factory impl_ cannot be resolved. */
+ String CONTROLFACTORY_CANNOT_BE_RESOLVED = "CONTROLFACTORY_CANNOT_BE_RESOLVED"; //$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/messages.properties b/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/messages.properties
deleted file mode 100644
index bb5ef08..0000000
--- a/bundles/org.eclipse.emf.ecp.edit/src/org/eclipse/emf/ecp/internal/edit/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 EclipseSource.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# EclipseSource - initial API and implementation
-################################################################################
-
-CONTROLFACTROY_CANNOT_BE_LOADED=\ cannot be loaded because bundle
-CONTROLFACTORY_CANNOT_BE_RESOLVED=\ cannot be resolved
diff --git a/bundles/org.eclipse.emf.ecp.editor.e3/.gitignore b/bundles/org.eclipse.emf.ecp.editor.e3/.gitignore
index ea8c4bf..d9d66d8 100644
--- a/bundles/org.eclipse.emf.ecp.editor.e3/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.editor.e3/.gitignore
@@ -1 +1,2 @@
/target
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.editor.e3/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.editor.e3/META-INF/MANIFEST.MF
index d54cdbf..7aa9761 100644
--- a/bundles/org.eclipse.emf.ecp.editor.e3/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.editor.e3/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Editor integration for 3.x Workbench
Bundle-SymbolicName: org.eclipse.emf.ecp.editor.e3;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.editor.internal.e3.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
@@ -15,6 +15,7 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.eclipse.core.commands;version="0.0.0",
org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
org.eclipse.jface.action;version="0.0.0",
org.eclipse.jface.dialogs;version="0.0.0",
org.eclipse.jface.resource;version="0.0.0",
@@ -35,6 +36,6 @@
org.eclipse.ui.plugin;version="0.0.0",
org.eclipse.ui.services;version="0.0.0"
Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.editor.e3;version="1.5.1";x-friend
+Export-Package: org.eclipse.emf.ecp.editor.e3;version="1.6.0";x-friend
s:="org.eclipse.emf.ecp.explorereditorbridge",org.eclipse.emf.ecp.edi
- tor.internal.e3;version="1.5.1";x-internal:=true
+ tor.internal.e3;version="1.6.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.ecp.editor.e3/pom.xml b/bundles/org.eclipse.emf.ecp.editor.e3/pom.xml
index 47ad7ae..843c27e 100644
--- a/bundles/org.eclipse.emf.ecp.editor.e3/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.editor.e3/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.editor.e3</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.editor.e3/src/org/eclipse/emf/ecp/editor/e3/MEEditorInput.java b/bundles/org.eclipse.emf.ecp.editor.e3/src/org/eclipse/emf/ecp/editor/e3/MEEditorInput.java
index db5fb4b..82fd88a 100644
--- a/bundles/org.eclipse.emf.ecp.editor.e3/src/org/eclipse/emf/ecp/editor/e3/MEEditorInput.java
+++ b/bundles/org.eclipse.emf.ecp.editor.e3/src/org/eclipse/emf/ecp/editor/e3/MEEditorInput.java
@@ -97,6 +97,9 @@
if (modelElementContext == other.modelElementContext) {
return true;
}
+ if (other.modelElementContext == null) {
+ return false;
+ }
final boolean ret = modelElementContext.getDomainObject().equals(
other.modelElementContext.getDomainObject());
return ret;
diff --git a/bundles/org.eclipse.emf.ecp.editor.e3/src/org/eclipse/emf/ecp/editor/internal/e3/Activator.java b/bundles/org.eclipse.emf.ecp.editor.e3/src/org/eclipse/emf/ecp/editor/internal/e3/Activator.java
index 465b173..3a46113 100644
--- a/bundles/org.eclipse.emf.ecp.editor.e3/src/org/eclipse/emf/ecp/editor/internal/e3/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.editor.e3/src/org/eclipse/emf/ecp/editor/internal/e3/Activator.java
@@ -14,7 +14,7 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
+import org.eclipse.emfforms.spi.common.report.ReportService;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
diff --git a/bundles/org.eclipse.emf.ecp.editor.e3/src/org/eclipse/emf/ecp/editor/internal/e3/MEEditorPage.java b/bundles/org.eclipse.emf.ecp.editor.e3/src/org/eclipse/emf/ecp/editor/internal/e3/MEEditorPage.java
index e271311..59a19fd 100644
--- a/bundles/org.eclipse.emf.ecp.editor.e3/src/org/eclipse/emf/ecp/editor/internal/e3/MEEditorPage.java
+++ b/bundles/org.eclipse.emf.ecp.editor.e3/src/org/eclipse/emf/ecp/editor/internal/e3/MEEditorPage.java
@@ -13,8 +13,9 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.edit.spi.DeleteService;
import org.eclipse.emf.ecp.editor.e3.ECPEditorContext;
+import org.eclipse.emf.ecp.spi.ui.ECPDeleteServiceImpl;
import org.eclipse.emf.ecp.spi.ui.ECPReferenceServiceImpl;
import org.eclipse.emf.ecp.ui.view.ECPRendererException;
import org.eclipse.emf.ecp.ui.view.swt.ECPSWTView;
@@ -24,8 +25,6 @@
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
import org.eclipse.jface.action.Action;
@@ -61,6 +60,7 @@
private ComposedAdapterFactory composedAdapterFactory;
private ECPSWTView ecpView;
+ private DeleteService deleteService;
/**
* Default constructor.
@@ -125,8 +125,9 @@
final EObject domainObject = modelElementContext.getDomainObject();
final VView view = ViewProviderHelper.getView(domainObject, null);
+ deleteService = new ECPDeleteServiceImpl();
final ViewModelContext vmc = ViewModelContextFactory.INSTANCE.createViewModelContext(view, domainObject,
- new ECPReferenceServiceImpl());
+ new ECPReferenceServiceImpl(), deleteService);
try {
ecpView = ECPSWTViewRenderer.INSTANCE.render(body, vmc);
} catch (final ECPRendererException ex) {
@@ -183,23 +184,12 @@
form.getToolBarManager().add(new Action("", Activator.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE)) { //$NON-NLS-1$
- @Override
- public void run() {
- final EditingDomain editingDomain = AdapterFactoryEditingDomain
- .getEditingDomainFor(modelElementContext
- .getDomainObject());
- new ECPCommand(modelElementContext.getDomainObject(), editingDomain) {
-
- @Override
- protected void doRun() {
- EcoreUtil.delete(modelElementContext.getDomainObject(), true);
- }
-
- }.run(true);
-
- MEEditorPage.this.getEditor().close(true);
- }
- });
+ @Override
+ public void run() {
+ deleteService.deleteElement(modelElementContext.getDomainObject());
+ MEEditorPage.this.getEditor().close(true);
+ }
+ });
menuService.populateContributionManager((ContributionManager) form.getToolBarManager(),
TOOLBAR_ORG_ECLIPSE_EMF_ECP_EDITOR_INTERNAL_E3_ME_EDITOR_PAGE);
form.getToolBarManager().update(true);
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle
copy to bundles/org.eclipse.emf.ecp.emfstore.core.rap/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.classpath b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.classpath
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.table.editor/.classpath
rename to bundles/org.eclipse.emf.ecp.emfstore.core.rap/.classpath
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.project b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.project
new file mode 100644
index 0000000..b76d767
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.ecp.emfstore.core.rap</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.core.prefs
copy to bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.jdt.launching.prefs
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
rename from examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.jdt.ui.prefs
rename to bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..1eda477
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: ECP EMFStore Core RAP
+Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.core.rap
+Bundle-Version: 1.6.0.qualifier
+Bundle-Activator: org.eclipse.emf.ecp.emfstore.internal.core.rap.Activator
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.core.rap;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.5.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.emf.ecp.emfstore.internal.core.rap;version="1.6.0";x-internal:=true
+Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/about.html b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/about.html
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.table.editor/about.html
rename to bundles/org.eclipse.emf.ecp.emfstore.core.rap/about.html
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/build.properties b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/build.properties
new file mode 100644
index 0000000..9cbab3c
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/build.properties
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html
+src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/pom.xml
new file mode 100644
index 0000000..b6580a5
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emf.ecp.emfstore.core.rap</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/src/org/eclipse/emf/ecp/emfstore/internal/core/rap/Activator.java b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/src/org/eclipse/emf/ecp/emfstore/internal/core/rap/Activator.java
new file mode 100644
index 0000000..e8a521f
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/src/org/eclipse/emf/ecp/emfstore/internal/core/rap/Activator.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Neil Mackenzie - initial implementation
+ * Johannes Faltermeier - moved from ecp.core.rap
+ ******************************************************************************/
+package org.eclipse.emf.ecp.emfstore.internal.core.rap;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.emf.ecp.emfstore.core.internal.ESWorkspaceProviderProvider;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
+
+/**
+ * Activator.
+ *
+ */
+public class Activator extends Plugin {
+
+ @Override
+ public final void start(final BundleContext context) throws Exception {
+ final Dictionary<String, Object> dictionary =
+ new Hashtable<String, Object>();
+ dictionary.put(Constants.SERVICE_RANKING, 1000);
+ context.registerService(ESWorkspaceProviderProvider.class,
+ new ESWorkspaceProviderProviderFactory(), dictionary);
+ super.start(context);
+ }
+
+ @Override
+ public void stop(final BundleContext context) throws Exception {
+
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/src/org/eclipse/emf/ecp/emfstore/internal/core/rap/ESWorkspaceProviderProviderFactory.java b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/src/org/eclipse/emf/ecp/emfstore/internal/core/rap/ESWorkspaceProviderProviderFactory.java
new file mode 100644
index 0000000..7820c51
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/src/org/eclipse/emf/ecp/emfstore/internal/core/rap/ESWorkspaceProviderProviderFactory.java
@@ -0,0 +1,97 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Neil Mackenzie - initial implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.emfstore.internal.core.rap;
+
+import org.eclipse.emf.ecp.core.rap.SessionProvider;
+import org.eclipse.emf.ecp.emfstore.core.internal.ESWorkspaceProviderProvider;
+import org.eclipse.emf.ecp.emfstore.core.internal.ESWorkspaceProviderProviderImpl;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceFactory;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ * This is the factory for creating the ESWorkspaceProviderProvider service.
+ *
+ * @author neilmack
+ *
+ */
+public class ESWorkspaceProviderProviderFactory implements ServiceFactory<ESWorkspaceProviderProvider> {
+
+ /**
+ * The session provider used to retrieve the current session.
+ */
+ private SessionProvider sessionProvider;
+
+ /**
+ * default constructor.
+ */
+ public ESWorkspaceProviderProviderFactory() {
+ init();
+ }
+
+ /**
+ * initialise the factory.
+ */
+ public void init() {
+ getSessionProvider();
+ }
+
+ /**
+ * this class retrieves the session provider. If the sessionProvider is
+ * not set yet then it is created and set.
+ *
+ * @return the session provider
+ */
+ private SessionProvider getSessionProvider() {
+ if (sessionProvider == null) {
+ final BundleContext bundleContext =
+ FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<SessionProvider> serviceReference =
+ bundleContext.getServiceReference(SessionProvider.class);
+ sessionProvider = bundleContext.getService(serviceReference);
+ }
+ return sessionProvider;
+ }
+
+ /**
+ * this method returns the ESWorkspaceProviderProvider
+ * service for the current session.
+ * It is called by the OSGI framework.
+ *
+ * @param bundle the OSGI bundle
+ * @param registration the service registration
+ *
+ * @return the service
+ */
+ @Override
+ public final ESWorkspaceProviderProvider getService(final Bundle bundle,
+ final ServiceRegistration<ESWorkspaceProviderProvider> registration) {
+ ESWorkspaceProviderProvider esWorkspaceProviderProvider;
+ final String sessionId = getSessionProvider().getSessionId();
+
+ esWorkspaceProviderProvider =
+ new ESWorkspaceProviderProviderImpl(sessionId);
+ return esWorkspaceProviderProvider;
+ }
+
+ @Override
+ public void ungetService(final Bundle bundle,
+ final ServiceRegistration<ESWorkspaceProviderProvider> registration,
+ final ESWorkspaceProviderProvider service) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/.gitignore b/bundles/org.eclipse.emf.ecp.emfstore.core/.gitignore
index ea8c4bf..d9d66d8 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/.gitignore
@@ -1 +1,2 @@
/target
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/.project b/bundles/org.eclipse.emf.ecp.emfstore.core/.project
index d86526d..3f8ef89 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core/.project
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/.project
@@ -30,6 +30,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.core/META-INF/MANIFEST.MF
index a87abef..a9f5226 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP EMFStore Provider Core Plugin
Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.core;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.emfstore.core.internal.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.core;bundle-version="[1.5.0,2.0.0)",
@@ -10,9 +10,13 @@
org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.emfstore.core.internal;version="1.
- 5.1"; x-friends:="org.eclipse.emf.ecp.emfstore.ui, org.eclipse.emf.e
- cp.emfstore.ui.search, org.eclipse.emf.ecp.view.ui.editor.test, org
- .eclipse.emf.ecp.emfstore.ui.e3, org.eclipse.emf.ecp.emfstore.ui.e4,
- org.eclipse.emf.ecp.changebroker.emfstore"
+Export-Package: org.eclipse.emf.ecp.emfstore.core.internal;version="1.6.0";
+ x-friends:="org.eclipse.emf.ecp.emfstore.ui,
+ org.eclipse.emf.ecp.emfstore.ui.search,
+ org.eclipse.emf.ecp.view.ui.editor.test,
+ org.eclipse.emf.ecp.emfstore.ui.e3,
+ org.eclipse.emf.ecp.emfstore.ui.e4,
+ org.eclipse.emf.ecp.changebroker.emfstore,
+ org.eclipse.emf.ecp.emfstore.core.rap"
+Service-Component: OSGI-INF/esWorkspaceProviderProvider.xml
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/OSGI-INF/esWorkspaceProviderProvider.xml b/bundles/org.eclipse.emf.ecp.emfstore.core/OSGI-INF/esWorkspaceProviderProvider.xml
new file mode 100644
index 0000000..f4753f8
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/OSGI-INF/esWorkspaceProviderProvider.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="false" name="org.eclipse.emf.ecp.emfstore.core.internal.esWorkspaceProviderProvider">
+ <implementation class="org.eclipse.emf.ecp.emfstore.core.internal.ESWorkspaceProviderProviderImpl"/>
+ <service>
+ <provide interface="org.eclipse.emf.ecp.emfstore.core.internal.ESWorkspaceProviderProvider"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/build.properties b/bundles/org.eclipse.emf.ecp.emfstore.core/build.properties
index 2af274d..f994921 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core/build.properties
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/build.properties
@@ -8,5 +8,6 @@
about.ini,\
about.mappings,\
about.properties,\
- modeling32.png
+ modeling32.png,\
+ OSGI-INF/
src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.core/pom.xml
index 0592acf..d35ff33 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.emfstore.core</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/Activator.java b/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/Activator.java
index c2f59fe..0d25541 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/Activator.java
@@ -1,100 +1,121 @@
-/*******************************************************************************
- * Copyright (c) 2011-2012 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- *
- *******************************************************************************/
-package org.eclipse.emf.ecp.emfstore.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle.
- */
-public class Activator extends Plugin {
-
- /** The plug-in ID. **/
- public static final String PLUGIN_ID = "org.eclipse.emf.ecp.emfstore.core"; //$NON-NLS-1$
-
- /** The shared instance. **/
- private static Activator plugin;
-
- /**
- * The constructor.
- */
- public Activator() {
- }
-
- /** {@inheritDoc} **/
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- /** {@inheritDoc} **/
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance.
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- private static void log(IStatus status) {
- plugin.getLog().log(status);
- }
-
- /**
- * Logs a message with a specific status.
- *
- * @param status the {@link IStatus} value
- * @param message the message to log
- */
- public static void log(int status, String message) {
- plugin.getLog().log(new Status(status, PLUGIN_ID, message));
- }
-
- /**
- * Logs a {@link Throwable}.
- *
- * @param t the {@link Throwable}
- * @return the message of the {@link Throwable}
- */
- public static String log(Throwable t) {
- final IStatus status = getStatus(t);
- log(status);
- return status.getMessage();
- }
-
- private static IStatus getStatus(Throwable t) {
- if (t instanceof CoreException) {
- final CoreException coreException = (CoreException) t;
- return coreException.getStatus();
- }
-
- String msg = t.getLocalizedMessage();
- if (msg == null || msg.length() == 0) {
- msg = t.getClass().getName();
- }
-
- return new Status(IStatus.ERROR, PLUGIN_ID, msg, t);
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2011-2012 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ *
+ *******************************************************************************/
+package org.eclipse.emf.ecp.emfstore.core.internal;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.emfstore.internal.client.model.ESWorkspaceProviderImpl;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends Plugin {
+
+ /** The plug-in ID. **/
+ public static final String PLUGIN_ID = "org.eclipse.emf.ecp.emfstore.core"; //$NON-NLS-1$
+
+ /** The shared instance. **/
+ private static Activator plugin;
+
+ /**
+ * The constructor.
+ */
+ public Activator() {
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /** {@inheritDoc} **/
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ private static void log(IStatus status) {
+ plugin.getLog().log(status);
+ }
+
+ /**
+ * Logs a message with a specific status.
+ *
+ * @param status the {@link IStatus} value
+ * @param message the message to log
+ */
+ public static void log(int status, String message) {
+ plugin.getLog().log(new Status(status, PLUGIN_ID, message));
+ }
+
+ /**
+ * Logs a {@link Throwable}.
+ *
+ * @param t the {@link Throwable}
+ * @return the message of the {@link Throwable}
+ */
+ public static String log(Throwable t) {
+ final IStatus status = getStatus(t);
+ log(status);
+ return status.getMessage();
+ }
+
+ private static IStatus getStatus(Throwable t) {
+ if (t instanceof CoreException) {
+ final CoreException coreException = (CoreException) t;
+ return coreException.getStatus();
+ }
+
+ String msg = t.getLocalizedMessage();
+ if (msg == null || msg.length() == 0) {
+ msg = t.getClass().getName();
+ }
+
+ return new Status(IStatus.ERROR, PLUGIN_ID, msg, t);
+ }
+
+ /**
+ * Helper method to obtain the relevant ESWorkspaceProvider.
+ *
+ * @return the {@link ESWorkspaceProviderImpl}
+ */
+ public static ESWorkspaceProviderImpl getESWorkspaceProviderInstance() {
+ // TODO Auto-generated method stub
+ ESWorkspaceProviderProvider esWorkspaceProviderProvider = null;
+ final ServiceReference<ESWorkspaceProviderProvider> serviceRef = plugin.getBundle().getBundleContext()
+ .getServiceReference(ESWorkspaceProviderProvider.class);
+ esWorkspaceProviderProvider = plugin.getBundle().getBundleContext().getService(serviceRef);
+ // because we are using a service factory for the RAP implementation we must unget
+ // the service so that the service factory is called again on each call. otherwise
+ // the service factor will keep returning the same cached instance as the reference
+ // count of the service will remain greater than zero
+ plugin.getBundle().getBundleContext().ungetService(serviceRef);
+ return esWorkspaceProviderProvider.getESWorkspaceProviderInstance();
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/ECPEMFUtils.java b/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/ECPEMFUtils.java
new file mode 100644
index 0000000..647b641
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/ECPEMFUtils.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * neilmack - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.emfstore.core.internal;
+
+import org.eclipse.emf.emfstore.internal.client.model.ESWorkspaceProviderImpl;
+
+/**
+ * @author neilmack
+ *
+ */
+public abstract class ECPEMFUtils {
+
+ /**
+ * Helper method to get the instance of the {@link ESWorkspaceProviderImpl}.
+ *
+ * @return the {@link ESWorkspaceProviderImpl}
+ * @since 1.5
+ */
+ public static ESWorkspaceProviderImpl getESWorkspaceProviderInstance() {
+ return Activator.getESWorkspaceProviderInstance();
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/EMFStoreProvider.java b/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/EMFStoreProvider.java
index bf99db9..9dab5dc 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/EMFStoreProvider.java
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/EMFStoreProvider.java
@@ -31,10 +31,13 @@
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.notify.impl.AdapterImpl;
import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecp.core.ECPProject;
import org.eclipse.emf.ecp.core.ECPRepository;
import org.eclipse.emf.ecp.core.util.ECPContainer;
@@ -50,16 +53,13 @@
import org.eclipse.emf.emfstore.client.ESRemoteProject;
import org.eclipse.emf.emfstore.client.ESServer;
import org.eclipse.emf.emfstore.client.ESWorkspace;
-import org.eclipse.emf.emfstore.client.ESWorkspaceProvider;
import org.eclipse.emf.emfstore.client.util.ESVoidCallable;
import org.eclipse.emf.emfstore.client.util.RunESCommand;
import org.eclipse.emf.emfstore.internal.client.model.Configuration;
import org.eclipse.emf.emfstore.internal.client.model.ESWorkspaceProviderImpl;
import org.eclipse.emf.emfstore.internal.client.model.ProjectSpace;
-import org.eclipse.emf.emfstore.internal.client.model.ServerInfo;
import org.eclipse.emf.emfstore.internal.client.model.impl.ProjectSpaceImpl;
import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESLocalProjectImpl;
-import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESWorkspaceImpl;
import org.eclipse.emf.emfstore.internal.client.model.util.EMFStoreClientUtil;
import org.eclipse.emf.emfstore.internal.client.model.util.EMFStoreCommand;
import org.eclipse.emf.emfstore.internal.client.observers.OperationObserver;
@@ -77,6 +77,7 @@
* @author Eugen Neufeld
*/
public final class EMFStoreProvider extends DefaultProvider {
+
/**
* This is the name of the EMFStore Provider.
*/
@@ -84,7 +85,10 @@
/**
* EMFStore Provider Singleton.
+ *
+ * @deprecated use ECPUtil.getECPProviderRegistry().getProvider(EMFStoreProvider.NAME) instead
*/
+ @Deprecated
public static EMFStoreProvider INSTANCE;
/**
@@ -132,7 +136,7 @@
@Override
public EditingDomain createEditingDomain(final InternalProject project) {
- final EditingDomain domain = ((ESWorkspaceImpl) ESWorkspaceProvider.INSTANCE.getWorkspace()).toInternalAPI()
+ final EditingDomain domain = ECPEMFUtils.getESWorkspaceProviderInstance().getWorkspace().toInternalAPI()
.getEditingDomain();
return domain;
@@ -353,10 +357,16 @@
@Override
public Iterator<EObject> getLinkElements(InternalProject project, EObject modelElement, EReference eReference) {
final Collection<EObject> result = new HashSet<EObject>();
+ final EClass elementClass = modelElement.eClass();
+ EClassifier type = EcoreUtil.getReifiedType(elementClass, eReference.getEGenericType()).getEClassifier();
+ if (type == null) {
+ type = eReference.getEType();
+ }
+
// TODO EMFStore does it work with ESLocalProject?
final ProjectSpace projectSpace = ((ESLocalProjectImpl) getProjectSpace(project)).toInternalAPI();
ItemPropertyDescriptor.collectReachableObjectsOfType(new HashSet<EObject>(), result, projectSpace.getProject(),
- eReference.getEType());
+ type);
return result.iterator();
}
@@ -449,6 +459,7 @@
final EObject eObject = (EObject) element;
ProjectSpace ps = null;
try {
+
ps = ESWorkspaceProviderImpl.getProjectSpace(eObject);
} catch (final IllegalArgumentException iae) {
return null;
@@ -502,7 +513,8 @@
if (projectSpace == null) {
boolean found = false;
- final List<ESLocalProject> localProjects = ESWorkspaceProvider.INSTANCE.getWorkspace().getLocalProjects();
+ final List<ESLocalProject> localProjects = ECPEMFUtils.getESWorkspaceProviderInstance().getWorkspace()
+ .getLocalProjects();
for (final ESLocalProject localProject : localProjects) {
final String projectSpaceID = internalProject.getProperties().getValue(
EMFStoreProvider.PROP_PROJECTSPACEID);
@@ -514,7 +526,7 @@
}
if (!found && createNewIfNeeded) {
- projectSpace = ESWorkspaceProvider.INSTANCE.getWorkspace()
+ projectSpace = ECPEMFUtils.getESWorkspaceProviderInstance().getWorkspace()
.createLocalProject(internalProject.getName());
internalProject.getProperties().addProperty(EMFStoreProvider.PROP_PROJECTSPACEID,
projectSpace.getLocalProjectId().getId());
@@ -526,7 +538,8 @@
}
/**
- * This retrieves the {@link ServerInfo} from an {@link InternalRepository}.
+ * This retrieves the {@link org.eclipse.emf.emfstore.internal.client.model.ServerInfo} from an
+ * {@link InternalRepository}.
* First it checks whether the {@link InternalRepository} has a ServerInfoID attached.
* If an ID is attached, a ServerInfo is searched with this ID.
* If no ID is attached or now ServerInfo was found a default ServerInfo is created.
@@ -539,7 +552,7 @@
if (serverInfo == null) {
- final ESWorkspace workspace = ESWorkspaceProvider.INSTANCE.getWorkspace();
+ final ESWorkspace workspace = ECPEMFUtils.getESWorkspaceProviderInstance().getWorkspace();
boolean foundExisting = false;
for (final ESServer info : workspace.getServers()) {
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/ESWorkspaceProviderProvider.java b/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/ESWorkspaceProviderProvider.java
new file mode 100644
index 0000000..7b02be5
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/ESWorkspaceProviderProvider.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * neilmack - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.emfstore.core.internal;
+
+import org.eclipse.emf.emfstore.internal.client.model.ESWorkspaceProviderImpl;
+
+/**
+ * @author neilmack
+ *
+ * This interace provides the relevant ESWorkspaceProviderImpl
+ * @since 1.5
+ */
+public interface ESWorkspaceProviderProvider {
+
+ /**
+ * @return an {@link ESWorkspaceProviderImpl}
+ */
+ ESWorkspaceProviderImpl getESWorkspaceProviderInstance();
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/ESWorkspaceProviderProviderImpl.java b/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/ESWorkspaceProviderProviderImpl.java
new file mode 100644
index 0000000..812cb0f
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/ESWorkspaceProviderProviderImpl.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * neilmack - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.emfstore.core.internal;
+
+import org.eclipse.emf.emfstore.internal.client.model.ESWorkspaceProviderImpl;
+
+/**
+ * @author neilmack
+ *
+ * This class provides the relevant ESWorkspaceProvider
+ */
+public class ESWorkspaceProviderProviderImpl implements ESWorkspaceProviderProvider {
+
+ private String token;
+
+ /**
+ * Default constructor.
+ */
+ public ESWorkspaceProviderProviderImpl() {
+
+ }
+
+ /**
+ * constructor. This constructor takes a token, the getESWorkspaceProviderInstance mothod
+ * of instances that have a token will try to recieve ESWorkspaceProviderImpl with the same token.
+ * This constructor is useful in applications where there may be more than one ESWorkspaceProviderInstance
+ * such as web based applications
+ *
+ * @param aToken a token to associate with the instance
+ */
+ public ESWorkspaceProviderProviderImpl(String aToken) {
+
+ token = aToken;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.emfstore.core.internal.ESWorkspaceProviderProvider#getESWorkspaceProviderInstance()
+ */
+ @Override
+ public ESWorkspaceProviderImpl getESWorkspaceProviderInstance() {
+ // TODO Auto-generated method stub
+ if (token == null) {
+ return ESWorkspaceProviderImpl.getInstance();
+ }
+ return ESWorkspaceProviderImpl.getInstance(token);
+
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.localserver/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.localserver/META-INF/MANIFEST.MF
index fddab8b..fa32ba1 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.localserver/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.localserver/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Local EMFstore
Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.localserver;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.emfstore.localserver.internal.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
org.eclipse.emf.emfstore.server;bundle-version="[1.3.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.emfstore.localserver.internal;version="1.3.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.emfstore.localserver.internal;version="1.6.0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.localserver/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.localserver/pom.xml
index f01822f..d0c9889 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.localserver/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.localserver/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.emfstore.localserver</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/.gitignore b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/META-INF/MANIFEST.MF
index 2b72f97..7fbcb16 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP EMFStore E3
Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.ui.e3;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.emf.ecp.core;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.5.0,2.0.0)",
@@ -31,8 +31,8 @@
org.eclipse.ui.handlers;version="0.0.0",
org.eclipse.ui.plugin;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.emfstore.internal.ui.decorator;ver
- sion="1.5.1";x-internal:=true,org.eclipse.emf.ecp.emfstore.internal.u
- i.e3;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.emfstore.in
- ternal.ui.handler;version="1.5.1";x-internal:=true;uses:="org.eclipse
+ sion="1.6.0";x-internal:=true,org.eclipse.emf.ecp.emfstore.internal.u
+ i.e3;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.emfstore.in
+ ternal.ui.handler;version="1.6.0";x-internal:=true;uses:="org.eclipse
.core.commands"
Bundle-Activator: org.eclipse.emf.ecp.emfstore.internal.ui.e3.Activator
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/plugin.xml b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/plugin.xml
index afb83c1..c23becd 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/plugin.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/plugin.xml
@@ -648,11 +648,6 @@
<observer
logoutObserver="org.eclipse.emf.ecp.emfstore.internal.ui.decorator.RepositoryViewLabelDecorator">
</observer>
- </extension> <extension
- point="org.eclipse.emf.emfstore.client.commitObserver">
- <observer
- commitObserver="org.eclipse.emf.ecp.emfstore.internal.ui.decorator.EMFStoreDirtyDecorator">
- </observer>
</extension>
<extension
point="org.eclipse.emf.emfstore.client.shareObserver">
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/pom.xml
index cc01bc9..b8e07e7 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.emfstore.ui.e3</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/EMFStoreDirtyObserver.java b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/EMFStoreDirtyObserver.java
index 4d1c5a5..7153146 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/EMFStoreDirtyObserver.java
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/EMFStoreDirtyObserver.java
@@ -1,200 +1,204 @@
-/*******************************************************************************
- * Copyright (c) 2011-2012 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- *
- *******************************************************************************/
-package org.eclipse.emf.ecp.emfstore.internal.ui.decorator;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecp.spi.core.InternalProject;
-import org.eclipse.emf.emfstore.internal.client.model.ProjectSpace;
-import org.eclipse.emf.emfstore.internal.client.observers.OperationObserver;
-import org.eclipse.emf.emfstore.internal.common.model.ModelElementId;
-import org.eclipse.emf.emfstore.internal.common.model.Project;
-import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation;
-import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.CreateDeleteOperation;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IDecoratorManager;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Project change observer that marks elements as dirty.
- *
- * @author Tobias Verhoeven
- */
-public class EMFStoreDirtyObserver implements OperationObserver {
-
- private static final String DIRTYDECORATORID = "org.eclipse.emf.ecp.emfstore.ui.decorators.EMFStoreDirtyDecorator"; //$NON-NLS-1$
- private ProjectSpace projectSpace;
- private InternalProject internalProject;
- private final Map<ModelElementId, Integer> modelElementIdToOperationCount = new HashMap<ModelElementId, Integer>();
- private Set<EObject> lastAffected;
- private int operations;
-
- /**
- * Default constructor.
- *
- * @param projectSpace the ProjectSpace of the decorator
- * @param project the ecpproject of the decorator
- */
- public EMFStoreDirtyObserver(ProjectSpace projectSpace, InternalProject project) {
- this.projectSpace = projectSpace;
- internalProject = project;
-
- if (!projectSpace.isShared()) {
- return;
- }
- initCachedTree(projectSpace);
- }
-
- private void initCachedTree(ProjectSpace ps) {
- for (final AbstractOperation operation : ps.getOperations()) {
- operations++;
- for (final ModelElementId modelElementId : operation.getAllInvolvedModelElements()) {
- final EObject element = ps.getProject().getModelElement(modelElementId);
- if (element != null) {
- EMFStoreDirtyDecoratorCachedTree.getInstance(internalProject).addOperation(element);
- }
- }
- removeDeletedElementsFromCachedTree(ps, operation);
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public void operationExecuted(AbstractOperation operation) {
- operations++;
- if (!projectSpace.isShared()) {
- return;
- }
-
- lastAffected = new HashSet<EObject>();
- for (final ModelElementId modelElementId : operation.getAllInvolvedModelElements()) {
- final Project project = projectSpace.getProject();
-
- final EObject element = project.getModelElement(modelElementId);
-
- if (element != null) {
- lastAffected.add(element);
- lastAffected
- .addAll(EMFStoreDirtyDecoratorCachedTree.getInstance(internalProject).addOperation(element));
- }
- removeDeletedElementsFromCachedTree(projectSpace, operation);
- }
- updateDecoration();
- }
-
- /** {@inheritDoc} */
- @Override
- public void operationUndone(AbstractOperation operation) {
- operations--;
- if (!projectSpace.isShared()) {
- return;
- }
- lastAffected = new HashSet<EObject>();
-
- for (final ModelElementId modelElementId : operation.getAllInvolvedModelElements()) {
- final Project project = projectSpace.getProject();
- final EObject element = project.get(modelElementId);
-
- if (element != null) {
- lastAffected.add(element);
- lastAffected.addAll(EMFStoreDirtyDecoratorCachedTree.getInstance(internalProject).removeOperation(
- element));
- }
- }
- initializeRestoredDeletedElement(operation);
- updateDecoration();
- }
-
- private void updateDecoration() {
- // TODO remove dependency to workbench
- final IDecoratorManager decoratorManager = PlatformUI.getWorkbench().getDecoratorManager();
- if (decoratorManager != null) {
- Display.getDefault().syncExec(new Runnable() {
-
- @Override
- public void run() {
- decoratorManager.update(DIRTYDECORATORID);
- }
- });
-
- }
- }
-
- /**
- * @param projectSpace
- * @param operation
- */
- private void removeDeletedElementsFromCachedTree(ProjectSpace projectSpace, AbstractOperation operation) {
- if (operation instanceof CreateDeleteOperation) {
- final CreateDeleteOperation cdo = (CreateDeleteOperation) operation;
-
- if (cdo.isDelete()) {
-
- modelElementIdToOperationCount.put(cdo.getModelElementId(), EMFStoreDirtyDecoratorCachedTree
- .getInstance(internalProject).getOwnValue(projectSpace.getProject().get(cdo.getModelElementId())));
-
- EMFStoreDirtyDecoratorCachedTree.getInstance(internalProject).remove(
- projectSpace.getProject().get(cdo.getModelElementId()));
- // TODO: consider containments
- }
- }
- }
-
- /**
- * @param operation
- */
- private void initializeRestoredDeletedElement(AbstractOperation operation) {
- if (operation instanceof CreateDeleteOperation) {
- final CreateDeleteOperation cdo = (CreateDeleteOperation) operation;
-
- if (cdo.isDelete()) {
- lastAffected.addAll(EMFStoreDirtyDecoratorCachedTree.getInstance(internalProject).setOperationCount(
- projectSpace.getProject().get(cdo.getModelElementId()),
- modelElementIdToOperationCount.get(cdo.getModelElementId().toAPI())));
-
- modelElementIdToOperationCount.remove(projectSpace.getProject().get(cdo.getModelElementId()));
- // TODO: consider containments
- }
- }
- }
-
- /**
- * The Collection of {@link EObject} that were affected during last operation.
- *
- * @return a {@link Set} of {@link EObject} affected or null if none
- */
- public Set<EObject> getLastAffected() {
- return lastAffected;
- }
-
- /**
- * Clears the cache of deleted elements and resets the operation count to 0.
- */
- public void clearObserverCache() {
- modelElementIdToOperationCount.clear();
- operations = 0;
- }
-
- /**
- * Returns weather the observed projectSpac is dirty.
- *
- * @return true, if is dirty.
- */
- public boolean isDirty() {
- return operations > 0;
- }
+/*******************************************************************************
+ * Copyright (c) 2011-2012 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ *
+ *******************************************************************************/
+package org.eclipse.emf.ecp.emfstore.internal.ui.decorator;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.spi.core.InternalProject;
+import org.eclipse.emf.emfstore.internal.client.model.ProjectSpace;
+import org.eclipse.emf.emfstore.internal.client.observers.OperationObserver;
+import org.eclipse.emf.emfstore.internal.common.model.ModelElementId;
+import org.eclipse.emf.emfstore.internal.common.model.Project;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.CreateDeleteOperation;
+import org.eclipse.emf.emfstore.server.ESCloseableIterable;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IDecoratorManager;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * Project change observer that marks elements as dirty.
+ *
+ * @author Tobias Verhoeven
+ */
+public class EMFStoreDirtyObserver implements OperationObserver {
+
+ private static final String DIRTYDECORATORID = "org.eclipse.emf.ecp.emfstore.ui.decorators.EMFStoreDirtyDecorator"; //$NON-NLS-1$
+ private ProjectSpace projectSpace;
+ private InternalProject internalProject;
+ private final Map<ModelElementId, Integer> modelElementIdToOperationCount = new HashMap<ModelElementId, Integer>();
+ private Set<EObject> lastAffected;
+ private int operations;
+
+ /**
+ * Default constructor.
+ *
+ * @param projectSpace the ProjectSpace of the decorator
+ * @param project the ecpproject of the decorator
+ */
+ public EMFStoreDirtyObserver(ProjectSpace projectSpace, InternalProject project) {
+ this.projectSpace = projectSpace;
+ internalProject = project;
+
+ if (!projectSpace.isShared()) {
+ return;
+ }
+ initCachedTree(projectSpace);
+ }
+
+ private void initCachedTree(ProjectSpace ps) {
+ @SuppressWarnings("restriction")
+ final ESCloseableIterable<AbstractOperation> operationIterator = ps.getLocalChangePackage().operations();
+ for (final AbstractOperation operation : operationIterator.iterable()) {
+ operations++;
+ for (final ModelElementId modelElementId : operation.getAllInvolvedModelElements()) {
+ final EObject element = ps.getProject().getModelElement(modelElementId);
+ if (element != null) {
+ EMFStoreDirtyDecoratorCachedTree.getInstance(internalProject).addOperation(element);
+ }
+ }
+ removeDeletedElementsFromCachedTree(ps, operation);
+ }
+ operationIterator.close();
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void operationExecuted(AbstractOperation operation) {
+ operations++;
+ if (!projectSpace.isShared()) {
+ return;
+ }
+
+ lastAffected = new HashSet<EObject>();
+ for (final ModelElementId modelElementId : operation.getAllInvolvedModelElements()) {
+ final Project project = projectSpace.getProject();
+
+ final EObject element = project.getModelElement(modelElementId);
+
+ if (element != null) {
+ lastAffected.add(element);
+ lastAffected
+ .addAll(EMFStoreDirtyDecoratorCachedTree.getInstance(internalProject).addOperation(element));
+ }
+ removeDeletedElementsFromCachedTree(projectSpace, operation);
+ }
+ updateDecoration();
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void operationUndone(AbstractOperation operation) {
+ operations--;
+ if (!projectSpace.isShared()) {
+ return;
+ }
+ lastAffected = new HashSet<EObject>();
+
+ for (final ModelElementId modelElementId : operation.getAllInvolvedModelElements()) {
+ final Project project = projectSpace.getProject();
+ final EObject element = project.get(modelElementId);
+
+ if (element != null) {
+ lastAffected.add(element);
+ lastAffected.addAll(EMFStoreDirtyDecoratorCachedTree.getInstance(internalProject).removeOperation(
+ element));
+ }
+ }
+ initializeRestoredDeletedElement(operation);
+ updateDecoration();
+ }
+
+ private void updateDecoration() {
+ // TODO remove dependency to workbench
+ final IDecoratorManager decoratorManager = PlatformUI.getWorkbench().getDecoratorManager();
+ if (decoratorManager != null) {
+ Display.getDefault().syncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ decoratorManager.update(DIRTYDECORATORID);
+ }
+ });
+
+ }
+ }
+
+ /**
+ * @param projectSpace
+ * @param operation
+ */
+ private void removeDeletedElementsFromCachedTree(ProjectSpace projectSpace, AbstractOperation operation) {
+ if (operation instanceof CreateDeleteOperation) {
+ final CreateDeleteOperation cdo = (CreateDeleteOperation) operation;
+
+ if (cdo.isDelete()) {
+
+ modelElementIdToOperationCount.put(cdo.getModelElementId(), EMFStoreDirtyDecoratorCachedTree
+ .getInstance(internalProject).getOwnValue(projectSpace.getProject().get(cdo.getModelElementId())));
+
+ EMFStoreDirtyDecoratorCachedTree.getInstance(internalProject).remove(
+ projectSpace.getProject().get(cdo.getModelElementId()));
+ // TODO: consider containments
+ }
+ }
+ }
+
+ /**
+ * @param operation
+ */
+ private void initializeRestoredDeletedElement(AbstractOperation operation) {
+ if (operation instanceof CreateDeleteOperation) {
+ final CreateDeleteOperation cdo = (CreateDeleteOperation) operation;
+
+ if (cdo.isDelete()) {
+ lastAffected.addAll(EMFStoreDirtyDecoratorCachedTree.getInstance(internalProject).setOperationCount(
+ projectSpace.getProject().get(cdo.getModelElementId()),
+ modelElementIdToOperationCount.get(cdo.getModelElementId().toAPI())));
+
+ modelElementIdToOperationCount.remove(projectSpace.getProject().get(cdo.getModelElementId()));
+ // TODO: consider containments
+ }
+ }
+ }
+
+ /**
+ * The Collection of {@link EObject} that were affected during last operation.
+ *
+ * @return a {@link Set} of {@link EObject} affected or null if none
+ */
+ public Set<EObject> getLastAffected() {
+ return lastAffected;
+ }
+
+ /**
+ * Clears the cache of deleted elements and resets the operation count to 0.
+ */
+ public void clearObserverCache() {
+ modelElementIdToOperationCount.clear();
+ operations = 0;
+ }
+
+ /**
+ * Returns weather the observed projectSpac is dirty.
+ *
+ * @return true, if is dirty.
+ */
+ public boolean isDirty() {
+ return operations > 0;
+ }
}
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/.gitignore b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/META-INF/MANIFEST.MF
index 525d4df..52e38b9 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Emfstore e4 ui
Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.ui.e4;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.e4.emfstore.Activator
Require-Bundle: org.eclipse.e4.core.di;bundle-version="[1.2.0,2.0.0)",
javax.inject;bundle-version="[1.0.0,2.0.0)",
@@ -17,6 +17,6 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.osgi.framework;version="1.3.0"
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.e4.emfstore;version="1.5.1";x-inte
+Export-Package: org.eclipse.emf.ecp.e4.emfstore;version="1.6.0";x-inte
rnal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/pom.xml
index 502e338..37e4772 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.emfstore.ui.e4</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/.gitignore b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/.gitignore
index ea8c4bf..d9d66d8 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/.gitignore
@@ -1 +1,2 @@
/target
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/META-INF/MANIFEST.MF
index 10abd00..5045de1 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Search UI
Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.ui.search;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.core;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.5.0,2.0.0)",
@@ -21,6 +21,6 @@
org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0",
org.eclipse.ui.handlers;version="0.0.0",
org.eclipse.ui.plugin;version="0.0.0"
-Export-Package: org.eclipse.emf.ecp.emfstore.ui.search;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.emfstore.ui.search;version="1.6.0"
;x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/pom.xml
index edd27be..b1e0ec0 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.emfstore.ui.search</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui/.gitignore b/bundles/org.eclipse.emf.ecp.emfstore.ui/.gitignore
index ea8c4bf..d9d66d8 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui/.gitignore
@@ -1 +1,2 @@
/target
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.ui/META-INF/MANIFEST.MF
index 0300ab7..143414f 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP EMFStore UI Provider
Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.ui;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.emfstore.internal.ui.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
@@ -14,12 +14,12 @@
org.eclipse.emf.ecp.common;bundle-version="[1.5.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.emfstore.internal.ui;version="1.5.
- 1";x-internal:=true,org.eclipse.emf.ecp.emfstore.internal.ui.handler;
- version="1.5.1";x-friends:="org.eclipse.emf.ecp.emfstore.ui.e4,org.ec
+Export-Package: org.eclipse.emf.ecp.emfstore.internal.ui;version="1.6.
+ 0";x-internal:=true,org.eclipse.emf.ecp.emfstore.internal.ui.handler;
+ version="1.6.0";x-friends:="org.eclipse.emf.ecp.emfstore.ui.e4,org.ec
lipse.emf.ecp.emfstore.ui.e3",org.eclipse.emf.ecp.emfstore.internal.u
- i.observer;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.emfst
- ore.internal.ui.property;version="1.5.1";x-internal:=true
+ i.observer;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.emfst
+ ore.internal.ui.property;version="1.6.0";x-internal:=true
Import-Package: org.eclipse.core.commands;version="0.0.0",
org.eclipse.jface.action;version="0.0.0",
org.eclipse.jface.dialogs;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.ui/pom.xml
index 67e6e61..d8cb0c7 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.emfstore.ui</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/EMFStoreUIProvider.java b/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/EMFStoreUIProvider.java
index 927e76f..7fb08ca 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/EMFStoreUIProvider.java
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/EMFStoreUIProvider.java
@@ -28,6 +28,7 @@
import org.eclipse.emf.emfstore.server.exceptions.ESException;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.window.Window;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
@@ -184,16 +185,16 @@
ArrayList<String> certificates;
try {
certificates = KeyStoreManager.getInstance().getCertificates();
- // csd.setElements(certificates.toArray());
+ csd.setElements(certificates.toArray());
} catch (final ESCertificateException e1) {
- // csd.setErrorMessage(e1.getMessage());
+ csd.setErrorMessage(e1.getMessage());
}
- // csd.setBlockOnOpen(true);
- // csd.setTitle("Certificate Selection Dialog");
- // csd.open();
- // if (csd.getReturnCode() == Window.OK) {
- // return csd.getCertificateAlias();
- // }
+ csd.setBlockOnOpen(true);
+ csd.setTitle("Certificate Selection Dialog"); //$NON-NLS-1$
+ csd.open();
+ if (csd.getReturnCode() == Window.OK) {
+ return csd.getCertificateAlias();
+ }
return ""; //$NON-NLS-1$
}
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/ExportProjectHelper.java b/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/ExportProjectHelper.java
index b6d5500..bbbf8f3 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/ExportProjectHelper.java
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/ExportProjectHelper.java
@@ -13,12 +13,11 @@
import java.io.File;
import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.ecp.emfstore.core.internal.EMFStoreProvider;
import org.eclipse.emf.ecp.emfstore.internal.ui.Activator;
+import org.eclipse.emf.ecp.internal.ui.util.ECPExportHandlerHelper;
import org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelper;
import org.eclipse.emf.ecp.spi.core.InternalProject;
import org.eclipse.emf.emfstore.client.ESLocalProject;
@@ -27,7 +26,9 @@
import org.eclipse.emf.emfstore.internal.client.importexport.impl.ExportImportDataUnits;
import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESLocalProjectImpl;
import org.eclipse.swt.widgets.Shell;
-import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* A helper class that can be used to export projects.
@@ -80,37 +81,13 @@
}
private static String getFilePathByFileDialog(Shell shell, String modelElementName) {
- try {
- final Class<ECPFileDialogHelper> clazz = loadClass(ECP_UI_PLUGIN_ID,
- FILE_DIALOG_HELPER_CLASS);
- final ECPFileDialogHelper fileDialogHelper = clazz.getConstructor().newInstance();
- return fileDialogHelper.getPathForExport(shell, modelElementName);
- } catch (final ClassNotFoundException ex) {
- Activator.log(ex);
- } catch (final InstantiationException ex) {
- Activator.log(ex);
- } catch (final IllegalAccessException ex) {
- Activator.log(ex);
- } catch (final IllegalArgumentException ex) {
- Activator.log(ex);
- } catch (final InvocationTargetException ex) {
- Activator.log(ex);
- } catch (final NoSuchMethodException ex) {
- Activator.log(ex);
- } catch (final SecurityException ex) {
- Activator.log(ex);
- }
- return null;
- }
-
- @SuppressWarnings("unchecked")
- private static <T> Class<T> loadClass(String bundleName, String clazz) throws ClassNotFoundException {
- final Bundle bundle = Platform.getBundle(bundleName);
- if (bundle == null) {
- throw new ClassNotFoundException(clazz + " cannot be loaded because bundle " + bundleName //$NON-NLS-1$
- + " cannot be resolved"); //$NON-NLS-1$
- }
- return (Class<T>) bundle.loadClass(clazz);
+ final BundleContext bundleContext = FrameworkUtil.getBundle(ECPExportHandlerHelper.class).getBundleContext();
+ final ServiceReference<ECPFileDialogHelper> serviceReference = bundleContext
+ .getServiceReference(ECPFileDialogHelper.class);
+ final ECPFileDialogHelper fileDialogHelper = bundleContext.getService(serviceReference);
+ final String result = fileDialogHelper.getPathForExport(shell, modelElementName);
+ bundleContext.ungetService(serviceReference);
+ return result;
}
}
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/ImportProjectHelper.java b/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/ImportProjectHelper.java
index fa0361a..2730e84 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/ImportProjectHelper.java
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/ImportProjectHelper.java
@@ -13,20 +13,19 @@
import java.io.File;
import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
import java.util.List;
import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.ecp.core.exceptions.ECPProjectWithNameExistsException;
import org.eclipse.emf.ecp.core.util.ECPProperties;
import org.eclipse.emf.ecp.core.util.ECPUtil;
+import org.eclipse.emf.ecp.emfstore.core.internal.ECPEMFUtils;
import org.eclipse.emf.ecp.emfstore.core.internal.EMFStoreProvider;
import org.eclipse.emf.ecp.emfstore.internal.ui.Activator;
import org.eclipse.emf.ecp.internal.ui.PreferenceHelper;
+import org.eclipse.emf.ecp.internal.ui.util.ECPExportHandlerHelper;
import org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelper;
import org.eclipse.emf.emfstore.client.ESLocalProject;
-import org.eclipse.emf.emfstore.client.ESWorkspaceProvider;
import org.eclipse.emf.emfstore.internal.client.importexport.ExportImportControllerExecutor;
import org.eclipse.emf.emfstore.internal.client.importexport.ExportImportControllerFactory;
import org.eclipse.emf.emfstore.internal.client.importexport.impl.ExportImportDataUnits;
@@ -34,7 +33,9 @@
import org.eclipse.jface.dialogs.InputDialog;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Shell;
-import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* A helper class that can be used to import projects.
@@ -58,10 +59,6 @@
private static final String EXPORT_MODEL_PATH = "org.eclipse.emf.ecp.exportProjectModelPath"; //$NON-NLS-1$
- private static final String ECP_UI_PLUGIN_ID = "org.eclipse.emf.ecp.ui"; //$NON-NLS-1$
-
- private static final String FILE_DIALOG_HELPER_CLASS = "org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl"; //$NON-NLS-1$
-
private ImportProjectHelper() {
}
@@ -81,7 +78,8 @@
.execute(ExportImportControllerFactory.Import.getImportProjectSpaceController());
PreferenceHelper.setPreference(EXPORT_MODEL_PATH, file.getParent());
- final List<ESLocalProject> localProjects = ESWorkspaceProvider.INSTANCE.getWorkspace().getLocalProjects();
+ final List<ESLocalProject> localProjects = ECPEMFUtils.getESWorkspaceProviderInstance().getWorkspace()
+ .getLocalProjects();
final ESLocalProject localProject = localProjects.get(localProjects.size() - 1);
final ECPProperties properties = ECPUtil.createProperties();
properties.addProperty(EMFStoreProvider.PROP_PROJECTSPACEID, localProject.getLocalProjectId().getId());
@@ -110,40 +108,16 @@
}
private static File getFile(Shell shell) {
- try {
- final Class<ECPFileDialogHelper> clazz = loadClass(ECP_UI_PLUGIN_ID,
- FILE_DIALOG_HELPER_CLASS);
- final ECPFileDialogHelper fileDialogHelper = clazz.getConstructor().newInstance();
- final String fileName = fileDialogHelper.getPathForImport(shell);
- if (fileName != null) {
- return new File(fileName);
- }
- } catch (final ClassNotFoundException ex) {
- Activator.log(ex);
- } catch (final InstantiationException ex) {
- Activator.log(ex);
- } catch (final IllegalAccessException ex) {
- Activator.log(ex);
- } catch (final IllegalArgumentException ex) {
- Activator.log(ex);
- } catch (final InvocationTargetException ex) {
- Activator.log(ex);
- } catch (final NoSuchMethodException ex) {
- Activator.log(ex);
- } catch (final SecurityException ex) {
- Activator.log(ex);
+ final BundleContext bundleContext = FrameworkUtil.getBundle(ECPExportHandlerHelper.class).getBundleContext();
+ final ServiceReference<ECPFileDialogHelper> serviceReference = bundleContext
+ .getServiceReference(ECPFileDialogHelper.class);
+ final ECPFileDialogHelper fileDialogHelper = bundleContext.getService(serviceReference);
+ final String result = fileDialogHelper.getPathForImport(shell);
+ bundleContext.ungetService(serviceReference);
+ if (result == null) {
+ return null;
}
- return null;
- }
-
- @SuppressWarnings("unchecked")
- private static <T> Class<T> loadClass(String bundleName, String clazz) throws ClassNotFoundException {
- final Bundle bundle = Platform.getBundle(bundleName);
- if (bundle == null) {
- throw new ClassNotFoundException(clazz + " cannot be loaded because bundle " + bundleName //$NON-NLS-1$
- + " cannot be resolved"); //$NON-NLS-1$
- }
- return (Class<T>) bundle.loadClass(clazz);
+ return new File(result);
}
}
diff --git a/bundles/org.eclipse.emf.ecp.examplemodel.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.examplemodel.ui/META-INF/MANIFEST.MF
index a951df7..419e4a2 100644
--- a/bundles/org.eclipse.emf.ecp.examplemodel.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.examplemodel.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: UI Contributions for the Bowling example model
Bundle-SymbolicName: org.eclipse.emf.ecp.examplemodel.ui;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
diff --git a/bundles/org.eclipse.emf.ecp.examplemodel.ui/pom.xml b/bundles/org.eclipse.emf.ecp.examplemodel.ui/pom.xml
index 2c9c5b9..e526ac1 100644
--- a/bundles/org.eclipse.emf.ecp.examplemodel.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.examplemodel.ui/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.examplemodel.ui</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.explorereditorbridge/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.explorereditorbridge/META-INF/MANIFEST.MF
index 57e6401..9a64028 100644
--- a/bundles/org.eclipse.emf.ecp.explorereditorbridge/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.explorereditorbridge/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Explorer Editor Bridge
Bundle-SymbolicName: org.eclipse.emf.ecp.explorereditorbridge;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.explorereditorbridge.internal.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.ui;bundle-version="[1.5.0,2.0.0)",
@@ -15,7 +15,7 @@
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.explorereditorbridge.internal;vers
- ion="1.5.1";x-friends:="org.eclipse.emf.ecp.ui.view.test"
+ ion="1.6.0";x-friends:="org.eclipse.emf.ecp.ui.view.test"
Import-Package: org.eclipse.core.commands;version="0.0.0",
org.eclipse.emf.ecp.edit.internal.swt;version="1.2.0",
org.eclipse.emf.edit.ui.provider;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.explorereditorbridge/pom.xml b/bundles/org.eclipse.emf.ecp.explorereditorbridge/pom.xml
index 26e15b3..701b354 100644
--- a/bundles/org.eclipse.emf.ecp.explorereditorbridge/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.explorereditorbridge/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.explorereditorbridge</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.graphiti.core/src/org/eclipse/emf/ecp/graphiti/ECPDiagramBehavior.java b/bundles/org.eclipse.emf.ecp.graphiti.core/src/org/eclipse/emf/ecp/graphiti/ECPDiagramBehavior.java
index eee98d1..5de55e3 100644
--- a/bundles/org.eclipse.emf.ecp.graphiti.core/src/org/eclipse/emf/ecp/graphiti/ECPDiagramBehavior.java
+++ b/bundles/org.eclipse.emf.ecp.graphiti.core/src/org/eclipse/emf/ecp/graphiti/ECPDiagramBehavior.java
@@ -85,13 +85,13 @@
}
@Override
- protected void disableAdapters() {
+ public void disableAdapters() {
// TODO Auto-generated method stub
super.disableAdapters();
}
@Override
- protected void enableAdapters() {
+ public void enableAdapters() {
// TODO Auto-generated method stub
super.enableAdapters();
}
diff --git a/bundles/org.eclipse.emf.ecp.graphiti.core/src/org/eclipse/emf/ecp/graphiti/UpdateBehavior.java b/bundles/org.eclipse.emf.ecp.graphiti.core/src/org/eclipse/emf/ecp/graphiti/UpdateBehavior.java
index bdf7900..582aa1a 100644
--- a/bundles/org.eclipse.emf.ecp.graphiti.core/src/org/eclipse/emf/ecp/graphiti/UpdateBehavior.java
+++ b/bundles/org.eclipse.emf.ecp.graphiti.core/src/org/eclipse/emf/ecp/graphiti/UpdateBehavior.java
@@ -10,7 +10,6 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.graphiti.mm.pictograms.Diagram;
import org.eclipse.graphiti.ui.editor.DefaultUpdateBehavior;
@@ -355,17 +354,17 @@
}
- /**
- * Created the {@link TransactionalEditingDomain} that shall be used within
- * the diagram editor and initializes it by delegating to
- * {@link #initializeEditingDomain(TransactionalEditingDomain)}.
- */
- @Override
- protected void createEditingDomain() {
- final TransactionalEditingDomain editingDomain = (TransactionalEditingDomain) AdapterFactoryEditingDomain
- .getEditingDomainFor(diagramBehavior.getDiagram());
- initializeEditingDomain(editingDomain);
- }
+ // /**
+ // * Created the {@link TransactionalEditingDomain} that shall be used within
+ // * the diagram editor and initializes it by delegating to
+ // * {@link #initializeEditingDomain(TransactionalEditingDomain)}.
+ // */
+ // @Override
+ // protected void createEditingDomain() {
+ // final TransactionalEditingDomain editingDomain = (TransactionalEditingDomain) AdapterFactoryEditingDomain
+ // .getEditingDomainFor(diagramBehavior.getDiagram());
+ // initializeEditingDomain(editingDomain);
+ // }
/**
* This sets up the editing domain for this model editor.
diff --git a/bundles/org.eclipse.emf.ecp.graphiti.integration/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.graphiti.integration/META-INF/MANIFEST.MF
index 9e94fe3..938eb9d 100644
--- a/bundles/org.eclipse.emf.ecp.graphiti.integration/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.graphiti.integration/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Graphiti Integration
Bundle-SymbolicName: org.eclipse.emf.ecp.graphiti.integration;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: org.eclipse.ui;bundle-version="3.1.0",
org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.graphiti;bundle-version="0.9.1",
@@ -17,5 +17,5 @@
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.graphiti.internal.integration;version="1.3.0";x-internal:=true,
- org.eclipse.emf.ecp.internal.graphiti.feature;version="1.3.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.graphiti.internal.integration;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.internal.graphiti.feature;version="1.6.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.ecp.graphiti.integration/pom.xml b/bundles/org.eclipse.emf.ecp.graphiti.integration/pom.xml
index 2e4ae7b..e05faf7 100644
--- a/bundles/org.eclipse.emf.ecp.graphiti.integration/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.graphiti.integration/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.graphiti.integration</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view.control/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.editor.view.control/META-INF/MANIFEST.MF
index 99225b4..dd2eec7 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view.control/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view.control/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: IDE Specific Control
Bundle-SymbolicName: org.eclipse.emf.ecp.ide.editor.view.control;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.ide.editor.view.control.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.5.0,2.0.0)",
@@ -15,5 +15,5 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.ecp.ide.editor.view.control;version="1
- .5.1";x-internal:=true
+ .6.0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view.control/pom.xml b/bundles/org.eclipse.emf.ecp.ide.editor.view.control/pom.xml
index 98eccb9..a29e803 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view.control/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view.control/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ide.editor.view.control</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF
index 855524b..dd969f0 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: IDE View Editor
Bundle-SymbolicName: org.eclipse.emf.ecp.ide.editor.view;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.ide.editor.view.Activator
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
@@ -20,6 +20,7 @@
org.eclipse.emf.ecp.view.migrator;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.ide.editor.view;version="1.5.1";x-
+Export-Package: org.eclipse.emf.ecp.ide.editor.view;version="1.6.0";x-
friends:="org.eclipse.emf.ecp.view.model.preview.e3",org.eclipse.emf.
- ecp.ide.editor.view.messages;version="1.5.1";x-internal:=true
+ ecp.ide.editor.view.messages;version="1.6.0";x-internal:=true
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/pom.xml b/bundles/org.eclipse.emf.ecp.ide.editor.view/pom.xml
index 15f6319..ea74104 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ide.editor.view</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/Activator.java b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/Activator.java
index 0f76f5e..15db9fc 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/Activator.java
@@ -12,7 +12,7 @@
package org.eclipse.emf.ecp.ide.editor.view;
import org.eclipse.emf.ecp.ide.view.service.IDEViewModelRegistry;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
+import org.eclipse.emfforms.spi.common.report.ReportService;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java
index 5d32ba0..0e4c668 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java
@@ -41,18 +41,22 @@
import org.eclipse.emf.ecore.util.FeatureMap;
import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecore.xml.type.AnyType;
+import org.eclipse.emf.ecp.edit.spi.EMFDeleteServiceImpl;
import org.eclipse.emf.ecp.ide.editor.view.messages.Messages;
import org.eclipse.emf.ecp.ide.view.service.ViewModelEditorCallback;
import org.eclipse.emf.ecp.internal.ide.util.EcoreHelper;
import org.eclipse.emf.ecp.ui.view.ECPRendererException;
+import org.eclipse.emf.ecp.ui.view.swt.DefaultReferenceService;
import org.eclipse.emf.ecp.ui.view.swt.ECPSWTView;
import org.eclipse.emf.ecp.ui.view.swt.ECPSWTViewRenderer;
import org.eclipse.emf.ecp.view.migrator.ViewModelMigrationException;
import org.eclipse.emf.ecp.view.migrator.ViewModelMigrator;
import org.eclipse.emf.ecp.view.migrator.ViewModelMigratorUtil;
import org.eclipse.emf.ecp.view.model.common.edit.provider.CustomReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.model.reporting.StatusReport;
+import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.jface.dialogs.MessageDialog;
@@ -149,36 +153,7 @@
partListener = new ViewPartListener();
getSite().getPage().addPartListener(partListener);
- final IResourceChangeListener listener = new IResourceChangeListener() {
- @Override
- public void resourceChanged(IResourceChangeEvent event) {
- final IResourceDelta delta = event.getDelta();
- final IResourceDeltaVisitor visitor = new IResourceDeltaVisitor() {
- @Override
- public boolean visit(IResourceDelta delta)
- {
- if (delta.getKind() == IResourceDelta.REMOVED) {
- final FileEditorInput fei = (FileEditorInput) instance.getEditorInput();
- if (delta.getFullPath().equals(fei.getFile().getFullPath())) {
- final IWorkbenchPage page = instance.getSite().getPage();
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- page.closeEditor(instance, false);
- }
- });
- return false;
- }
- }
- return true;
- }
- };
- try {
- delta.accept(visitor);
- } catch (final CoreException ex) {
- }
- }
- };
+ final IResourceChangeListener listener = new EditorResourceChangedListener();
ResourcesPlugin.getWorkspace().addResourceChangeListener(listener);
}
@@ -405,7 +380,10 @@
}
try {
- render = ECPSWTViewRenderer.INSTANCE.render(parent, view);
+
+ render = ECPSWTViewRenderer.INSTANCE.render(parent, ViewModelContextFactory.INSTANCE
+ .createViewModelContext(ViewProviderHelper.getView(view, null), view, new DefaultReferenceService(),
+ new EMFDeleteServiceImpl()));
} catch (final ECPRendererException ex) {
Activator.getDefault().getReportService().report(
new StatusReport(new Status(IStatus.ERROR, Activator.PLUGIN_ID, ex.getMessage(), ex)));
@@ -427,6 +405,11 @@
@Override
public void run() {
+ if (parent == null || parent.isDisposed()) {
+ final IWorkbenchPage page = instance.getSite().getPage();
+ page.closeEditor(instance, true);
+ return;
+ }
if (render != null) {
render.dispose();
render.getSWTControl().dispose();
@@ -604,4 +587,45 @@
ecoreOutOfSync = true;
}
+
+ /** Listens for changes in the editor's resource. */
+ private class EditorResourceChangedListener implements IResourceChangeListener {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
+ */
+ @Override
+ public void resourceChanged(IResourceChangeEvent event) {
+ final IResourceDelta delta = event.getDelta();
+ final IResourceDeltaVisitor visitor = new IResourceDeltaVisitor() {
+ @Override
+ public boolean visit(IResourceDelta delta)
+ {
+ if (delta.getKind() == IResourceDelta.REMOVED) {
+ final FileEditorInput fei = (FileEditorInput) instance.getEditorInput();
+ if (delta.getFullPath().equals(fei.getFile().getFullPath())) {
+ final IWorkbenchPage page = instance.getSite().getPage();
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ page.closeEditor(instance, false);
+ }
+ });
+ return false;
+ }
+ }
+ return true;
+ }
+ };
+ try {
+ if (delta == null) {
+ return;
+ }
+ delta.accept(visitor);
+ } catch (final CoreException ex) {
+ }
+ }
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/messages/messages.properties b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/messages/messages.properties
index 30a2b7f..ff07149 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/messages/messages.properties
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/messages/messages.properties
@@ -1,9 +1,9 @@
ViewEditorPart_EcoreSelectionTitle=Select Ecore
ViewEditorPart_EcoreSelectionValidation=Please Select a File
-ViewEditorPart_EditorViewChanged=The ECore of your ViewModel just changed. This change is not reflected in this View Model Editor. Do you want to reload now?
+ViewEditorPart_EditorViewChanged=The Ecore of your ViewModel just changed. This change is not reflected in this View Model Editor. Do you want to reload now?
ViewEditorPart_LoadedPartyDescription=The view model could only be loaded partly. Probably it needs migration. Please visit our migration guide for more information.
ViewEditorPart_LoadedPartyTitle=Problems while loading the view model.
-ViewEditorPart_MigrationErrorText1=An error occured during migration of the model.
+ViewEditorPart_MigrationErrorText1=An error occurred during migration of the model.
ViewEditorPart_MigrationErrorText2=More information on the error can be found in the error log.
ViewEditorPart_MigrationErrorTitle=EMFForms View Model Migration Error
ViewEditorPart_MigrationQuestion=Your view model is not up to date. Do you want to migrate it to the latest version?
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/META-INF/MANIFEST.MF
index a657207..13279af 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Viewmodel
Bundle-SymbolicName: org.eclipse.emf.ecp.ide.editor.viewmodel;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/pom.xml b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/pom.xml
index 0e4fa16..c6f8090 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ide.editor.viewmodel</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.util/.gitignore b/bundles/org.eclipse.emf.ecp.ide.util/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ide.util/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.ide.util/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.util/META-INF/MANIFEST.MF
index 39fd36c..54d00fb 100644
--- a/bundles/org.eclipse.emf.ecp.ide.util/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.util/META-INF/MANIFEST.MF
@@ -2,18 +2,19 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Ecore Helper Plugin
Bundle-SymbolicName: org.eclipse.emf.ecp.ide.util;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.ide.util.Activator
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.6.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.ide.util;version="1.5.1";x-interna
- l:=true,org.eclipse.emf.ecp.internal.ide.util;version="1.5.1"; x-frie
+Export-Package: org.eclipse.emf.ecp.ide.util;version="1.6.0";x-interna
+ l:=true,org.eclipse.emf.ecp.internal.ide.util;version="1.6.0"; x-frie
nds:="org.eclipse.emf.ecp.ecore.ui, org.eclipse.emf.ecp.ide.editor.v
iew, org.eclipse.emf.ecp.ide.view.service, org.eclipse.emf.ecp.ide.
util.test, org.eclipse.emf.ecp.view.model.editor"
diff --git a/bundles/org.eclipse.emf.ecp.ide.util/pom.xml b/bundles/org.eclipse.emf.ecp.ide.util/pom.xml
index f5280e1..6633239 100644
--- a/bundles/org.eclipse.emf.ecp.ide.util/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.util/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ide.util</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.util/src/org/eclipse/emf/ecp/ide/util/Activator.java b/bundles/org.eclipse.emf.ecp.ide.util/src/org/eclipse/emf/ecp/ide/util/Activator.java
index 578c0f2..8deed6f 100644
--- a/bundles/org.eclipse.emf.ecp.ide.util/src/org/eclipse/emf/ecp/ide/util/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.ide.util/src/org/eclipse/emf/ecp/ide/util/Activator.java
@@ -13,7 +13,10 @@
package org.eclipse.emf.ecp.ide.util;
import org.eclipse.core.runtime.Plugin;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
/**
* The activator class controls the plug-in life cycle.
@@ -26,6 +29,8 @@
// The shared instance
private static Activator plugin;
+ private ReportService reportService;
+
/**
* The constructor.
*/
@@ -61,4 +66,27 @@
return plugin;
}
+ /**
+ * Logs a message.
+ *
+ * @param severity the severity of the Message
+ * @param message The warning to log
+ */
+ public static void log(int severity, String message) {
+ plugin.getReportService().report(new AbstractReport(message, severity));
+ }
+
+ /**
+ * Return the {@link ReportService}.
+ *
+ * @return The {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportService == null) {
+ final ServiceReference<ReportService> serviceReference = getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ reportService = getBundle().getBundleContext().getService(serviceReference);
+ }
+ return reportService;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.ide.util/src/org/eclipse/emf/ecp/internal/ide/util/EcoreHelper.java b/bundles/org.eclipse.emf.ecp.ide.util/src/org/eclipse/emf/ecp/internal/ide/util/EcoreHelper.java
index cf952bb..88bc191 100644
--- a/bundles/org.eclipse.emf.ecp.ide.util/src/org/eclipse/emf/ecp/internal/ide/util/EcoreHelper.java
+++ b/bundles/org.eclipse.emf.ecp.ide.util/src/org/eclipse/emf/ecp/internal/ide/util/EcoreHelper.java
@@ -20,6 +20,7 @@
import java.util.Map;
import java.util.Set;
+import org.eclipse.core.runtime.IStatus;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
@@ -28,6 +29,7 @@
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.ide.util.Activator;
/**
* Helper methods for dealing with ecores.
@@ -68,7 +70,7 @@
* @param ecorePath - path to the ecore
* @throws IOException if resource cannot be loaded
*
- * */
+ */
public static void registerEcore(String ecorePath) throws IOException {
if (ecorePath == null) {
return;
@@ -108,10 +110,16 @@
if (isContainedInPackageRegistry(ePackage.getNsURI())) {
if (!ALL_NSURIS_REGISTERED_BY_TOOLING.contains(ePackage.getNsURI())) {
+ Activator.log(
+ IStatus.INFO,
+ String.format(
+ "Tooling Registered Packages don't contain package with URI %1$s.", ePackage.getNsURI())); //$NON-NLS-1$
continue;
}
final EPackage registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ePackage.getNsURI());
if (EcoreUtil.equals(ePackage, registeredPackage)) {
+ Activator.log(IStatus.INFO,
+ String.format("Another package with same URI is already registered: %1$s.", registeredPackage)); //$NON-NLS-1$
continue;
}
}
@@ -127,7 +135,23 @@
virtualResource.getContents().add(ePackage);
EPackage.Registry.INSTANCE.put(ePackage.getNsURI(), ePackage);
ALL_NSURIS_REGISTERED_BY_TOOLING.add(ePackage.getNsURI());
+ Activator.log(IStatus.INFO, String.format("Registered Package with URI %1$s.", ePackage.getNsURI())); //$NON-NLS-1$
WORKSPACEURI_TO_REGISTEREDPACKAGE.put(platformResourceURI, ePackage);
+ Activator.log(IStatus.INFO,
+ String.format("Mapped Package with URI %1$s to %2$s.", ePackage.getNsURI(), platformResourceURI)); //$NON-NLS-1$
+ registerSubpackages(ePackage);
+ }
+
+ /**
+ * @param ePackage - the EPackage whose subpackages need to be registered
+ */
+ private static void registerSubpackages(EPackage ePackage) {
+ for (final EPackage subpackage : ePackage.getESubpackages()) {
+ EPackage.Registry.INSTANCE.put(subpackage.getNsURI(), subpackage);
+ Activator.log(IStatus.INFO,
+ String.format("Register subpackage %1$s of package %2$s.", subpackage.getNsURI(), ePackage.getNsURI())); //$NON-NLS-1$
+ registerSubpackages(subpackage);
+ }
}
/**
@@ -161,6 +185,12 @@
ECOREPATH_TO_WORKSPACEURIS.put(ecorePath, new HashSet<String>());
}
ECOREPATH_TO_WORKSPACEURIS.get(ecorePath).add(physicalResource.getURI().toString());
+ Activator
+ .log(
+ IStatus.INFO,
+ String
+ .format(
+ "Resolved ecorePath %1$s to workspace path %2$s.", ecorePath, physicalResource.getURI().toString())); //$NON-NLS-1$
}
return uri;
}
@@ -176,7 +206,7 @@
*
* @param ecorePath - the path of the ecore to be removed.
*
- * */
+ */
public static void unregisterEcore(String ecorePath) {
if (ecorePath == null || ECOREPATH_TO_WORKSPACEURIS.get(ecorePath) == null) {
return;
@@ -223,6 +253,22 @@
}
EPackage.Registry.INSTANCE.remove(pkgToRemove.getNsURI());
ALL_NSURIS_REGISTERED_BY_TOOLING.remove(pkgToRemove.getNsURI());
+ Activator.log(IStatus.INFO,
+ String.format("Unregister package %1$s.", pkgToRemove.getNsURI())); //$NON-NLS-1$
+ unregisterSubpackages(pkgToRemove);
+ }
+ }
+
+ /**
+ * @param ePackage - the EPackage whose subpackages need to be unregistered
+ */
+ private static void unregisterSubpackages(EPackage ePackage) {
+ for (final EPackage subpackage : ePackage.getESubpackages()) {
+ EPackage.Registry.INSTANCE.remove(subpackage.getNsURI());
+ Activator.log(IStatus.INFO,
+ String
+ .format("Unregister subpackage %1$s of package %2$s.", subpackage.getNsURI(), ePackage.getNsURI())); //$NON-NLS-1$
+ unregisterSubpackages(subpackage);
}
}
@@ -249,6 +295,7 @@
private static void initResourceSet(ResourceSet resourceSet, boolean withLocalRegistry) {
if (withLocalRegistry) {
resourceSet.getPackageRegistry().putAll(WORKSPACEURI_TO_REGISTEREDPACKAGE);
+ Activator.log(IStatus.INFO, "Added map of platformuri to epackage to resourceset package registry."); //$NON-NLS-1$
}
if (!resourceSet.getURIConverter().exists(
URI.createURI(ECORE_RESOURCE_URI), null)) {
diff --git a/bundles/org.eclipse.emf.ecp.ide.view.service/.gitignore b/bundles/org.eclipse.emf.ecp.ide.view.service/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ide.view.service/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.ide.view.service/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.view.service/META-INF/MANIFEST.MF
index a52b453..0a1aee5 100644
--- a/bundles/org.eclipse.emf.ecp.ide.view.service/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.view.service/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: IDE ViewModel Service
Bundle-SymbolicName: org.eclipse.emf.ecp.ide.view.service
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
@@ -11,8 +11,8 @@
org.eclipse.emf.ecp.ide.util;bundle-version="[1.5.0,2.0.0)",
org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)"
Export-Package: org.eclipse.emf.ecp.ide.view.internal.service;version=
- "1.5.1";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls",org.
- eclipse.emf.ecp.ide.view.service;version="1.5.1"; x-friends:="org.ecl
+ "1.6.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls",org.
+ eclipse.emf.ecp.ide.view.service;version="1.6.0"; x-friends:="org.ecl
ipse.emf.ecp.ide.editor.view, org.eclipse.emf.ecp.ide.editor.view.co
ntrol, org.eclipse.emf.ecp.ui.view.editor.controls, org.eclipse.emf
.ecp.view.model.editor, org.eclipse.emf.ecp.view.model.project.insta
diff --git a/bundles/org.eclipse.emf.ecp.ide.view.service/pom.xml b/bundles/org.eclipse.emf.ecp.ide.view.service/pom.xml
index 2c76e55..2218cee 100644
--- a/bundles/org.eclipse.emf.ecp.ide.view.service/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.view.service/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ide.view.service</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.view.service/src/org/eclipse/emf/ecp/ide/view/internal/service/IDEViewModelRegistryImpl.java b/bundles/org.eclipse.emf.ecp.ide.view.service/src/org/eclipse/emf/ecp/ide/view/internal/service/IDEViewModelRegistryImpl.java
index cee41e4..32c1bf5 100644
--- a/bundles/org.eclipse.emf.ecp.ide.view.service/src/org/eclipse/emf/ecp/ide/view/internal/service/IDEViewModelRegistryImpl.java
+++ b/bundles/org.eclipse.emf.ecp.ide.view.service/src/org/eclipse/emf/ecp/ide/view/internal/service/IDEViewModelRegistryImpl.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -69,7 +69,7 @@
if (ecorePath == null) {
return;
}
- if (ecorePath.contains(delta.getResource().getFullPath().toString())) {
+ if (delta.getResource().getFullPath().toString().contains(ecorePath)) {
final ViewModelEditorCallback viewModelEditorCallback = viewModelViewModelEditorMapping
.get(view);
if (viewModelEditorCallback == null) {
diff --git a/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/META-INF/MANIFEST.MF
index 6af008d..80bf1f9 100644
--- a/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Quickfix UI
Bundle-SymbolicName: org.eclipse.emf.ecp.quickfix.ui.e4;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: org.eclipse.e4.ui.model.workbench;bundle-version="[1.1.0,2.0.0)",
org.eclipse.e4.ui.di;bundle-version="[1.0.0,2.0.0)",
org.eclipse.e4.ui.services;bundle-version="[1.0.0,2.0.0)",
@@ -13,6 +13,6 @@
org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.jface;bundle-version="[3.7.0,4.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.quickfix.ui.e4.internal;version="1.5.1";x-friends:="org.eclipse.emf.ecp.application.e4"
+Export-Package: org.eclipse.emf.ecp.quickfix.ui.e4.internal;version="1.6.0";x-friends:="org.eclipse.emf.ecp.application.e4"
Bundle-ActivationPolicy: lazy
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/pom.xml b/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/pom.xml
index 1636dc2..97e0ea3 100644
--- a/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.quickfix/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.quickfix/META-INF/MANIFEST.MF
index 7acb958..d2b28b0 100644
--- a/bundles/org.eclipse.emf.ecp.quickfix/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.quickfix/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Quickfix Service
Bundle-SymbolicName: org.eclipse.emf.ecp.quickfix;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)"
Service-Component: OSGI-INF/modelQuickFix.xml
-Export-Package: org.eclipse.emf.ecp.quickfix;version="1.5.1",
- org.eclipse.emf.ecp.quickfix.internal;version="1.5.1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.quickfix;version="1.6.0",
+ org.eclipse.emf.ecp.quickfix.internal;version="1.6.0";x-internal:=true
Bundle-ActivationPolicy: lazy
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.quickfix/pom.xml b/bundles/org.eclipse.emf.ecp.quickfix/pom.xml
index dad6638..a33dd46 100644
--- a/bundles/org.eclipse.emf.ecp.quickfix/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.quickfix/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.rap.util/.gitignore b/bundles/org.eclipse.emf.ecp.rap.util/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.rap.util/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.rap.util/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.rap.util/META-INF/MANIFEST.MF
index 4a16b1e..ad56146 100644
--- a/bundles/org.eclipse.emf.ecp.rap.util/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.rap.util/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: RAP Util
Bundle-SymbolicName: org.eclipse.emf.ecp.rap.util;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)"
@@ -11,4 +11,4 @@
org.eclipse.swt.events;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.rap.spi.util;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.rap.spi.util;version="1.6.0"
diff --git a/bundles/org.eclipse.emf.ecp.rap.util/pom.xml b/bundles/org.eclipse.emf.ecp.rap.util/pom.xml
index 5085a2e..f22b15a 100644
--- a/bundles/org.eclipse.emf.ecp.rap.util/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.rap.util/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.rap.util</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.rap/META-INF/MANIFEST.MF
index b885e1d..5f3982b 100644
--- a/bundles/org.eclipse.emf.ecp.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.rap/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP RAP
Bundle-SymbolicName: org.eclipse.emf.ecp.rap; singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.rap.Activator
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
@@ -10,5 +10,5 @@
org.eclipse.core.runtime;bundle-version="3.8.0",
org.eclipse.rap.ui;bundle-version="2.0.0"
Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.rap;version="1.5.1";x-internal:=tr
+Export-Package: org.eclipse.emf.ecp.rap;version="1.6.0";x-internal:=tr
ue
diff --git a/bundles/org.eclipse.emf.ecp.rap/pom.xml b/bundles/org.eclipse.emf.ecp.rap/pom.xml
index ab94446..235d6c6 100644
--- a/bundles/org.eclipse.emf.ecp.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.rap/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.rap</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle b/bundles/org.eclipse.emf.ecp.test.common/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle
copy to bundles/org.eclipse.emf.ecp.test.common/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.test.common/.classpath b/bundles/org.eclipse.emf.ecp.test.common/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.test.common/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.emf.ecp.test.common/.project b/bundles/org.eclipse.emf.ecp.test.common/.project
new file mode 100644
index 0000000..06240e2
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.test.common/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.ecp.test.common</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs
rename to bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
rename to bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emf.ecp.test.common/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.test.common/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..d8b9da4
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.test.common/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Common Test Helpers
+Bundle-SymbolicName: org.eclipse.emf.ecp.test.common
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.test.common;version="1.6.0"
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.test.common/build.properties b/bundles/org.eclipse.emf.ecp.test.common/build.properties
new file mode 100644
index 0000000..41eb6ad
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.test.common/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/bundles/org.eclipse.emf.ecp.test.common/pom.xml b/bundles/org.eclipse.emf.ecp.test.common/pom.xml
new file mode 100644
index 0000000..edbc04b
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.test.common/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emf.ecp.test.common</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/bundles/org.eclipse.emf.ecp.test.common/src/org/eclipse/emf/ecp/test/common/DefaultRealm.java b/bundles/org.eclipse.emf.ecp.test.common/src/org/eclipse/emf/ecp/test/common/DefaultRealm.java
new file mode 100644
index 0000000..7272a4e
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.test.common/src/org/eclipse/emf/ecp/test/common/DefaultRealm.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * http://wiki.eclipse.org/JFace_Data_Binding/Realm
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.test.common;
+
+import org.eclipse.core.databinding.observable.Realm;
+
+/**
+ * Simple realm implementation that will set itself as default when constructed. Invoke {@link #dispose()} to remove the
+ * realm from being the default. Does not support asyncExec(...).
+ *
+ * @see <a href="http://wiki.eclipse.org/JFace_Data_Binding/Realm">http://wiki.eclipse.org/JFace_Data_Binding/Realm</a>
+ * @author Lucas Koehler
+ */
+public class DefaultRealm extends Realm {
+ private final Realm previousRealm;
+
+ /**
+ * Create a new instance of {@link DefaultRealm}.
+ */
+ public DefaultRealm() {
+ previousRealm = super.setDefault(this);
+ }
+
+ /**
+ * @return always returns true
+ */
+ @Override
+ public boolean isCurrent() {
+ return true;
+ }
+
+ @Override
+ protected void syncExec(Runnable runnable) {
+ runnable.run();
+ }
+
+ /**
+ * @throws UnsupportedOperationException
+ */
+ @Override
+ public void asyncExec(Runnable runnable) {
+ throw new UnsupportedOperationException("asyncExec is unsupported"); //$NON-NLS-1$
+ }
+
+ /**
+ * Removes the realm from being the current and sets the previous realm to the default.
+ */
+ public void dispose() {
+ if (getDefault() == this) {
+ setDefault(previousRealm);
+ }
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.e3/.gitignore b/bundles/org.eclipse.emf.ecp.ui.e3/.gitignore
index ea8c4bf..d9d66d8 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e3/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.ui.e3/.gitignore
@@ -1 +1,2 @@
/target
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.ui.e3/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.e3/META-INF/MANIFEST.MF
index 1538aeb..4d0b95c 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e3/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.e3/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Eclipse 3.x Integration
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.e3;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.ui.platform.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.ui;bundle-version="[1.5.0,2.0.0)",
@@ -31,13 +31,13 @@
org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
org.eclipse.ui.plugin;version="0.0.0",
org.eclipse.ui.services;version="0.0.0"
-Export-Package: org.eclipse.emf.ecp.ui.actions;version="1.5.1";x-inter
- nal:=true,org.eclipse.emf.ecp.ui.commands;version="1.5.1";x-internal:
- =true,org.eclipse.emf.ecp.ui.e3;version="1.5.1";x-internal:=true,org.
- eclipse.emf.ecp.ui.linkedView;version="1.5.1";x-internal:=true,org.ec
- lipse.emf.ecp.ui.perspective;version="1.5.1";x-internal:=true,org.ecl
- ipse.emf.ecp.ui.platform;version="1.5.1";x-friends:="org.eclipse.emf.
- ecp.emfstore.ui",org.eclipse.emf.ecp.ui.tester;version="1.5.1";x-inte
- rnal:=true,org.eclipse.emf.ecp.ui.views;version="1.5.1";x-internal:=t
+Export-Package: org.eclipse.emf.ecp.ui.actions;version="1.6.0";x-inter
+ nal:=true,org.eclipse.emf.ecp.ui.commands;version="1.6.0";x-internal:
+ =true,org.eclipse.emf.ecp.ui.e3;version="1.6.0";x-internal:=true,org.
+ eclipse.emf.ecp.ui.linkedView;version="1.6.0";x-internal:=true,org.ec
+ lipse.emf.ecp.ui.perspective;version="1.6.0";x-internal:=true,org.ecl
+ ipse.emf.ecp.ui.platform;version="1.6.0";x-friends:="org.eclipse.emf.
+ ecp.emfstore.ui",org.eclipse.emf.ecp.ui.tester;version="1.6.0";x-inte
+ rnal:=true,org.eclipse.emf.ecp.ui.views;version="1.6.0";x-internal:=t
rue
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.ui.e3/pom.xml b/bundles/org.eclipse.emf.ecp.ui.e3/pom.xml
index ac2189a..ec70aca 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e3/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.e3/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ui.e3</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.e4/.gitignore b/bundles/org.eclipse.emf.ecp.ui.e4/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.e4/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.ui.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.e4/META-INF/MANIFEST.MF
index 8c3325a..6059c09 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.e4/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP E4 UI
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.e4;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.osgi;bundle-version="[3.7.0,4.0.0)",
org.eclipse.e4.core.contexts;bundle-version="[1.2.0,2.0.0)",
@@ -20,13 +20,14 @@
org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
org.eclipse.e4.core.services;bundle-version="[1.0.0,3.0.0)"
Import-Package: javax.annotation;version="1.1.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
org.osgi.service.event;version="1.3.0"
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.ui.e4.editor;version="1.5.1";x-fri
+Export-Package: org.eclipse.emf.ecp.ui.e4.editor;version="1.6.0";x-fri
ends:="org.eclipse.emf.ecp.application.e4",org.eclipse.emf.ecp.ui.e4.
- handlers;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.ui.e4.u
- til;version="1.5.1";x-friends:="org.eclipse.emf.ecp.application.e4",o
- rg.eclipse.emf.ecp.ui.e4.view;version="1.5.1";x-internal:=true,org.ec
- lipse.emf.ecp.ui.internal.e4;version="1.5.1";x-internal:=true
+ handlers;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.ui.e4.u
+ til;version="1.6.0";x-friends:="org.eclipse.emf.ecp.application.e4",o
+ rg.eclipse.emf.ecp.ui.e4.view;version="1.6.0";x-internal:=true,org.ec
+ lipse.emf.ecp.ui.internal.e4;version="1.6.0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
Bundle-Activator: org.eclipse.emf.ecp.ui.internal.e4.Activator
diff --git a/bundles/org.eclipse.emf.ecp.ui.e4/pom.xml b/bundles/org.eclipse.emf.ecp.ui.e4/pom.xml
index 49b9d2d..daed0c3 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.e4/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ui.e4</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.e4/src/org/eclipse/emf/ecp/ui/e4/editor/ECPE4Editor.java b/bundles/org.eclipse.emf.ecp.ui.e4/src/org/eclipse/emf/ecp/ui/e4/editor/ECPE4Editor.java
index 603fd25..b0ae031 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e4/src/org/eclipse/emf/ecp/ui/e4/editor/ECPE4Editor.java
+++ b/bundles/org.eclipse.emf.ecp.ui.e4/src/org/eclipse/emf/ecp/ui/e4/editor/ECPE4Editor.java
@@ -28,6 +28,7 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecp.core.ECPProject;
import org.eclipse.emf.ecp.spi.core.InternalProvider;
+import org.eclipse.emf.ecp.spi.ui.ECPDeleteServiceImpl;
import org.eclipse.emf.ecp.spi.ui.ECPReferenceServiceImpl;
import org.eclipse.emf.ecp.ui.internal.e4.Activator;
import org.eclipse.emf.ecp.ui.view.ECPRendererException;
@@ -96,7 +97,7 @@
// render = ECPSWTViewRenderer.INSTANCE.render(parent, modelElement);
final VView view = ViewProviderHelper.getView(modelElement, null);
final ViewModelContext vmc = ViewModelContextFactory.INSTANCE.createViewModelContext(view, modelElement,
- new ECPReferenceServiceImpl());
+ new ECPReferenceServiceImpl(), new ECPDeleteServiceImpl());
render = ECPSWTViewRenderer.INSTANCE.render(parent, vmc);
diff --git a/bundles/org.eclipse.emf.ecp.ui.e4/src/org/eclipse/emf/ecp/ui/internal/e4/Activator.java b/bundles/org.eclipse.emf.ecp.ui.e4/src/org/eclipse/emf/ecp/ui/internal/e4/Activator.java
index 2a6f99f..aac08bf 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e4/src/org/eclipse/emf/ecp/ui/internal/e4/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.ui.e4/src/org/eclipse/emf/ecp/ui/internal/e4/Activator.java
@@ -11,7 +11,7 @@
******************************************************************************/
package org.eclipse.emf.ecp.ui.internal.e4;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
+import org.eclipse.emfforms.spi.common.report.ReportService;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
diff --git a/bundles/org.eclipse.emf.ecp.ui.rap/.project b/bundles/org.eclipse.emf.ecp.ui.rap/.project
index e3b0b72..2ba8442 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rap/.project
+++ b/bundles/org.eclipse.emf.ecp.ui.rap/.project
@@ -6,6 +6,11 @@
</projects>
<buildSpec>
<buildCommand>
+ <name>com.wuetherich.osgi.ds.annotations.dsAnnotationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
@@ -36,5 +41,6 @@
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>
</natures>
</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.ui.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.rap/META-INF/MANIFEST.MF
index de5f87d..a17b9ed 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.rap/META-INF/MANIFEST.MF
@@ -2,10 +2,13 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP UI RWT
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.rap
-Bundle-Version: 1.5.1.qualifier
-Fragment-Host: org.eclipse.emf.ecp.ui;bundle-version="[1.5.0,2.0.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.rap.addons.filedialog;bundle-version="[0.5.0,1.0.0)"
-Export-Package: org.eclipse.emf.ecp.internal.ui.util;version="1.5.1";x
- -internal:=true
+Export-Package: org.eclipse.emf.ecp.internal.ui.util;version="1.6.0";x-internal:=true
+Require-Bundle: org.eclipse.rap.filedialog;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.rap.rwt;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.6.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Service-Component: OSGI-INF/org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl.xml
+Import-Package: org.osgi.service.component.annotations;version="[1.0.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ui.rap/OSGI-INF/org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl.xml b/bundles/org.eclipse.emf.ecp.ui.rap/OSGI-INF/org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl.xml
new file mode 100644
index 0000000..5eadd27
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.rap/OSGI-INF/org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emf/ecp/internal/ui/util/ECPFileDialogHelperImpl.java]-->
+<scr:component name="org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+ <implementation class="org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl"/>
+ <service>
+ <provide interface="org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelper"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.ui.rap/build.properties b/bundles/org.eclipse.emf.ecp.ui.rap/build.properties
index 9cbab3c..5689bc7 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rap/build.properties
+++ b/bundles/org.eclipse.emf.ecp.ui.rap/build.properties
@@ -1,6 +1,7 @@
-source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
- about.html
+ about.html,\
+ OSGI-INF/
src.includes = about.html
+source.. = src/
diff --git a/bundles/org.eclipse.emf.ecp.ui.rap/pom.xml b/bundles/org.eclipse.emf.ecp.ui.rap/pom.xml
index 276a331..1f8061b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.rap/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ui.rap</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.rap/src/org/eclipse/emf/ecp/internal/ui/util/ECPFileDialogHelperImpl.java b/bundles/org.eclipse.emf.ecp.ui.rap/src/org/eclipse/emf/ecp/internal/ui/util/ECPFileDialogHelperImpl.java
index f3b9873..5255ff4 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rap/src/org/eclipse/emf/ecp/internal/ui/util/ECPFileDialogHelperImpl.java
+++ b/bundles/org.eclipse.emf.ecp.ui.rap/src/org/eclipse/emf/ecp/internal/ui/util/ECPFileDialogHelperImpl.java
@@ -17,6 +17,7 @@
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Shell;
+import org.osgi.service.component.annotations.Component;
/**
* {@link ECPFileDialogHelper} using the RWT implementation of the {@link FileDialog}.
@@ -24,6 +25,7 @@
* @author jfaltermeier
*
*/
+@Component
public class ECPFileDialogHelperImpl implements ECPFileDialogHelper {
private static final String IMPORT_MODEL_PATH = "org.eclipse.emf.emfstore.client.ui.importModelPath"; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.ecp.ui.rcp/.gitignore b/bundles/org.eclipse.emf.ecp.ui.rcp/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.rcp/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.ui.rcp/.project b/bundles/org.eclipse.emf.ecp.ui.rcp/.project
index b618f1c..55d0631 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rcp/.project
+++ b/bundles/org.eclipse.emf.ecp.ui.rcp/.project
@@ -6,6 +6,11 @@
</projects>
<buildSpec>
<buildCommand>
+ <name>com.wuetherich.osgi.ds.annotations.dsAnnotationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
@@ -36,5 +41,6 @@
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>
</natures>
</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.ui.rcp/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.rcp/META-INF/MANIFEST.MF
index ebe8a6c..7ab82de 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rcp/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.rcp/META-INF/MANIFEST.MF
@@ -2,10 +2,12 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP UI SWT
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.rcp
-Bundle-Version: 1.5.1.qualifier
-Fragment-Host: org.eclipse.emf.ecp.ui;bundle-version="[1.5.0,2.0.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.swt;bundle-version="[3.7.0,4.0.0)"
-Export-Package: org.eclipse.emf.ecp.internal.ui.util;version="1.5.1";x
- -internal:=true
+Export-Package: org.eclipse.emf.ecp.internal.ui.util;version="1.6.0";x-internal:=true
+Require-Bundle: org.eclipse.swt;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.6.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Import-Package: org.osgi.service.component.annotations;version="[1.0.0,2.0.0)"
+Service-Component: OSGI-INF/org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl.xml
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ui.rcp/OSGI-INF/org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl.xml b/bundles/org.eclipse.emf.ecp.ui.rcp/OSGI-INF/org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl.xml
new file mode 100644
index 0000000..5eadd27
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.rcp/OSGI-INF/org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emf/ecp/internal/ui/util/ECPFileDialogHelperImpl.java]-->
+<scr:component name="org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+ <implementation class="org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl"/>
+ <service>
+ <provide interface="org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelper"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.ui.rcp/build.properties b/bundles/org.eclipse.emf.ecp.ui.rcp/build.properties
index 9cbab3c..5689bc7 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rcp/build.properties
+++ b/bundles/org.eclipse.emf.ecp.ui.rcp/build.properties
@@ -1,6 +1,7 @@
-source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
- about.html
+ about.html,\
+ OSGI-INF/
src.includes = about.html
+source.. = src/
diff --git a/bundles/org.eclipse.emf.ecp.ui.rcp/pom.xml b/bundles/org.eclipse.emf.ecp.ui.rcp/pom.xml
index 47120ec..2816f51 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rcp/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.rcp/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ui.rcp</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.rcp/src/org/eclipse/emf/ecp/internal/ui/util/ECPFileDialogHelperImpl.java b/bundles/org.eclipse.emf.ecp.ui.rcp/src/org/eclipse/emf/ecp/internal/ui/util/ECPFileDialogHelperImpl.java
index 09ef2d7..52c61e5 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rcp/src/org/eclipse/emf/ecp/internal/ui/util/ECPFileDialogHelperImpl.java
+++ b/bundles/org.eclipse.emf.ecp.ui.rcp/src/org/eclipse/emf/ecp/internal/ui/util/ECPFileDialogHelperImpl.java
@@ -18,6 +18,7 @@
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Shell;
+import org.osgi.service.component.annotations.Component;
/**
* {@link ECPFileDialogHelper} using the SWT implementation of the {@link FileDialog}.
@@ -25,6 +26,7 @@
* @author jfaltermeier
*
*/
+@Component
public class ECPFileDialogHelperImpl implements ECPFileDialogHelper {
private static final String IMPORT_MODEL_PATH = "org.eclipse.emf.emfstore.client.ui.importModelPath"; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.ecp.ui.transaction/.gitignore b/bundles/org.eclipse.emf.ecp.ui.transaction/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.transaction/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.ui.transaction/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.transaction/META-INF/MANIFEST.MF
index 8acc135..d933f95 100644
--- a/bundles/org.eclipse.emf.ecp.ui.transaction/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.transaction/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Transactional UI
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.transaction;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.transaction;bundle-version="1.4.0",
org.eclipse.emf.ecp.ui;bundle-version="[1.5.0,2.0.0)",
@@ -31,6 +31,6 @@
org.eclipse.ui.part;ui.workbench=split;version="0.0.0",
org.eclipse.ui.plugin;version="0.0.0",
org.eclipse.ui.views.properties;ui.views=split;version="0.0.0"
-Export-Package: org.eclipse.emf.ecp.ui.transaction;version="1.5.1";x-i
+Export-Package: org.eclipse.emf.ecp.ui.transaction;version="1.6.0";x-i
nternal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.ui.transaction/pom.xml b/bundles/org.eclipse.emf.ecp.ui.transaction/pom.xml
index 22b2837..878f6aa 100644
--- a/bundles/org.eclipse.emf.ecp.ui.transaction/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.transaction/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ui.transaction</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation.e4/.gitignore b/bundles/org.eclipse.emf.ecp.ui.validation.e4/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.validation.e4/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.validation.e4/META-INF/MANIFEST.MF
index 3520b30..ee5a863 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.validation.e4/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP UI Validation E4
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.validation.e4;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Import-Package: javax.annotation;version="1.1.0",
@@ -19,6 +19,6 @@
org.eclipse.e4.ui.model.workbench;bundle-version="[1.0.1,2.0.0)",
org.eclipse.core.expressions;bundle-version="[3.4.500,4.0.0)"
Export-Package: org.eclipse.emf.ecp.ui.validation.e4.handler;version="
- 1.5.1";x-internal:=true,org.eclipse.emf.ecp.ui.validation.e4.view;ver
- sion="1.5.1";x-internal:=true
+ 1.6.0";x-internal:=true,org.eclipse.emf.ecp.ui.validation.e4.view;ver
+ sion="1.6.0";x-internal:=true
Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation.e4/pom.xml b/bundles/org.eclipse.emf.ecp.ui.validation.e4/pom.xml
index ef829be..bc7bb9e 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.validation.e4/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ui.validation.e4</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation/.gitignore b/bundles/org.eclipse.emf.ecp.ui.validation/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.validation/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.validation/META-INF/MANIFEST.MF
index 5e82799..d20aa83 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.validation/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Validation View
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.validation;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
@@ -16,8 +16,8 @@
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.internal.ui.validation;version="1.
- 5.1";x-friends:="org.eclipse.emf.ecp.ui.validation.e4",org.eclipse.em
- f.ecp.ui.validation;version="1.5.1";x-friends:="org.eclipse.emf.ecp.u
+ 6.0";x-friends:="org.eclipse.emf.ecp.ui.validation.e4",org.eclipse.em
+ f.ecp.ui.validation;version="1.6.0";x-friends:="org.eclipse.emf.ecp.u
i.validation.e4"
Service-Component: OSGI-INF/component.xml
Bundle-Activator: org.eclipse.emf.ecp.internal.ui.validation.Activator
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation/pom.xml b/bundles/org.eclipse.emf.ecp.ui.validation/pom.xml
index b532968..d458db1 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.validation/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ui.validation</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/.gitignore b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF
index 8de5fae..ae1c8c4 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Controls
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.editor.controls;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.internal.editor.controls.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
@@ -22,10 +22,16 @@
org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)",
org.eclipse.emf.ecp.view.label.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.common.ui;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.6.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Import-Package: org.eclipse.jface.databinding.swt;version="0.0.0",
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
org.eclipse.jface.databinding.viewers;version="0.0.0",
org.eclipse.jface.resource;version="0.0.0",
org.eclipse.swt;version="0.0.0",
@@ -33,9 +39,9 @@
org.eclipse.swt.layout;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.internal.editor.controls;vers
- ion="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.internal.editor
- .handler;version="1.5.1";x-friends:="org.eclipse.emf.ecp.view.model.p
+ ion="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.internal.editor
+ .handler;version="1.6.0";x-friends:="org.eclipse.emf.ecp.view.model.p
roject.installer,org.eclipse.emf.ecp.view.model.editor,org.eclipse.em
f.ecp.view.treemasterdetail.ui.swt",org.eclipse.emf.ecp.view.spi.edit
- or.controls;version="1.5.1"
+ or.controls;version="1.6.0"
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..f147ede
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,2 @@
+LinkControl_NotSet=(Not Set)
+LinkControl_NoLinkSetClickToSetLink=No link set\\! Click to set link.
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/build.properties b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/build.properties
index 6597d9e..9662bfa 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/build.properties
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/build.properties
@@ -8,5 +8,6 @@
about.ini,\
about.mappings,\
about.properties,\
- modeling32.png
+ modeling32.png,\
+ OSGI-INF/
src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/plugin.xml b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/plugin.xml
index c0db802..2516422 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/plugin.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/plugin.xml
@@ -36,13 +36,6 @@
</dynamicTest>
</control>
<control
- class="org.eclipse.emf.ecp.view.internal.editor.controls.ControlRootEClassControl2SWTRenderer"
- id="org.eclipse.emf.ecp.view.editor.controls.rootEClass2">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.internal.editor.controls.RootEClassControlIDETester">
- </dynamicTest>
- </control>
- <control
class="org.eclipse.emf.ecp.view.internal.editor.controls.TableColumnDomainModelReferenceControl"
id="org.eclipse.emf.ecp.view.editor.controls.tableColumnDomainModelReference">
<dynamicTest
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/pom.xml b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/pom.xml
index 8709f46..c24cbab 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/Activator.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/Activator.java
index f970490..bdd07e7 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/Activator.java
@@ -12,18 +12,30 @@
*******************************************************************************/
package org.eclipse.emf.ecp.view.internal.editor.controls;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.Map;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecp.core.ECPProject;
import org.eclipse.emf.ecp.core.util.ECPUtil;
import org.eclipse.emf.ecp.core.util.observer.ECPProjectContentChangedObserver;
+import org.eclipse.emf.ecp.edit.internal.swt.ImageDescriptorToImage;
import org.eclipse.emf.ecp.view.model.provider.xmi.ViewModelFileExtensionsManager;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.workspace.internal.core.WorkspaceProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.ImageData;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
/**
* The activator class controls the plug-in life cycle.
@@ -38,12 +50,111 @@
// The shared instance
private static Activator plugin;
+ private ServiceReference<ReportService> reportServiceReference;
+
/**
* The constructor.
*/
public Activator() {
}
+ // TODO check if necessary
+ private final Map<String, ImageDescriptorToImage> imageRegistry = new LinkedHashMap<String, ImageDescriptorToImage>(
+ 20, .8F, true) {
+ private static final long serialVersionUID = 1L;
+
+ // This method is called just after a new entry has been added
+ @Override
+ public boolean removeEldestEntry(Map.Entry<String, ImageDescriptorToImage> eldest) {
+ return size() > 20;
+ }
+
+ @Override
+ public ImageDescriptorToImage remove(Object arg0) {
+ final ImageDescriptorToImage image = super.remove(arg0);
+ image.getImage().dispose();
+ return image;
+ }
+
+ };
+
+ private final Map<Action, ImageDescriptorToImage> imageRegistryByAction = new LinkedHashMap<Action, ImageDescriptorToImage>();
+
+ /**
+ * Loads an image based on the provided path form this bundle.
+ *
+ * @param path the bundle specific path to the image
+ * @return the {@link Image}
+ */
+ public static Image getImage(String path) {
+ if (!getDefault().imageRegistry.containsKey(path)) {
+ getDefault().imageRegistry.put(path,
+ new ImageDescriptorToImage(ImageDescriptor.createFromURL(getDefault().getBundle().getResource(path))));
+ }
+ return getDefault().imageRegistry.get(path).getImage();
+
+ }
+
+ /**
+ * Loads an image for the given Action.
+ *
+ * @param action the action
+ * @return the {@link Image}
+ */
+ public static Image getImage(Action action) {
+ final String path = action.toString();
+ if (!getDefault().imageRegistry.containsKey(path)) {
+ getDefault().imageRegistry.put(path,
+ new ImageDescriptorToImage(action.getImageDescriptor()));
+ }
+ return getDefault().imageRegistry.get(path).getImage();
+
+ }
+
+ /**
+ * Loads an image based on the provided {@link URL} form this bundle. The url may be null, then an empty image is
+ * returned.
+ *
+ * @param url the {@link URL} to load the {@link Image} from
+ * @return the {@link Image}
+ */
+ public static Image getImage(URL url) {
+ if (!getDefault().imageRegistry.containsKey(url == null ? "NULL" : url.toExternalForm())) { //$NON-NLS-1$
+
+ final ImageDescriptor createFromURL = ImageDescriptor.createFromURL(url);
+ // final ImageData imageData = createFromURL.getImageData();
+ getDefault().imageRegistry.put(url == null ? "NULL" : url.toExternalForm(), new ImageDescriptorToImage( //$NON-NLS-1$
+ createFromURL));
+ }
+ return getDefault().imageRegistry.get(url == null ? "NULL" : url.toExternalForm()).getImage(); //$NON-NLS-1$
+
+ }
+
+ /**
+ * Loads an {@link ImageDescriptor} based on the provided path form this bundle.
+ *
+ * @param path the bundle specific path to the {@link ImageDescriptor}
+ * @return the {@link ImageDescriptor}
+ */
+ public static ImageDescriptor getImageDescriptor(String path) {
+ if (!getDefault().imageRegistry.containsKey(path)) {
+ getDefault().imageRegistry.put(path,
+ new ImageDescriptorToImage(ImageDescriptor.createFromURL(getDefault().getBundle().getResource(path))));
+ }
+ return getDefault().imageRegistry.get(path).getImageDescriptor();
+
+ }
+
+ /**
+ * Loads an {@link ImageData} based on the provided {@link URL}.
+ *
+ * @param url the {@link URL} to the {@link ImageData}
+ * @return the {@link ImageData}
+ */
+ public static ImageData getImageData(URL url) {
+ return ImageDescriptor.createFromURL(url).getImageData();
+ }
+
/*
* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
@@ -83,6 +194,12 @@
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
+ for (final ImageDescriptorToImage descriptorToImage : imageRegistry.values()) {
+ descriptorToImage.getImage().dispose();
+ }
+ for (final ImageDescriptorToImage descriptorToImage : imageRegistryByAction.values()) {
+ descriptorToImage.getImage().dispose();
+ }
}
/**
@@ -93,4 +210,49 @@
public static Activator getDefault() {
return plugin;
}
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+
+ /**
+ * Returns the {@link EMFFormsLabelProvider} service.
+ *
+ * @return The {@link EMFFormsLabelProvider}
+ */
+ public EMFFormsLabelProvider getEMFFormsLabelProvider() {
+ final ServiceReference<EMFFormsLabelProvider> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsLabelProvider.class);
+
+ final EMFFormsLabelProvider service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl.java
index 225dcdc..e8ffa73 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl.java
@@ -71,7 +71,7 @@
final Button[] buttons = new Button[2];
final Setting setting = getFirstSetting();
buttons[0] = createButtonForAction(new DeleteReferenceAction(getEditingDomain(setting), setting,
- getItemPropertyDescriptor(setting), getService(ReferenceService.class)), composite);
+ getService(ReferenceService.class)), composite);
buttons[1] = createButtonForAction(new FilteredReferenceAction(getEditingDomain(setting), setting,
getItemPropertyDescriptor(setting), composite.getShell()), composite);
return buttons;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl2SWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl2SWTRenderer.java
index 9dbd950..4f3555d 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl2SWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl2SWTRenderer.java
@@ -19,13 +19,19 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.edit.internal.swt.Activator;
import org.eclipse.emf.ecp.edit.spi.util.ECPModelElementChangeListener;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
@@ -34,6 +40,9 @@
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* @author Alexandra Buzila
@@ -41,6 +50,36 @@
*/
public class ControlRootEClassControl2SWTRenderer extends SimpleControlSWTControlSWTRenderer {
+ private static final EMFFormsDatabinding emfFormsDatabinding;
+ private static final EMFFormsLabelProvider emfFormsLabelProvider;
+ private static final VTViewTemplateProvider vtViewTemplateProvider;
+
+ static {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(ControlRootEClassControl2SWTRenderer.class)
+ .getBundleContext();
+ final ServiceReference<EMFFormsDatabinding> emfFormsDatabindingServiceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ emfFormsDatabinding = bundleContext.getService(emfFormsDatabindingServiceReference);
+ final ServiceReference<EMFFormsLabelProvider> emfFormsLabelProviderServiceReference = bundleContext
+ .getServiceReference(EMFFormsLabelProvider.class);
+ emfFormsLabelProvider = bundleContext.getService(emfFormsLabelProviderServiceReference);
+ final ServiceReference<VTViewTemplateProvider> vtViewTemplateProviderServiceReference = bundleContext
+ .getServiceReference(VTViewTemplateProvider.class);
+ vtViewTemplateProvider = bundleContext.getService(vtViewTemplateProviderServiceReference);
+ }
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ */
+ public ControlRootEClassControl2SWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ }
+
private Composite labelComposite;
private Label label;
private ComposedAdapterFactory composedAdapterFactory;
@@ -55,16 +94,21 @@
* org.eclipse.emf.ecore.EStructuralFeature.Setting)
*/
@Override
- protected Binding[] createBindings(Control control, final Setting setting) {
+ protected Binding[] createBindings(Control control) throws DatabindingFailedException {
final Binding[] bindings = new Binding[3];
final IObservableValue value = SWTObservables.observeText(label);
- bindings[0] = getDataBindingContext().bindValue(value, getModelValue(setting), new UpdateValueStrategy() {
+ bindings[0] = getDataBindingContext().bindValue(value, getModelValue(), new UpdateValueStrategy() {
@Override
public Object convert(Object value) {
- return getModelValue(setting).getValue();
+ try {
+ return getModelValue().getValue();
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new DatabindingFailedReport(ex));
+ return null;
+ }
}
}, new UpdateValueStrategy() {
@Override
@@ -74,12 +118,17 @@
}
});
final IObservableValue tooltipValue = SWTObservables.observeTooltipText(label);
- bindings[1] = getDataBindingContext().bindValue(tooltipValue, getModelValue(setting),
+ bindings[1] = getDataBindingContext().bindValue(tooltipValue, getModelValue(),
new UpdateValueStrategy() {
@Override
public Object convert(Object value) {
- return getModelValue(setting).getValue();
+ try {
+ return getModelValue().getValue();
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return null;
+ }
}
}, new UpdateValueStrategy() {
@Override
@@ -89,11 +138,16 @@
});
final IObservableValue imageValue = SWTObservables.observeImage(imageLabel);
- bindings[2] = getDataBindingContext().bindValue(imageValue, getModelValue(setting), new UpdateValueStrategy() {
+ bindings[2] = getDataBindingContext().bindValue(imageValue, getModelValue(), new UpdateValueStrategy() {
@Override
public Object convert(Object value) {
- return getModelValue(setting).getValue();
+ try {
+ return getModelValue().getValue();
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return null;
+ }
}
}, new UpdateValueStrategy() {
@Override
@@ -146,11 +200,10 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite,
- * org.eclipse.emf.ecore.EStructuralFeature.Setting)
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite)
*/
@Override
- protected Control createSWTControl(Composite parent2, Setting setting) {
+ protected Control createSWTControl(Composite parent2) {
final Composite composite2 = new Composite(parent2, SWT.NONE);
composite2.setBackground(parent2.getBackground());
GridLayoutFactory.fillDefaults().numColumns(1).spacing(0, 0).equalWidth(false).applyTo(composite2);
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl2SWTRendererTester.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl2SWTRendererTester.java
index 4e77c18..aa6a7f2 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl2SWTRendererTester.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControl2SWTRendererTester.java
@@ -11,13 +11,15 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.editor.controls;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* @author Alexandra Buzila
@@ -27,35 +29,33 @@
/**
* {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.internal.core.swt.renderer.SimpleControlRendererTester#getSupportedClassType()
*/
@Override
public int isApplicable(VElement vElement, ViewModelContext context) {
if (!VControl.class.isInstance(vElement)) {
return NOT_APPLICABLE;
}
- if (!VControl.class.cast(vElement).getDomainModelReference().getIterator().hasNext()) {
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), context.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
- final Setting setting = VControl.class.cast(vElement).getDomainModelReference().getIterator().next();
- return isApplicable(setting);
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
+ return isApplicable(feature);
}
/**
- * Test if setting contains the correct data.
+ * Test if the structural feature and the corresponding EObject contain the correct data.
*
- * @param setting the {@link Setting} to check
+ * @param feature The {@link EStructuralFeature} to check
* @return the priority of the control
*/
- protected int isApplicable(Setting setting) {
- if (!VView.class.isInstance(setting.getEObject())) {
- return NOT_APPLICABLE;
- }
- if (VViewPackage.eINSTANCE.getView_RootEClass() != setting.getEStructuralFeature()) {
- return NOT_APPLICABLE;
- }
- if (setting.get(true) == null) {
+ protected int isApplicable(EStructuralFeature feature) {
+ if (VViewPackage.eINSTANCE.getView_RootEClass() != feature) {
return NOT_APPLICABLE;
}
return 3;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControlChangeableSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControlChangeableSWTRenderer.java
index 8f76c5d..d863ec2 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControlChangeableSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlRootEClassControlChangeableSWTRenderer.java
@@ -15,6 +15,7 @@
import java.util.Map;
import java.util.Set;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.common.notify.AdapterFactory;
@@ -26,18 +27,21 @@
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EPackage.Descriptor;
import org.eclipse.emf.ecore.EPackage.Registry;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
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 org.eclipse.emf.ecp.edit.internal.swt.Activator;
import org.eclipse.emf.ecp.ide.view.internal.service.IDEViewModelRegistryImpl;
import org.eclipse.emf.ecp.ide.view.service.IDEViewModelRegistry;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
@@ -61,21 +65,30 @@
public class ControlRootEClassControlChangeableSWTRenderer extends ControlRootEClassControl2SWTRenderer {
/**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public ControlRootEClassControlChangeableSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.internal.editor.controls.ControlRootEClassControl2SWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite,
- * org.eclipse.emf.ecore.EStructuralFeature.Setting)
+ * @see org.eclipse.emf.ecp.view.internal.editor.controls.ControlRootEClassControl2SWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite)
*/
@Override
- protected Control createSWTControl(final Composite parent2, Setting setting) {
- // TODO Auto-generated method stub
- final Composite composite = (Composite) super.createSWTControl(parent2, setting);
+ protected Control createSWTControl(final Composite parent2) {
+ final Composite composite = (Composite) super.createSWTControl(parent2);
GridLayoutFactory.fillDefaults().numColumns(2).spacing(0, 0).equalWidth(false).applyTo(composite);
final Button selectClass = new Button(composite, SWT.PUSH);
- selectClass.setText("Link Root EClass");
- selectClass.setToolTipText("Link Root EClass");
+ selectClass.setText("Link Root EClass"); //$NON-NLS-1$
+ selectClass.setToolTipText("Link Root EClass"); //$NON-NLS-1$
selectClass.addSelectionListener(new SelectionAdapter() {
/**
@@ -125,7 +138,20 @@
final Object selection = dialog.getFirstResult();
if (EClass.class.isInstance(selection)) {
final EClass selectedFeature = (EClass) selection;
- final VView view = (VView) getVElement().getDomainModelReference().getIterator().next().getEObject();
+ final VView view;
+ final IObservableValue observableValue;
+ try {
+ observableValue = Activator
+ .getDefault()
+ .getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(),
+ getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ view = (VView) observableValue.getValue();
+ observableValue.dispose();
if (view.getRootEClass() != null) {
getViewModelRegistry().unregister(
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlTargetFeatureControl.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlTargetFeatureControl.java
index 9723065..b07fe14 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlTargetFeatureControl.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ControlTargetFeatureControl.java
@@ -80,7 +80,7 @@
final Button[] buttons = new Button[2];
final Setting setting = getFirstSetting();
buttons[0] = createButtonForAction(new DeleteReferenceAction(getEditingDomain(setting), setting,
- getItemPropertyDescriptor(setting), getService(ReferenceService.class)) {
+ getService(ReferenceService.class)) {
@Override
public void run() {
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java
index 0802e7b..42bb3bb 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java
@@ -17,6 +17,7 @@
import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.UpdateValueStrategy;
+import org.eclipse.core.databinding.observable.IObserving;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.notify.AdapterFactory;
@@ -26,12 +27,9 @@
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecore.impl.EReferenceImpl;
import org.eclipse.emf.ecp.core.util.ECPUtil;
-import org.eclipse.emf.ecp.edit.internal.swt.Activator;
import org.eclipse.emf.ecp.edit.internal.swt.SWTImageHelper;
-import org.eclipse.emf.ecp.edit.internal.swt.controls.ControlMessages;
import org.eclipse.emf.ecp.edit.spi.swt.reference.DeleteReferenceAction;
import org.eclipse.emf.ecp.edit.spi.swt.reference.NewReferenceAction;
import org.eclipse.emf.ecp.edit.spi.util.ECPModelElementChangeListener;
@@ -47,10 +45,18 @@
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.layout.GridDataFactory;
@@ -67,6 +73,9 @@
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* Renderer for DomainModelReferences.
@@ -78,10 +87,46 @@
@SuppressWarnings("restriction")
public class DomainModelReferenceControlSWTRenderer extends SimpleControlSWTControlSWTRenderer {
+ private static final EMFFormsDatabinding emfFormsDatabinding;
+ private static final EMFFormsLabelProvider emfFormsLabelProvider;
+ private static final VTViewTemplateProvider vtViewTemplateProvider;
+ private static EMFFormsEditSupport emfFormsEditSupport;
+
+ static {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(EReferenceLabelControlSWTRenderer.class)
+ .getBundleContext();
+ final ServiceReference<EMFFormsDatabinding> emfFormsDatabindingServiceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ emfFormsDatabinding = bundleContext.getService(emfFormsDatabindingServiceReference);
+ final ServiceReference<EMFFormsEditSupport> emfFormsEditSupportServiceReference = bundleContext
+ .getServiceReference(EMFFormsEditSupport.class);
+ emfFormsEditSupport = bundleContext.getService(emfFormsEditSupportServiceReference);
+ final ServiceReference<EMFFormsLabelProvider> emfFormsLabelProviderServiceReference = bundleContext
+ .getServiceReference(EMFFormsLabelProvider.class);
+ emfFormsLabelProvider = bundleContext.getService(emfFormsLabelProviderServiceReference);
+ final ServiceReference<VTViewTemplateProvider> vtViewTemplateProviderServiceReference = bundleContext
+ .getServiceReference(VTViewTemplateProvider.class);
+ vtViewTemplateProvider = bundleContext.getService(vtViewTemplateProviderServiceReference);
+ }
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ */
+ public DomainModelReferenceControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ }
+
private Composite mainComposite;
private StackLayout stackLayout;
private Label unsetLabel;
- private Setting setting;
+ private EObject eObject;
+ private EStructuralFeature structuralFeature;
+ // private Setting setting;
private ECPModelElementChangeListener modelElementChangeListener;
private ComposedAdapterFactory composedAdapterFactory;
private AdapterFactoryItemDelegator adapterFactoryItemDelegator;
@@ -97,16 +142,21 @@
* org.eclipse.emf.ecore.EStructuralFeature.Setting)
*/
@Override
- protected Binding[] createBindings(Control control, final Setting setting) {
+ protected Binding[] createBindings(Control control) throws DatabindingFailedException {
final Binding[] bindings = new Binding[2];
final IObservableValue value = SWTObservables.observeText(setLabel);
- bindings[0] = getDataBindingContext().bindValue(value, getModelValue(setting), new UpdateValueStrategy() {
+ bindings[0] = getDataBindingContext().bindValue(value, getModelValue(), new UpdateValueStrategy() {
@Override
public Object convert(Object value) { // target to model
- return getModelValue(setting).getValue();
+ try {
+ return getModelValue().getValue();
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return null;
+ }
}
}, new UpdateValueStrategy() {// model to target
@Override
@@ -117,7 +167,7 @@
});
final IObservableValue imageValue = SWTObservables.observeImage(imageLabel);
- bindings[1] = getDataBindingContext().bindValue(imageValue, getModelValue(setting),
+ bindings[1] = getDataBindingContext().bindValue(imageValue, getModelValue(),
new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)
, new UpdateValueStrategy() {
@Override
@@ -214,13 +264,15 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite,
- * org.eclipse.emf.ecore.EStructuralFeature.Setting)
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite)
*/
@Override
- protected Control createSWTControl(Composite parent, Setting setting) {
-
- this.setting = setting;
+ protected Control createSWTControl(Composite parent) throws DatabindingFailedException {
+ final IObservableValue observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ eObject = (EObject) ((IObserving) observableValue).getObserved();
+ structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
final Composite containerComposite = new Composite(parent, SWT.NONE);
containerComposite.setBackground(parent.getBackground());
@@ -242,7 +294,7 @@
unsetLabel = new Label(mainComposite, SWT.NONE);
GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(unsetLabel);
- unsetLabel.setText(ControlMessages.LinkControl_NotSet);
+ unsetLabel.setText(LocalizationServiceHelper.getString(getClass(), "LinkControl_NotSet")); //$NON-NLS-1$
unsetLabel.setBackground(mainComposite.getBackground());
unsetLabel.setForeground(parentComposite.getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY));
unsetLabel.setAlignment(SWT.CENTER);
@@ -258,7 +310,7 @@
setLabel.setBackground(contentSetComposite.getBackground());
GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.FILL).applyTo(setLabel);
- if (setting.isSet()) {
+ if (eObject.eIsSet(structuralFeature)) {
stackLayout.topControl = contentSetComposite;
} else {
stackLayout.topControl = unsetLabel;
@@ -276,17 +328,18 @@
/**
* @param parentComposite
+ * @throws DatabindingFailedException
*/
- private void createButtons(Composite composite) {
- final Button unsetBtn = createButtonForAction(new DeleteReferenceAction(getEditingDomain(setting), setting,
- getItemPropertyDescriptor(setting), null), composite);
+ private void createButtons(Composite composite) throws DatabindingFailedException {
+ final Button unsetBtn = createButtonForAction(new DeleteReferenceAction(getEditingDomain(eObject), eObject,
+ structuralFeature, null), composite);
unsetBtn.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
- final Command setCommand = SetCommand.create(getEditingDomain(setting), setting.getEObject(),
- setting.getEStructuralFeature(), SetCommand.UNSET_VALUE);
- getEditingDomain(setting).getCommandStack().execute(setCommand);
+ final Command setCommand = SetCommand.create(getEditingDomain(eObject), eObject, structuralFeature,
+ SetCommand.UNSET_VALUE);
+ getEditingDomain(eObject).getCommandStack().execute(setCommand);
}
@Override
@@ -295,11 +348,11 @@
}
});
- final Button setBtn = createButtonForAction(new NewReferenceAction(getEditingDomain(setting), setting,
- getItemPropertyDescriptor(setting), null), composite); // getViewModelContext().getService(ReferenceService.class)
- setBtn.addSelectionListener(new SelectionAdapterExtension(setLabel, getModelValue(setting),
- getViewModelContext(),
- getDataBindingContext(), setting.getEStructuralFeature()));
+ final Button setBtn = createButtonForAction(new NewReferenceAction(getEditingDomain(eObject), eObject,
+ structuralFeature, emfFormsEditSupport, emfFormsLabelProvider, null, getReportService(), getVElement()
+ .getDomainModelReference(), getViewModelContext().getDomainModel()), composite); // getViewModelContext().getService(ReferenceService.class)
+ setBtn.addSelectionListener(new SelectionAdapterExtension(setLabel, getModelValue(), getViewModelContext(),
+ getDataBindingContext(), structuralFeature));
}
@@ -325,7 +378,7 @@
*/
@Override
protected String getUnsetText() {
- return ControlMessages.LinkControl_NoLinkSetClickToSetLink;
+ return LocalizationServiceHelper.getString(getClass(), "LinkControl_NoLinkSetClickToSetLink"); //$NON-NLS-1$
}
/** SelectionAdapter for the set button. */
@@ -339,7 +392,6 @@
this.eStructuralFeature = eStructuralFeature;
}
- @SuppressWarnings("restriction")
@Override
public void widgetSelected(SelectionEvent e) {
final Collection<EClass> classes = ECPUtil.getSubClasses(((EReferenceImpl) eStructuralFeature)
@@ -348,14 +400,14 @@
final EClass eclass = Helper.getRootEClass(getViewModelContext().getDomainModel());
VDomainModelReference reference = null;
- if (VControl.class.isInstance(setting.getEObject())) {
- reference = VControl.class.cast(setting.getEObject()).getDomainModelReference();
- } else if (VLabel.class.isInstance(setting.getEObject())) {
- reference = VLabel.class.cast(setting.getEObject()).getDomainModelReference();
+ if (VControl.class.isInstance(eObject)) {
+ reference = VControl.class.cast(eObject).getDomainModelReference();
+ } else if (VLabel.class.isInstance(eObject)) {
+ reference = VLabel.class.cast(eObject).getDomainModelReference();
}
final CreateDomainModelReferenceWizard wizard = new CreateDomainModelReferenceWizard(
- setting, getEditingDomain(setting), eclass,
+ eObject, structuralFeature, getEditingDomain(eObject), eclass,
reference == null ? "New Reference Element" : "Configure " + reference.eClass().getName(), //$NON-NLS-1$ //$NON-NLS-2$
Messages.NewModelElementWizard_WizardTitle_AddModelElement,
Messages.NewModelElementWizard_PageTitle_AddModelElement,
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRendererTester.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRendererTester.java
index 7451ffe..003bdee 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRendererTester.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRendererTester.java
@@ -11,7 +11,8 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.editor.controls;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage;
@@ -20,6 +21,8 @@
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage;
import org.eclipse.emf.ecp.view.spi.table.model.VTablePackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* @author Alexandra Buzila
@@ -39,31 +42,35 @@
if (!VControl.class.isInstance(vElement)) {
return NOT_APPLICABLE;
}
- final Setting setting = VControl.class.cast(vElement).getDomainModelReference().getIterator().next();
- return isApplicable(setting);
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ return isApplicable((EStructuralFeature) valueProperty.getValueType());
}
/**
- * Test if setting contains the correct data.
+ * Test if the structural feature contains the correct data.
*
- * @param setting the {@link Setting} to check
+ * @param feature the {@link EStructuralFeature} to check
* @return the priority of the control
*/
- protected int isApplicable(Setting setting) {
- if (setting == null) {
- return NOT_APPLICABLE;
- }
- if (VViewPackage.eINSTANCE.getControl_DomainModelReference() == setting.getEStructuralFeature()) {
+ protected int isApplicable(EStructuralFeature feature) {
+ if (VViewPackage.eINSTANCE.getControl_DomainModelReference() == feature) {
return 3;
}
- if (VLabelPackage.eINSTANCE.getLabel_DomainModelReference() == setting.getEStructuralFeature()) {
+ if (VLabelPackage.eINSTANCE.getLabel_DomainModelReference() == feature) {
return 3;
}
- if (VStackPackage.eINSTANCE.getStackLayout_DomainModelReference() == setting.getEStructuralFeature()) {
+ if (VStackPackage.eINSTANCE.getStackLayout_DomainModelReference() == feature) {
return 3;
}
- if (VTablePackage.eINSTANCE.getTableDomainModelReference_DomainModelReference() == setting
- .getEStructuralFeature()) {
+ if (VTablePackage.eINSTANCE.getTableDomainModelReference_DomainModelReference() == feature) {
return 3;
}
return NOT_APPLICABLE;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EReferenceLabelControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EReferenceLabelControlSWTRenderer.java
index ef13c9c..d74bafa 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EReferenceLabelControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EReferenceLabelControlSWTRenderer.java
@@ -19,13 +19,19 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.edit.internal.swt.Activator;
import org.eclipse.emf.ecp.edit.spi.util.ECPModelElementChangeListener;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
@@ -34,6 +40,9 @@
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* @author Alexandra Buzila
@@ -41,6 +50,36 @@
*/
public class EReferenceLabelControlSWTRenderer extends SimpleControlSWTControlSWTRenderer {
+ private static final EMFFormsDatabinding emfFormsDatabinding;
+ private static final EMFFormsLabelProvider emfFormsLabelProvider;
+ private static final VTViewTemplateProvider vtViewTemplateProvider;
+
+ static {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(EReferenceLabelControlSWTRenderer.class)
+ .getBundleContext();
+ final ServiceReference<EMFFormsDatabinding> emfFormsDatabindingServiceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ emfFormsDatabinding = bundleContext.getService(emfFormsDatabindingServiceReference);
+ final ServiceReference<EMFFormsLabelProvider> emfFormsLabelProviderServiceReference = bundleContext
+ .getServiceReference(EMFFormsLabelProvider.class);
+ emfFormsLabelProvider = bundleContext.getService(emfFormsLabelProviderServiceReference);
+ final ServiceReference<VTViewTemplateProvider> vtViewTemplateProviderServiceReference = bundleContext
+ .getServiceReference(VTViewTemplateProvider.class);
+ vtViewTemplateProvider = bundleContext.getService(vtViewTemplateProviderServiceReference);
+ }
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ */
+ public EReferenceLabelControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ }
+
private Composite labelComposite;
private Label label;
private ComposedAdapterFactory composedAdapterFactory;
@@ -55,16 +94,21 @@
* org.eclipse.emf.ecore.EStructuralFeature.Setting)
*/
@Override
- protected Binding[] createBindings(Control control, final Setting setting) {
+ protected Binding[] createBindings(Control control) throws DatabindingFailedException {
final Binding[] bindings = new Binding[3];
final IObservableValue value = SWTObservables.observeText(label);
- bindings[0] = getDataBindingContext().bindValue(value, getModelValue(setting), new UpdateValueStrategy() {
+ bindings[0] = getDataBindingContext().bindValue(value, getModelValue(), new UpdateValueStrategy() {
@Override
public Object convert(Object value) {
- return getModelValue(setting).getValue();
+ try {
+ return getModelValue().getValue();
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return null;
+ }
}
}, new UpdateValueStrategy() {
@Override
@@ -74,12 +118,17 @@
}
});
final IObservableValue tooltipValue = SWTObservables.observeTooltipText(label);
- bindings[1] = getDataBindingContext().bindValue(tooltipValue, getModelValue(setting),
+ bindings[1] = getDataBindingContext().bindValue(tooltipValue, getModelValue(),
new UpdateValueStrategy() {
@Override
public Object convert(Object value) {
- return getModelValue(setting).getValue();
+ try {
+ return getModelValue().getValue();
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return null;
+ }
}
}, new UpdateValueStrategy() {
@Override
@@ -89,11 +138,16 @@
});
final IObservableValue imageValue = SWTObservables.observeImage(imageLabel);
- bindings[2] = getDataBindingContext().bindValue(imageValue, getModelValue(setting), new UpdateValueStrategy() {
+ bindings[2] = getDataBindingContext().bindValue(imageValue, getModelValue(), new UpdateValueStrategy() {
@Override
public Object convert(Object value) {
- return getModelValue(setting).getValue();
+ try {
+ return getModelValue().getValue();
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return null;
+ }
}
}, new UpdateValueStrategy() {
@Override
@@ -152,7 +206,7 @@
* org.eclipse.emf.ecore.EStructuralFeature.Setting)
*/
@Override
- protected Control createSWTControl(Composite parent2, Setting setting) {
+ protected Control createSWTControl(Composite parent2) throws DatabindingFailedException {
final Composite composite2 = new Composite(parent2, SWT.NONE);
composite2.setBackground(parent2.getBackground());
GridLayoutFactory.fillDefaults().numColumns(1).spacing(0, 0).equalWidth(false).applyTo(composite2);
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EditableEReferenceLabelControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EditableEReferenceLabelControlSWTRenderer.java
index cf63864..868335b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EditableEReferenceLabelControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/EditableEReferenceLabelControlSWTRenderer.java
@@ -11,9 +11,25 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.editor.controls;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.core.databinding.UpdateValueStrategy;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.databinding.EMFDataBindingContext;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.edit.spi.swt.util.ECPDialogExecutor;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.jface.databinding.swt.SWTObservables;
+import org.eclipse.jface.dialogs.IDialogLabelKeys;
+import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.layout.GridLayoutFactory;
+import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -28,31 +44,73 @@
*/
public abstract class EditableEReferenceLabelControlSWTRenderer extends EReferenceLabelControlSWTRenderer {
+ private final EMFDataBindingContext viewModelDBC;
+
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public EditableEReferenceLabelControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ viewModelDBC = new EMFDataBindingContext();
+ }
+
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.internal.editor.controls.ControlRootEClassControl2SWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite,
- * org.eclipse.emf.ecore.EStructuralFeature.Setting)
+ * @see org.eclipse.emf.ecp.view.internal.editor.controls.ControlRootEClassControl2SWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite)
*/
@Override
- protected Control createSWTControl(final Composite parent2, final Setting setting) {
- // TODO Auto-generated method stub
- final Composite composite = (Composite) super.createSWTControl(parent2, setting);
+ protected Control createSWTControl(final Composite parent2) throws DatabindingFailedException {
+ final Composite composite = (Composite) super.createSWTControl(parent2);
GridLayoutFactory.fillDefaults().numColumns(3).spacing(0, 0).equalWidth(false).applyTo(composite);
- final IItemPropertyDescriptor itemPropertyDescriptor = getItemPropertyDescriptor(setting);
-
- String labelText = ""; //$NON-NLS-1$
- String tooltip = ""; //$NON-NLS-1$
- if (itemPropertyDescriptor != null) {
- labelText = itemPropertyDescriptor.getDisplayName(setting.getEObject());
- tooltip = itemPropertyDescriptor.getDescription(setting.getEObject());
- }
-
+ final EMFFormsLabelProvider labelProvider = Activator.getDefault().getEMFFormsLabelProvider();
final Button selectClass = new Button(composite, SWT.PUSH);
- selectClass.setText("Link " + labelText); //$NON-NLS-1$
- selectClass.setToolTipText("Link " + tooltip); //$NON-NLS-1$
+ try {
+ final IObservableValue labelText = labelProvider.getDisplayName(getVElement().getDomainModelReference(),
+ getViewModelContext().getDomainModel());
+ final IObservableValue tooltip = labelProvider.getDescription(getVElement().getDomainModelReference(),
+ getViewModelContext().getDomainModel());
+
+ viewModelDBC.bindValue(SWTObservables.observeText(selectClass), labelText, null, new UpdateValueStrategy() {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object)
+ */
+ @Override
+ public Object convert(Object value) {
+ final String result = (String) super.convert(value);
+ return "Link " + result; //$NON-NLS-1$
+ }
+
+ });
+ viewModelDBC.bindValue(SWTObservables.observeTooltipText(selectClass), tooltip, null,
+ new UpdateValueStrategy() {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object)
+ */
+ @Override
+ public Object convert(Object value) {
+ final String result = (String) super.convert(value);
+ return "Link " + result; //$NON-NLS-1$
+ }
+
+ });
+ } catch (final NoLabelFoundException e) {
+ // FIXME Expectation?
+ getReportService().getReports().add(new RenderingFailedReport(e));
+ selectClass.setText("Link "); //$NON-NLS-1$
+ selectClass.setToolTipText("Link "); //$NON-NLS-1$
+ }
selectClass.addSelectionListener(new SelectionAdapter() {
/**
@@ -72,6 +130,12 @@
final Button unset = new Button(composite, SWT.PUSH);
unset.setText("Unset"); //$NON-NLS-1$
unset.setToolTipText("Unset"); //$NON-NLS-1$
+ final IObservableValue observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+
unset.addSelectionListener(new SelectionAdapter() {
/**
@@ -82,7 +146,7 @@
@Override
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
- setting.unset();
+ eObject.eUnset(structuralFeature);
composite.layout(true, true);
}
@@ -97,4 +161,35 @@
* @param shell the Shell
*/
protected abstract void linkValue(Shell shell);
+
+ /**
+ * Shows an error message dialog indicating a failed value link due to an exception.
+ *
+ * @param shell The parent {@link Shell} of the message dialog
+ * @param ex The {@link Exception} causing the failure
+ */
+ protected void showLinkValueFailedMessageDialog(Shell shell, final Exception ex) {
+ final MessageDialog dialog = new MessageDialog(
+ shell, "Link Value Failed", null, //$NON-NLS-1$
+ "The value could not be linked due to an exception: " + ex.getMessage(), MessageDialog.ERROR, new String[] { //$NON-NLS-1$
+ JFaceResources.getString(IDialogLabelKeys.OK_LABEL_KEY) }, 0);
+
+ new ECPDialogExecutor(dialog) {
+ @Override
+ public void handleResult(int codeResult) {
+ // no op
+ }
+ }.execute();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.internal.editor.controls.EReferenceLabelControlSWTRenderer#dispose()
+ */
+ @Override
+ public void dispose() {
+ viewModelDBC.dispose();
+ super.dispose();
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ExpectedValueControlRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ExpectedValueControlRenderer.java
index 98aaa26..7c21475da 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ExpectedValueControlRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ExpectedValueControlRenderer.java
@@ -14,23 +14,32 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
-import java.util.Iterator;
import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.UpdateValueStrategy;
+import org.eclipse.core.databinding.observable.IObserving;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.Enumerator;
import org.eclipse.emf.databinding.EMFUpdateValueStrategy;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EEnumLiteral;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.EEnumImpl;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.provider.ECPTooltipModifierHelper;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.dialogs.InputDialog;
import org.eclipse.jface.dialogs.MessageDialog;
@@ -47,8 +56,10 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.dialogs.ListDialog;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* A control for defining an value in a leaf condition.
@@ -59,6 +70,36 @@
// APITODO no api yet
public abstract class ExpectedValueControlRenderer extends SimpleControlSWTControlSWTRenderer {
+ private static final EMFFormsDatabinding emfFormsDatabinding;
+ private static final EMFFormsLabelProvider emfFormsLabelProvider;
+ private static final VTViewTemplateProvider vtViewTemplateProvider;
+
+ static {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(ExpectedValueControlRenderer.class)
+ .getBundleContext();
+ final ServiceReference<EMFFormsDatabinding> emfFormsDatabindingServiceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ emfFormsDatabinding = bundleContext.getService(emfFormsDatabindingServiceReference);
+ final ServiceReference<EMFFormsLabelProvider> emfFormsLabelProviderServiceReference = bundleContext
+ .getServiceReference(EMFFormsLabelProvider.class);
+ emfFormsLabelProvider = bundleContext.getService(emfFormsLabelProviderServiceReference);
+ final ServiceReference<VTViewTemplateProvider> vtViewTemplateProviderServiceReference = bundleContext
+ .getServiceReference(VTViewTemplateProvider.class);
+ vtViewTemplateProvider = bundleContext.getService(vtViewTemplateProviderServiceReference);
+ }
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ */
+ public ExpectedValueControlRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ }
+
private Label text;
private String getTextVariantID() {
@@ -68,11 +109,10 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite,
- * org.eclipse.emf.ecore.EStructuralFeature.Setting)
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite)
*/
@Override
- protected Control createSWTControl(Composite parent, Setting setting) {
+ protected Control createSWTControl(Composite parent) {
final Composite composite = new Composite(parent, SWT.NONE);
GridLayoutFactory.fillDefaults().numColumns(2).applyTo(composite);
GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.BEGINNING).applyTo(composite);
@@ -101,14 +141,14 @@
* org.eclipse.emf.ecore.EStructuralFeature.Setting)
*/
@Override
- protected Binding[] createBindings(Control control, Setting setting) {
+ protected Binding[] createBindings(Control control) throws DatabindingFailedException {
final Label text = (Label) control;
final TargetToModelUpdateStrategy targetToModelUpdateStrategy = new TargetToModelUpdateStrategy();
final ModelToTargetUpdateStrategy modelToTargetUpdateStrategy = new ModelToTargetUpdateStrategy();
final IObservableValue value = SWTObservables.observeText(text);
- final Binding binding = getDataBindingContext().bindValue(value, getModelValue(setting),
+ final Binding binding = getDataBindingContext().bindValue(value, getModelValue(),
targetToModelUpdateStrategy, modelToTargetUpdateStrategy);
return new Binding[] { binding };
}
@@ -220,18 +260,18 @@
*/
protected abstract void onSelectButton(Label text);
- protected Setting getSetting(VControl control) {
- final Iterator<Setting> iterator = control.getDomainModelReference().getIterator();
- int count = 0;
- Setting setting = null;
- while (iterator.hasNext()) {
- count++;
- setting = iterator.next();
- }
- if (count != 1) {
- return null;
- }
- return setting;
+ /**
+ * Returns the model object representing the value for this renderer's domain model reference.
+ *
+ * @return the EObject
+ * @throws DatabindingFailedException if the databinding fails
+ */
+ protected EObject getObservedEObject() throws DatabindingFailedException {
+ final IObservableValue observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ final EObject result = (EObject) ((IObserving) observableValue).getObserved();
+ observableValue.dispose();
+ return result;
}
/**
@@ -260,8 +300,20 @@
public Object convert(Object value) {
final Object converted = value.toString();
if (String.class.isInstance(converted)) {
- return ECPTooltipModifierHelper.modifyString(String.class.cast(converted), getVElement()
- .getDomainModelReference().getIterator().next());
+ IObservableValue observableValue;
+ try {
+ observableValue = emfFormsDatabinding
+ .getObservableValue(getVElement().getDomainModelReference(),
+ getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new DatabindingFailedReport(ex));
+ return converted;
+ }
+ final InternalEObject internalEObject = (InternalEObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+ return ECPTooltipModifierHelper.modifyString(String.class.cast(converted),
+ internalEObject.eSetting(structuralFeature));
}
return converted;
}
@@ -278,8 +330,6 @@
/**
* Constructor for indicating whether a value is unsettable.
- *
- * @param unsettable true if value is unsettable, false otherwise
*/
public TargetToModelUpdateStrategy() {
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRenderer.java
index 5fa7ec1..ca1d3ac 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRenderer.java
@@ -14,9 +14,6 @@
import java.util.Collection;
import java.util.HashSet;
-import java.util.Collection;
-import java.util.HashSet;
-
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
@@ -27,6 +24,8 @@
import org.eclipse.emf.ecp.spi.common.ui.CompositeFactory;
import org.eclipse.emf.ecp.spi.common.ui.composites.SelectionComposite;
import org.eclipse.emf.ecp.view.internal.editor.handler.CreateDomainModelReferenceWizard;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.ecp.view.spi.rule.model.LeafCondition;
@@ -35,6 +34,9 @@
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.wizard.WizardDialog;
@@ -48,19 +50,35 @@
public class LeafConditionControlRenderer extends ExpectedValueControlRenderer {
/**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public LeafConditionControlRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
+ /**
* {@inheritDoc}
*
* @see org.eclipse.emf.ecp.view.internal.editor.controls.ExpectedValueControlRenderer#onSelectButton()
*/
@Override
protected void onSelectButton(Label control) {
- final Setting setting = getSetting(getVElement());
- final LeafCondition condition = (LeafCondition) setting.getEObject();
+ LeafCondition condition;
+ try {
+ condition = (LeafCondition) getObservedEObject();
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
if (condition.getDomainModelReference() == null) {
MessageDialog.openError(control.getShell(), "No Feature Path Domain Model Reference found", //$NON-NLS-1$
"A Feature Path Domain Model Reference needs to be added to the condition first. " //$NON-NLS-1$
- );
+ );
return;
}
@@ -70,7 +88,7 @@
if (structuralFeature == null) {
MessageDialog.openError(control.getShell(), "No value selected", //$NON-NLS-1$
"Please set a value to the Domain Model Reference first. " //$NON-NLS-1$
- );
+ );
return;
}
@@ -82,7 +100,7 @@
final Setting valueDMRSeting = ((LeafConditionImpl) condition).eSetting(RulePackage.eINSTANCE
.getLeafCondition_ValueDomainModelReference());
final CreateDomainModelReferenceWizard dmrWizard = new CreateDomainModelReferenceWizard(valueDMRSeting,
- getEditingDomain(valueDMRSeting), referenceType,
+ getEditingDomain(valueDMRSeting.getEObject()), referenceType,
"New Domain Model Reference", "New value reference", "New value reference", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
"Select the attribute to be tested.", null); //$NON-NLS-1$
final SelectionComposite<TreeViewer> compositeProvider = CompositeFactory.getSelectModelClassComposite(
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRendererTester.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRendererTester.java
index d159312..8d671ef 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRendererTester.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRendererTester.java
@@ -11,16 +11,16 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.editor.controls;
-import java.util.Iterator;
-
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.rule.model.RulePackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* @author Alexandra Buzila
@@ -40,12 +40,15 @@
return NOT_APPLICABLE;
}
final VControl control = (VControl) vElement;
- final Setting setting = getSetting(control);
- if (setting == null) {
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
-
- final EStructuralFeature feature = setting.getEStructuralFeature();
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
if (feature.isMany()) {
return NOT_APPLICABLE;
}
@@ -60,18 +63,4 @@
return NOT_APPLICABLE;
}
-
- private Setting getSetting(VControl control) {
- final Iterator<Setting> iterator = control.getDomainModelReference().getIterator();
- int count = 0;
- Setting setting = null;
- while (iterator.hasNext()) {
- count++;
- setting = iterator.next();
- }
- if (count != 1) {
- return null;
- }
- return setting;
- }
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/RootEClassControlECPTester.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/RootEClassControlECPTester.java
index 5a363b1..88fa3e0 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/RootEClassControlECPTester.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/RootEClassControlECPTester.java
@@ -11,8 +11,7 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.editor.controls;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
/**
@@ -22,14 +21,8 @@
public class RootEClassControlECPTester extends ControlRootEClassControl2SWTRendererTester {
@Override
- protected int isApplicable(Setting setting) {
- if (!VView.class.isInstance(setting.getEObject())) {
- return NOT_APPLICABLE;
- }
- if (VViewPackage.eINSTANCE.getView_RootEClass() != setting.getEStructuralFeature()) {
- return NOT_APPLICABLE;
- }
- if (setting.get(true) != null) {
+ protected int isApplicable(EStructuralFeature feature) {
+ if (VViewPackage.eINSTANCE.getView_RootEClass() != feature) {
return NOT_APPLICABLE;
}
return 3;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/RootEClassControlIDETester.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/RootEClassControlIDETester.java
deleted file mode 100644
index 898d3fd..0000000
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/RootEClassControlIDETester.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.editor.controls;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.edit.spi.util.ECPApplicableTester;
-import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-/**
- * @author Eugen
- *
- */
-public class RootEClassControlIDETester implements ECPApplicableTester {
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.edit.spi.util.ECPApplicableTester#isApplicable(org.eclipse.emf.edit.provider.IItemPropertyDescriptor,
- * org.eclipse.emf.ecore.EObject)
- * @deprecated
- */
- @Override
- @Deprecated
- public int isApplicable(IItemPropertyDescriptor itemPropertyDescriptor, EObject eObject) {
- return isApplicable(eObject, (EStructuralFeature) itemPropertyDescriptor.getFeature(eObject));
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.edit.spi.util.ECPApplicableTester#isApplicable(org.eclipse.emf.ecore.EObject,
- * org.eclipse.emf.ecore.EStructuralFeature)
- */
- @Override
- public int isApplicable(EObject eObject, EStructuralFeature feature) {
- if (!VView.class.isInstance(eObject)) {
- return NOT_APPLICABLE;
- }
- if (VViewPackage.eINSTANCE.getView_RootEClass() != feature) {
- return NOT_APPLICABLE;
- }
- if (eObject.eGet(feature) == null) {
- return NOT_APPLICABLE;
- }
- return 10;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.edit.spi.util.ECPApplicableTester#isApplicable(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)
- */
- @Override
- public int isApplicable(VDomainModelReference domainModelReference) {
- final Iterator<Setting> iterator = domainModelReference.getIterator();
- int count = 0;
- Setting setting = null;
- while (iterator.hasNext()) {
- count++;
- setting = iterator.next();
- }
- if (count != 1) {
- return NOT_APPLICABLE;
- }
- return isApplicable(setting.getEObject(), setting.getEStructuralFeature());
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/RuleFeaturePathTester.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/RuleFeaturePathTester.java
index c73105f..fd71843 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/RuleFeaturePathTester.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/RuleFeaturePathTester.java
@@ -11,11 +11,8 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.editor.controls;
-import java.util.Iterator;
-
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.edit.spi.util.ECPApplicableTester;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
@@ -77,17 +74,7 @@
*/
@Override
public int isApplicable(VDomainModelReference domainModelReference) {
- final Iterator<Setting> iterator = domainModelReference.getIterator();
- int count = 0;
- Setting setting = null;
- while (iterator.hasNext()) {
- count++;
- setting = iterator.next();
- }
- if (count != 1) {
- return NOT_APPLICABLE;
- }
- return isApplicable(setting.getEObject(), setting.getEStructuralFeature());
+ return NOT_APPLICABLE;
}
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/StackItemControlRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/StackItemControlRenderer.java
index eaa34e0..23ad6b8 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/StackItemControlRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/StackItemControlRenderer.java
@@ -14,7 +14,8 @@
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
import org.eclipse.emf.ecp.view.spi.stack.model.VStackItem;
import org.eclipse.emf.ecp.view.spi.stack.model.VStackLayout;
@@ -22,6 +23,9 @@
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Label;
@@ -32,15 +36,30 @@
public class StackItemControlRenderer extends ExpectedValueControlRenderer {
/**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public StackItemControlRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
+ /**
* {@inheritDoc}
*
* @see org.eclipse.emf.ecp.view.internal.editor.controls.ExpectedValueControlRenderer#onSelectButton(org.eclipse.swt.widgets.Text)
*/
@Override
protected void onSelectButton(Label control) {
- final Setting setting = getSetting(getVElement());
-
- final VStackItem stackItem = (VStackItem) setting.getEObject();
+ VStackItem stackItem;
+ try {
+ stackItem = (VStackItem) getObservedEObject();
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
final VStackLayout eContainer = (VStackLayout) stackItem.eContainer();
if (eContainer.getDomainModelReference() == null) {
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/StackItemControlRendererTester.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/StackItemControlRendererTester.java
index 676f73e..e9a239f 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/StackItemControlRendererTester.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/StackItemControlRendererTester.java
@@ -11,16 +11,16 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.editor.controls;
-import java.util.Iterator;
-
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* @author Alexandra Buzila
@@ -39,12 +39,15 @@
return NOT_APPLICABLE;
}
final VControl control = (VControl) vElement;
- final Setting setting = getSetting(control);
- if (setting == null) {
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
-
- final EStructuralFeature feature = setting.getEStructuralFeature();
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
if (feature.isMany()) {
return NOT_APPLICABLE;
}
@@ -59,18 +62,4 @@
return NOT_APPLICABLE;
}
-
- private Setting getSetting(VControl control) {
- final Iterator<Setting> iterator = control.getDomainModelReference().getIterator();
- int count = 0;
- Setting setting = null;
- while (iterator.hasNext()) {
- count++;
- setting = iterator.next();
- }
- if (count != 1) {
- return null;
- }
- return setting;
- }
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnDomainModelReferenceControl.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnDomainModelReferenceControl.java
index 5d11b28..0a22702 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnDomainModelReferenceControl.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnDomainModelReferenceControl.java
@@ -59,7 +59,7 @@
final Button[] buttons = new Button[2];
final Setting setting = getFirstSetting();
buttons[0] = createButtonForAction(new DeleteReferenceAction(getEditingDomain(setting), setting,
- getItemPropertyDescriptor(setting), getService(ReferenceService.class)), composite);
+ getService(ReferenceService.class)), composite);
buttons[1] = createButtonForAction(new FilteredReferenceAction(
getEditingDomain(setting), setting,
getItemPropertyDescriptor(setting), composite.getShell()), composite);
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java
index d7dc58f..32bcb7a 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java
@@ -18,40 +18,53 @@
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
+import org.eclipse.core.databinding.observable.IObserving;
import org.eclipse.core.databinding.observable.Observables;
import org.eclipse.core.databinding.observable.list.IObservableList;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.databinding.edit.EMFEditObservables;
+import org.eclipse.emf.databinding.EMFDataBindingContext;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.core.util.ECPUtil;
import org.eclipse.emf.ecp.internal.ui.Messages;
import org.eclipse.emf.ecp.spi.common.ui.CompositeFactory;
import org.eclipse.emf.ecp.spi.common.ui.composites.SelectionComposite;
import org.eclipse.emf.ecp.view.internal.editor.handler.CreateDomainModelReferenceWizard;
import org.eclipse.emf.ecp.view.model.common.edit.provider.CustomReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
import org.eclipse.emf.ecp.view.spi.table.model.VTablePackage;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.edit.command.RemoveCommand;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
@@ -72,6 +85,10 @@
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.TableColumn;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* @author Eugen
@@ -80,11 +97,45 @@
@SuppressWarnings("restriction")
public class TableColumnsDMRTableControl extends SimpleControlSWTRenderer {
+ private static final EMFFormsDatabinding emfFormsDatabinding;
+ private static final EMFFormsLabelProvider emfFormsLabelProvider;
+ private static final VTViewTemplateProvider vtViewTemplateProvider;
+
+ static {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(TableColumnsDMRTableControl.class)
+ .getBundleContext();
+ final ServiceReference<EMFFormsDatabinding> emfFormsDatabindingServiceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ emfFormsDatabinding = bundleContext.getService(emfFormsDatabindingServiceReference);
+ final ServiceReference<EMFFormsLabelProvider> emfFormsLabelProviderServiceReference = bundleContext
+ .getServiceReference(EMFFormsLabelProvider.class);
+ emfFormsLabelProvider = bundleContext.getService(emfFormsLabelProviderServiceReference);
+ final ServiceReference<VTViewTemplateProvider> vtViewTemplateProviderServiceReference = bundleContext
+ .getServiceReference(VTViewTemplateProvider.class);
+ vtViewTemplateProvider = bundleContext.getService(vtViewTemplateProviderServiceReference);
+ }
+
+ private final EMFDataBindingContext viewModelDBC;
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ */
+ public TableColumnsDMRTableControl(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ viewModelDBC = new EMFDataBindingContext();
+ }
+
private ComposedAdapterFactory composedAdapterFactory;
private AdapterFactoryLabelProvider labelProvider;
private AdapterImpl adapter;
private VTableControl tableControl;
- private Setting setting;
+ private EStructuralFeature structuralFeature;
+ private EObject eObject;
/**
* {@inheritDoc}
@@ -92,8 +143,13 @@
* @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#createControl(org.eclipse.swt.widgets.Composite)
*/
@Override
- protected Control createControl(final Composite parent) {
- setting = getVElement().getDomainModelReference().getIterator().next();
+ protected Control createControl(final Composite parent) throws DatabindingFailedException {
+ final IObservableValue observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ eObject = (EObject) ((IObserving) observableValue).getObserved();
+ observableValue.dispose();
+
final Composite composite = new Composite(parent, SWT.NONE);
composite.setBackgroundMode(SWT.INHERIT_FORCE);
GridLayoutFactory.fillDefaults().numColumns(1).applyTo(composite);
@@ -135,17 +191,30 @@
viewer.getTable().setHeaderVisible(true);
viewer.getTable().setLinesVisible(true);
final TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE);
- final IItemPropertyDescriptor propertyDescriptor = getItemPropertyDescriptor(setting);
- column.getColumn().setText(propertyDescriptor.getDisplayName(null));
- column.getColumn().setToolTipText(propertyDescriptor.getDescription(null));
+ final TableColumn tableColumn = column.getColumn();
+ final EMFFormsLabelProvider emfFormsLabelProvider = Activator.getDefault().getEMFFormsLabelProvider();// TODO
+ try {
+ final IObservableValue labelText = emfFormsLabelProvider.getDisplayName(
+ getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ final IObservableValue tooltip = emfFormsLabelProvider.getDescription(
+ getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ viewModelDBC.bindValue(SWTObservables.observeText(tableColumn), labelText);
+ viewModelDBC.bindValue(SWTObservables.observeTooltipText(tableColumn), tooltip);
+ } catch (final NoLabelFoundException e) {
+ // FIXME Expectations?
+ getReportService().getReports().add(new RenderingFailedReport(e));
+ tableColumn.setText(e.getMessage());
+ tableColumn.setToolTipText(e.toString());
+ }
+
layout.setColumnData(column.getColumn(), new ColumnWeightData(1, true));
viewer.setLabelProvider(labelProvider);
viewer.setContentProvider(new ObservableListContentProvider());
- addDragAndDropSupport(viewer, getEditingDomain(setting));
+ addDragAndDropSupport(viewer, getEditingDomain(eObject));
- final IObservableList list = EMFEditObservables.observeList(getEditingDomain(setting),
- setting.getEObject(), setting.getEStructuralFeature());
+ final IObservableList list = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableList(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
viewer.setInput(list);
tableControl = (VTableControl) getViewModelContext().getDomainModel();
@@ -198,6 +267,7 @@
labelProvider.dispose();
composedAdapterFactory.dispose();
tableControl.eAdapters().remove(adapter);
+ viewModelDBC.dispose();
super.dispose();
}
@@ -242,7 +312,7 @@
parent.layout();
}
if (VTableDomainModelReference.class.isInstance(notification.getNotifier())) {
- updateSetting();
+ updateEObjectAndStructuralFeature();
viewer.refresh();
parent.layout();
}
@@ -250,24 +320,31 @@
if (VTableControl.class.isInstance(notification.getNotifier())
&& (VTableDomainModelReference.class.isInstance(notification.getNewValue()) || VTableDomainModelReference.class
.isInstance(notification.getOldValue()))) {
- updateSetting();
+ updateEObjectAndStructuralFeature();
viewer.refresh();
parent.layout();
}
}
- private void updateSetting() {
- final Iterator<Setting> iterator = getVElement().getDomainModelReference().getIterator();
- if (iterator.hasNext()) {
- setting = iterator.next();
- final IObservableList list = EMFEditObservables.observeList(getEditingDomain(setting),
- setting.getEObject(), setting.getEStructuralFeature());
- viewer.setInput(list);
- }
- else {
+ private void updateEObjectAndStructuralFeature() {
+ IObservableValue observableValue;
+ IObservableList list;
+ try {
+ observableValue = Activator
+ .getDefault()
+ .getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ list = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableList(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
viewer.setInput(Observables.emptyObservableList());
+ return;
}
-
+ structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ eObject = (EObject) ((IObserving) observableValue).getObserved();
+ observableValue.dispose();
+ viewer.setInput(list);
}
}
@@ -295,9 +372,9 @@
super.widgetSelected(e);
final IStructuredSelection selection = IStructuredSelection.class.cast(viewer.getSelection());
- final EditingDomain editingDomain = getEditingDomain(setting);
- editingDomain.getCommandStack().execute(RemoveCommand.create(editingDomain, setting.getEObject(),
- setting.getEStructuralFeature(), selection.toList()));
+ final EditingDomain editingDomain = getEditingDomain(eObject);
+ editingDomain.getCommandStack().execute(
+ RemoveCommand.create(editingDomain, eObject, structuralFeature, selection.toList()));
}
}
@@ -327,16 +404,28 @@
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
final VTableDomainModelReference tableDomainModelReference = VTableDomainModelReference.class
- .cast(setting.getEObject());
+ .cast(eObject);
- final EClass eclass = EReference.class.cast(
- tableDomainModelReference.getEStructuralFeatureIterator().next()).getEReferenceType();
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator
+ .getDefault()
+ .getEMFFormsDatabinding()
+ .getValueProperty(
+ tableDomainModelReference.getDomainModelReference() == null ? tableDomainModelReference
+ : tableDomainModelReference.getDomainModelReference(),
+ getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ final EClass eclass = EReference.class.cast(valueProperty.getValueType()).getEReferenceType();
final Collection<EClass> classes = ECPUtil.getSubClasses(VViewPackage.eINSTANCE
.getDomainModelReference());
final CreateDomainModelReferenceWizard wizard = new CreateDomainModelReferenceWizard(
- setting, getEditingDomain(setting), eclass, "New Reference Element", //$NON-NLS-1$
+ eObject, structuralFeature, getEditingDomain(eObject), eclass, "New Reference Element", //$NON-NLS-1$
Messages.NewModelElementWizard_WizardTitle_AddModelElement,
Messages.NewModelElementWizard_PageTitle_AddModelElement,
Messages.NewModelElementWizard_PageDescription_AddModelElement,
@@ -374,7 +463,7 @@
// EMF API
@SuppressWarnings("unchecked")
final List<VDomainModelReference> list = new ArrayList<VDomainModelReference>(
- (List<VDomainModelReference>) setting.get(true));
+ (List<VDomainModelReference>) eObject.eGet(structuralFeature, true));
Collections.sort(list, new Comparator<VDomainModelReference>() {
@Override
public int compare(VDomainModelReference o1, VDomainModelReference o2) {
@@ -387,9 +476,9 @@
return result;
}
});
- final EditingDomain editingDomain = getEditingDomain(setting);
+ final EditingDomain editingDomain = getEditingDomain(eObject);
editingDomain.getCommandStack().execute(
- SetCommand.create(editingDomain, setting.getEObject(), setting.getEStructuralFeature(), list));
+ SetCommand.create(editingDomain, eObject, structuralFeature, list));
}
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControlTester.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControlTester.java
index 9cccc2f..0694d32 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControlTester.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControlTester.java
@@ -11,12 +11,15 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.editor.controls;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.table.model.VTablePackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* @author Alexandra Buzila
@@ -36,22 +39,26 @@
if (!VControl.class.isInstance(vElement)) {
return NOT_APPLICABLE;
}
- final Setting setting = VControl.class.cast(vElement).getDomainModelReference().getIterator().next();
- return isApplicable(setting);
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ return isApplicable((EStructuralFeature) valueProperty.getValueType());
}
/**
- * Test if setting contains the correct data.
+ * Test if the feature contains the correct data.
*
- * @param setting the {@link Setting} to check
+ * @param feature the {@link EStructuralFeature} to check
* @return the priority of the control
*/
- protected int isApplicable(Setting setting) {
- if (setting == null) {
- return NOT_APPLICABLE;
- }
- if (VTablePackage.eINSTANCE.getTableDomainModelReference_ColumnDomainModelReferences() != setting
- .getEStructuralFeature()) {
+ protected int isApplicable(EStructuralFeature feature) {
+ if (VTablePackage.eINSTANCE.getTableDomainModelReference_ColumnDomainModelReferences() != feature) {
return NOT_APPLICABLE;
}
return 10;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDetailViewControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDetailViewControlSWTRenderer.java
index d497d27..8ba9d8f 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDetailViewControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDetailViewControlSWTRenderer.java
@@ -12,29 +12,38 @@
package org.eclipse.emf.ecp.view.internal.editor.controls;
import java.net.URL;
-import java.util.Iterator;
import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.UpdateValueStrategy;
+import org.eclipse.core.databinding.observable.IObserving;
import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.edit.internal.swt.Activator;
import org.eclipse.emf.ecp.edit.spi.swt.reference.DeleteReferenceAction;
import org.eclipse.emf.ecp.edit.spi.swt.reference.NewReferenceAction;
import org.eclipse.emf.ecp.edit.spi.util.ECPModelElementChangeListener;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.dialogs.MessageDialog;
@@ -48,6 +57,9 @@
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* @author jfaltermeier
@@ -55,6 +67,40 @@
*/
public class TableDetailViewControlSWTRenderer extends SimpleControlSWTControlSWTRenderer {
+ private static final EMFFormsDatabinding emfFormsDatabinding;
+ private static final EMFFormsEditSupport emfFormsEditSupport;
+ private static final EMFFormsLabelProvider emfFormsLabelProvider;
+ private static final VTViewTemplateProvider vtViewTemplateProvider;
+
+ static {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(TableDetailViewControlSWTRenderer.class)
+ .getBundleContext();
+ final ServiceReference<EMFFormsDatabinding> emfFormsDatabindingServiceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ emfFormsDatabinding = bundleContext.getService(emfFormsDatabindingServiceReference);
+ final ServiceReference<EMFFormsEditSupport> emfFormsEditSupportServiceReference = bundleContext
+ .getServiceReference(EMFFormsEditSupport.class);
+ emfFormsEditSupport = bundleContext.getService(emfFormsEditSupportServiceReference);
+ final ServiceReference<EMFFormsLabelProvider> emfFormsLabelProviderServiceReference = bundleContext
+ .getServiceReference(EMFFormsLabelProvider.class);
+ emfFormsLabelProvider = bundleContext.getService(emfFormsLabelProviderServiceReference);
+ final ServiceReference<VTViewTemplateProvider> vtViewTemplateProviderServiceReference = bundleContext
+ .getServiceReference(VTViewTemplateProvider.class);
+ vtViewTemplateProvider = bundleContext.getService(vtViewTemplateProviderServiceReference);
+ }
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ */
+ public TableDetailViewControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ }
+
private ComposedAdapterFactory composedAdapterFactory;
private AdapterFactoryItemDelegator adapterFactoryItemDelegator;
private Label label;
@@ -69,15 +115,20 @@
* org.eclipse.emf.ecore.EStructuralFeature.Setting)
*/
@Override
- protected Binding[] createBindings(Control control, final Setting setting) {
+ protected Binding[] createBindings(Control control) throws DatabindingFailedException {
final Binding[] bindings = new Binding[3];
final IObservableValue value = SWTObservables.observeText(label);
- bindings[0] = getDataBindingContext().bindValue(value, getModelValue(setting), new UpdateValueStrategy() {
+ bindings[0] = getDataBindingContext().bindValue(value, getModelValue(), new UpdateValueStrategy() {
@Override
public Object convert(Object value) {
- return getModelValue(setting).getValue();
+ try {
+ return getModelValue().getValue();
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return null;
+ }
}
}, new UpdateValueStrategy() {
@Override
@@ -87,12 +138,17 @@
});
final IObservableValue tooltipValue = SWTObservables.observeTooltipText(label);
- bindings[1] = getDataBindingContext().bindValue(tooltipValue, getModelValue(setting),
+ bindings[1] = getDataBindingContext().bindValue(tooltipValue, getModelValue(),
new UpdateValueStrategy() {
@Override
public Object convert(Object value) {
- return getModelValue(setting).getValue();
+ try {
+ return getModelValue().getValue();
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return null;
+ }
}
}, new UpdateValueStrategy() {
@Override
@@ -102,11 +158,16 @@
});
final IObservableValue imageValue = SWTObservables.observeImage(imageLabel);
- bindings[2] = getDataBindingContext().bindValue(imageValue, getModelValue(setting), new UpdateValueStrategy() {
+ bindings[2] = getDataBindingContext().bindValue(imageValue, getModelValue(), new UpdateValueStrategy() {
@Override
public Object convert(Object value) {
- return getModelValue(setting).getValue();
+ try {
+ return getModelValue().getValue();
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return null;
+ }
}
}, new UpdateValueStrategy() {
@Override
@@ -133,11 +194,16 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite,
- * org.eclipse.emf.ecore.EStructuralFeature.Setting)
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite)
*/
@Override
- protected Control createSWTControl(Composite parent, final Setting setting) {
+ protected Control createSWTControl(Composite parent) throws DatabindingFailedException {
+ final IObservableValue observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ observableValue.dispose();
+
/* parent composite */
final Composite composite = new Composite(parent, SWT.NONE);
composite.setBackground(parent.getBackground());
@@ -166,14 +232,14 @@
GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).spacing(2, 0).applyTo(buttonComposite);
/* delete button */
- final Button deleteButton = createButtonForAction(new DeleteReferenceAction(getEditingDomain(setting), setting,
- getItemPropertyDescriptor(setting), null), buttonComposite);
+ final Button deleteButton = createButtonForAction(new DeleteReferenceAction(getEditingDomain(eObject), eObject,
+ structuralFeature, null), buttonComposite);
deleteButton.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
- final Command setCommand = SetCommand.create(getEditingDomain(setting), setting.getEObject(),
- setting.getEStructuralFeature(), null);
- getEditingDomain(setting).getCommandStack().execute(setCommand);
+ final Command setCommand = SetCommand.create(getEditingDomain(eObject), eObject, structuralFeature,
+ null);
+ getEditingDomain(eObject).getCommandStack().execute(setCommand);
}
@Override
@@ -182,14 +248,15 @@
});
/* create button */
- final Button createButton = createButtonForAction(new NewReferenceAction(getEditingDomain(setting), setting,
- getItemPropertyDescriptor(setting), null), buttonComposite);
+ final Button createButton = createButtonForAction(new NewReferenceAction(getEditingDomain(eObject), eObject,
+ structuralFeature, emfFormsEditSupport, emfFormsLabelProvider, null, getReportService(), getVElement()
+ .getDomainModelReference(), getViewModelContext().getDomainModel()), buttonComposite);
createButton.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
final VView detailView = VViewFactory.eINSTANCE.createView();
- final VTableControl tableControl = (VTableControl) setting.getEObject();
+ final VTableControl tableControl = (VTableControl) eObject;
if (tableControl.getDomainModelReference() == null) {
MessageDialog.openInformation(Display.getDefault().getActiveShell(),
"Set Domain Model Reference", "Please set a Domain Model Reference first."); //$NON-NLS-1$ //$NON-NLS-2$
@@ -201,13 +268,18 @@
if (domainModelReference.getDomainModelReference() == null) {
ref = (EReference) domainModelReference.getDomainModelEFeature();
} else {
- final Iterator<EStructuralFeature> iterator = domainModelReference.getDomainModelReference()
- .getEStructuralFeatureIterator();
- if (iterator.hasNext()) {
- final EStructuralFeature feature = iterator.next();
- if (EReference.class.isInstance(feature)) {
- ref = EReference.class.cast(feature);
- }
+ IValueProperty valueProperty;
+ try {
+ valueProperty = org.eclipse.emf.ecp.view.internal.editor.controls.Activator
+ .getDefault().getEMFFormsDatabinding()
+ .getValueProperty(domainModelReference, getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
+ if (EReference.class.isInstance(feature)) {
+ ref = EReference.class.cast(feature);
}
}
@@ -217,9 +289,9 @@
return;
}
detailView.setRootEClass(ref.getEReferenceType());
- final Command setCommand = SetCommand.create(getEditingDomain(setting), setting.getEObject(),
- setting.getEStructuralFeature(), detailView);
- getEditingDomain(setting).getCommandStack().execute(setCommand);
+ final Command setCommand = SetCommand.create(getEditingDomain(eObject), eObject,
+ structuralFeature, detailView);
+ getEditingDomain(eObject).getCommandStack().execute(setCommand);
}
@Override
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDetailViewControlSWTRendererTester.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDetailViewControlSWTRendererTester.java
index f6ea395..33f81c5 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDetailViewControlSWTRendererTester.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDetailViewControlSWTRendererTester.java
@@ -11,12 +11,15 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.editor.controls;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.table.model.VTablePackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* @author jfaltermeier
@@ -29,11 +32,17 @@
if (!VControl.class.isInstance(vElement)) {
return NOT_APPLICABLE;
}
- final Setting setting = VControl.class.cast(vElement).getDomainModelReference().getIterator().next();
- if (setting == null) {
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
- if (VTablePackage.eINSTANCE.getTableControl_DetailView() == setting.getEStructuralFeature()) {
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
+ if (VTablePackage.eINSTANCE.getTableControl_DetailView() == feature) {
return 10;
}
return NOT_APPLICABLE;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDomainModelReferenceTester.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDomainModelReferenceTester.java
index b64a847..a7eeee7 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDomainModelReferenceTester.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableDomainModelReferenceTester.java
@@ -11,11 +11,8 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.editor.controls;
-import java.util.Iterator;
-
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
@@ -45,18 +42,7 @@
*/
@Override
public int isApplicable(VDomainModelReference domainModelReference) {
- final Iterator<Setting> iterator = domainModelReference.getIterator();
- int count = 0;
- Setting setting = null;
- while (iterator.hasNext()) {
- count++;
- setting = iterator.next();
- }
- if (count != 1) {
- return NOT_APPLICABLE;
- }
- // setting cannot be null as count would be 0, otherwise the iterator is broken
- return isApplicable(setting.getEObject(), setting.getEStructuralFeature());
+ return NOT_APPLICABLE;
}
/**
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/CreateDomainModelReferenceWizard.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/CreateDomainModelReferenceWizard.java
index 4d7d46b..6e213fd 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/CreateDomainModelReferenceWizard.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/CreateDomainModelReferenceWizard.java
@@ -18,6 +18,8 @@
import org.eclipse.emf.common.notify.impl.AdapterImpl;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
@@ -27,6 +29,7 @@
import org.eclipse.emf.ecp.ui.view.ECPRendererException;
import org.eclipse.emf.ecp.ui.view.swt.DefaultReferenceService;
import org.eclipse.emf.ecp.ui.view.swt.ECPSWTViewRenderer;
+import org.eclipse.emf.ecp.view.internal.editor.controls.Activator;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
import org.eclipse.emf.ecp.view.spi.custom.model.VCustomDomainModelReference;
@@ -35,11 +38,14 @@
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
import org.eclipse.emf.edit.command.AddCommand;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.wizard.IWizardPage;
@@ -58,7 +64,8 @@
private WizardPageExtension firstPage;
private final EClass eclass;
private final EditingDomain editingDomain;
- private final Setting setting;
+ private final EObject eObject;
+ private final EStructuralFeature structuralFeature;
private final VDomainModelReference domainModelReference;
/**
@@ -76,8 +83,29 @@
public CreateDomainModelReferenceWizard(final Setting setting, final EditingDomain editingDomain,
final EClass eclass, final String windowTitle,
final String pageName, String pageTitle, String description, VDomainModelReference domainModelReference) {
+ this(setting.getEObject(), setting.getEStructuralFeature(), editingDomain, eclass, windowTitle, pageName,
+ pageTitle, description, domainModelReference);
+ }
+
+ /**
+ * A wizard used for creating a new DomainModelReference.
+ *
+ * @param eObject The {@link EObject} to use
+ * @param structuralFeature The corresponding {@link EStructuralFeature}
+ * @param editingDomain - the setting's editing domain
+ * @param eclass - the root EClass of the VView the setting belongs to
+ * @param windowTitle - title for the wizard window
+ * @param pageName - the name of the page
+ * @param pageTitle - the title of the page
+ * @param description - the description
+ * @param domainModelReference - the domain model reference
+ */
+ public CreateDomainModelReferenceWizard(final EObject eObject, final EStructuralFeature structuralFeature,
+ final EditingDomain editingDomain, final EClass eclass, final String windowTitle, final String pageName,
+ String pageTitle, String description, VDomainModelReference domainModelReference) {
super(windowTitle, pageName, pageTitle, description);
- this.setting = setting;
+ this.eObject = eObject;
+ this.structuralFeature = structuralFeature;
this.editingDomain = editingDomain;
this.eclass = eclass;
this.domainModelReference = domainModelReference;
@@ -166,13 +194,13 @@
return false;
}
Command command = null;
- if (setting.getEStructuralFeature().isMany()) {
- command = AddCommand.create(editingDomain, setting.getEObject(),
- setting.getEStructuralFeature(), customizeDMRPage.getvControl().getDomainModelReference());
+ if (structuralFeature.isMany()) {
+ command = AddCommand.create(editingDomain, eObject,
+ structuralFeature, customizeDMRPage.getvControl().getDomainModelReference());
}
else {
- command = SetCommand.create(editingDomain, setting.getEObject(),
- setting.getEStructuralFeature(), customizeDMRPage.getvControl().getDomainModelReference());
+ command = SetCommand.create(editingDomain, eObject,
+ structuralFeature, customizeDMRPage.getvControl().getDomainModelReference());
}
editingDomain.getCommandStack().execute(command);
return super.performFinish();
@@ -203,13 +231,22 @@
}
return false;
}
+ VDomainModelReference dmrToCheck = customizeDMRPage.getvControl().getDomainModelReference();
+ if (VTableDomainModelReference.class.isInstance(dmrToCheck)) {
+ final VTableDomainModelReference tableDomainModelReference = VTableDomainModelReference.class
+ .cast(dmrToCheck);
+ if (tableDomainModelReference.getDomainModelReference() != null) {
+ dmrToCheck = tableDomainModelReference.getDomainModelReference();
+ }
+ }
+ try {
+ Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(dmrToCheck, null);
+ } catch (final DatabindingFailedException ex) {
+ // Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return false;
+ }
- if (customizeDMRPage.getvControl().getDomainModelReference().getEStructuralFeatureIterator() == null) {
- return false;
- }
- if (!customizeDMRPage.getvControl().getDomainModelReference().getEStructuralFeatureIterator().hasNext()) {
- return false;
- }
return super.canFinish();
}
@@ -329,10 +366,23 @@
if (getvControl().getDomainModelReference() == null) {
return false;
}
- if (getvControl().getDomainModelReference().getEStructuralFeatureIterator() == null) {
+ VDomainModelReference dmrToCheck = getvControl().getDomainModelReference();
+ if (VTableDomainModelReference.class.isInstance(dmrToCheck)) {
+ final VTableDomainModelReference tableDomainModelReference = VTableDomainModelReference.class
+ .cast(dmrToCheck);
+ if (tableDomainModelReference.getDomainModelReference() != null) {
+ dmrToCheck = tableDomainModelReference.getDomainModelReference();
+ }
+ }
+ try {
+ Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(dmrToCheck, null);
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return false;
}
- return getvControl().getDomainModelReference().getEStructuralFeatureIterator().hasNext();
+
+ return true;
}
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsForSubclassesHandler.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsForSubclassesHandler.java
index d0fa2ff..c8e3064 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsForSubclassesHandler.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsForSubclassesHandler.java
@@ -12,12 +12,12 @@
package org.eclipse.emf.ecp.view.internal.editor.handler;
import java.util.Collection;
-import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.ecore.EAttribute;
@@ -26,6 +26,7 @@
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.common.spi.EMFUtils;
+import org.eclipse.emf.ecp.view.internal.editor.controls.Activator;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
@@ -39,6 +40,8 @@
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Display;
@@ -50,7 +53,6 @@
* @author jfaltermeier
*
*/
-@SuppressWarnings("restriction")
public class GenerateTableColumnsForSubclassesHandler extends MasterDetailAction {
/**
@@ -95,11 +97,14 @@
}
final VTableDomainModelReference tableDMR = (VTableDomainModelReference) domainModelReference;
- final Iterator<EStructuralFeature> structuralFeatureIterator = tableDMR.getEStructuralFeatureIterator();
- if (structuralFeatureIterator == null || !structuralFeatureIterator.hasNext()) {
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding().getValueProperty(tableDMR, null);
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return;
}
- final EStructuralFeature eStructuralFeature = structuralFeatureIterator.next();
+ final Object eStructuralFeature = valueProperty.getValueType();
if (!EReference.class.isInstance(eStructuralFeature)) {
return;
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsHandler.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsHandler.java
index 8e076f7..f6a08ba 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsHandler.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsHandler.java
@@ -11,17 +11,18 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.editor.handler;
-import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.internal.editor.controls.Activator;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
@@ -32,6 +33,8 @@
import org.eclipse.emf.edit.command.AddCommand;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.handlers.HandlerUtil;
@@ -82,11 +85,19 @@
}
final VTableDomainModelReference tableDMR = (VTableDomainModelReference) domainModelReference;
- final Iterator<EStructuralFeature> structuralFeatureIterator = tableDMR.getEStructuralFeatureIterator();
- if (structuralFeatureIterator == null || !structuralFeatureIterator.hasNext()) {
+ IValueProperty valueProperty;
+ try {
+ if (tableDMR.getDomainModelReference() != null) {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(tableDMR.getDomainModelReference(), null);
+ } else {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding().getValueProperty(tableDMR, null);
+ }
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return;
}
- final EStructuralFeature eStructuralFeature = structuralFeatureIterator.next();
+ final Object eStructuralFeature = valueProperty.getValueType();
if (!EReference.class.isInstance(eStructuralFeature)) {
return;
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/MigrateHandler.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/MigrateHandler.java
index be4206c..d6ee65e 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/MigrateHandler.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/MigrateHandler.java
@@ -18,11 +18,13 @@
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.util.TreeIterator;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.internal.editor.controls.Activator;
import org.eclipse.emf.ecp.view.spi.editor.controls.Helper;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
@@ -31,6 +33,8 @@
import org.eclipse.emf.edit.command.AddCommand;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.handlers.HandlerUtil;
@@ -67,10 +71,17 @@
continue;
}
final VControl control = (VControl) eObject;
- final Setting setting = control.getDomainModelReference().getIterator().next();
- final List<EReference> bottomUpPath = Helper.getReferencePath(rootClass, setting.getEStructuralFeature()
- .getEContainingClass(),
- childParentReferenceMap);
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), null);
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ continue;
+ }
+ final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();
+ final List<EReference> bottomUpPath = Helper.getReferencePath(rootClass,
+ structuralFeature.getEContainingClass(), childParentReferenceMap);
// control.getPathToFeature().addAll(bottomUpPath);
((VFeaturePathDomainModelReference) control.getDomainModelReference()).getDomainModelEReferencePath()
.clear();
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/SelectAttributesWizardPage.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/SelectAttributesWizardPage.java
index cc3d3fc..b11a4e2 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/SelectAttributesWizardPage.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/SelectAttributesWizardPage.java
@@ -12,21 +12,24 @@
package org.eclipse.emf.ecp.view.internal.editor.handler;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.util.TreeIterator;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.internal.editor.controls.Activator;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.viewers.ArrayContentProvider;
@@ -374,14 +377,19 @@
if (domainModelReference == null) {
continue;
}
- final Iterator<EStructuralFeature> structuralFeatureIterator = domainModelReference
- .getEStructuralFeatureIterator();
- while (structuralFeatureIterator.hasNext()) {
- final EStructuralFeature feature = structuralFeatureIterator.next();
- if (feature != null && feature.getEContainingClass() != null
- && feature.getEContainingClass().equals(eClass)) {
- result.add(feature);
- }
+
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(domainModelReference, null);
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ continue;
+ }
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
+ if (feature != null && feature.getEContainingClass() != null
+ && feature.getEContainingClass().equals(eClass)) {
+ result.add(feature);
}
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/.settings/.api_filters
index b036e6b..82b84ef 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/.settings/.api_filters
@@ -22,70 +22,70 @@
</message_arguments>
</filter>
</resource>
- <resource path="src/org/eclipse/emf/ecp/view/spi/swt/AbstractSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer">
+ <resource path="src/org/eclipse/emf/ecp/view/spi/swt/AbstractSWTRenderer.java" type="org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer">
<filter comment="This is SPI" id="336695337">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
+ <message_argument value="org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer"/>
<message_argument value="getGridDescription(GridDescription)"/>
</message_arguments>
</filter>
<filter comment="SPI change (1.3)" id="336695337">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
+ <message_argument value="org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer"/>
<message_argument value="getGridDescription(SWTGridDescription)"/>
</message_arguments>
</filter>
<filter comment="This is SPI" id="336695337">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
+ <message_argument value="org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer"/>
<message_argument value="renderControl(GridCell, Composite)"/>
</message_arguments>
</filter>
<filter comment="SPI change (1.3)" id="336695337">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
+ <message_argument value="org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer"/>
<message_argument value="renderControl(SWTGridCell, Composite)"/>
</message_arguments>
</filter>
<filter comment="This is SPI" id="338792546">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
+ <message_argument value="org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer"/>
<message_argument value="applyEnable(VElement, List<RenderingResultRow<Control>>)"/>
</message_arguments>
</filter>
<filter comment="This is SPI" id="338792546">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
+ <message_argument value="org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer"/>
<message_argument value="applyVisible(VElement, List<RenderingResultRow<Control>>)"/>
</message_arguments>
</filter>
<filter comment="This is SPI" id="338792546">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
+ <message_argument value="org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer"/>
<message_argument value="createResult(Control[])"/>
</message_arguments>
</filter>
<filter comment="This is SPI" id="338792546">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
+ <message_argument value="org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer"/>
<message_argument value="getLayoutHelper()"/>
</message_arguments>
</filter>
<filter comment="This is SPI" id="338792546">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
+ <message_argument value="org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer"/>
<message_argument value="render(Composite, R, ViewModelContext)"/>
</message_arguments>
</filter>
<filter comment="This is SPI" id="338792546">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
+ <message_argument value="org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer"/>
<message_argument value="renderModel(Composite, R, ViewModelContext)"/>
</message_arguments>
</filter>
<filter comment="This is SPI" id="338792546">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
+ <message_argument value="org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer"/>
<message_argument value="setLayoutDataForResultRows(List<RenderingResultRow<Control>>)"/>
</message_arguments>
</filter>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/META-INF/MANIFEST.MF
index c653bff..7a31661 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Dependency Injection SWT Renderer
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.swt.di;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.emf.ecp.view.model.common.di;bundle-version="[1.3.0,2.0.0)",
@@ -14,9 +14,17 @@
org.eclipse.emf.ecp.ui.view;bundle-version="[1.3.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.3.0,2.0.0)",
org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)",
- org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.ui.view.swt.di.renderer;version="1
- .5.1";x-internal:=true,org.eclipse.emf.ecp.ui.view.swt.di.util;versio
- n="1.5.1";x-internal:=true
-Import-Package: org.eclipse.swt.graphics;version="0.0.0",
- org.eclipse.swt.widgets;version="0.0.0"
+ .6.0";x-internal:=true,org.eclipse.emf.ecp.ui.view.swt.di.util;versio
+ n="1.6.0";x-internal:=true
+Import-Package: org.eclipse.emfforms.spi.common.locale;version="1.6.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.8.0"
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/pom.xml b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/pom.xml
index 0ad3057..9927266 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIContainerSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIContainerSWTRenderer.java
index 8afb1cb..d460395 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIContainerSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIContainerSWTRenderer.java
@@ -15,8 +15,12 @@
import org.eclipse.emf.ecp.ui.view.swt.di.util.SWTContextUtil;
import org.eclipse.emf.ecp.view.model.common.di.renderer.DIRendererUtil;
import org.eclipse.emf.ecp.view.model.common.di.renderer.POJORendererFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
import org.eclipse.swt.widgets.Composite;
/**
@@ -29,6 +33,20 @@
public class DIContainerSWTRenderer extends ContainerSWTRenderer<VElement> {
/**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param factory the {@link EMFFormsRendererFactory}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ */
+ public DIContainerSWTRenderer(VElement vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
+ super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+ }
+
+ /**
* Named string for the children of a container.
*/
public static final String CHILDREN = "containerChildren"; //$NON-NLS-1$
@@ -42,8 +60,7 @@
@Override
protected Composite getComposite(Composite parent) {
final IEclipseContext childContext = DIRendererUtil.getContextForElement(getVElement(), getViewModelContext());
- SWTContextUtil.setAbstractSWTRendererObjects(childContext, getVElement(), getViewModelContext(),
- getSWTRendererFactory(), parent);
+ SWTContextUtil.setAbstractSWTRendererObjects(childContext, getVElement(), getViewModelContext(), parent);
childContext.set(CHILDREN, getChildren());
putInContext(childContext, getVElement());
return doGetComposite();
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIControlSWTRenderer.java
index 8ae91fc..c3854fb 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIControlSWTRenderer.java
@@ -15,13 +15,18 @@
import org.eclipse.emf.ecp.ui.view.swt.di.util.SWTContextUtil;
import org.eclipse.emf.ecp.view.model.common.di.renderer.DIRendererUtil;
import org.eclipse.emf.ecp.view.model.common.di.renderer.POJORendererFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -32,13 +37,29 @@
@SuppressWarnings("restriction")
public class DIControlSWTRenderer extends AbstractControlSWTRenderer<VControl> {
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param reportService The {@link ReportService}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ */
+ public DIControlSWTRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ }
+
private SWTGridDescription rendererGridDescription;
private Object pojo;
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -53,7 +74,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@Override
@@ -61,8 +82,7 @@
NoPropertyDescriptorFoundExeption {
pojo = POJORendererFactory.getInstance().getRenderer(getVElement(), getViewModelContext());
final IEclipseContext childContext = DIRendererUtil.getContextForElement(getVElement(), getViewModelContext());
- SWTContextUtil.setAbstractSWTRendererObjects(childContext, getVElement(), getViewModelContext(),
- getSWTRendererFactory(), parent);
+ SWTContextUtil.setAbstractSWTRendererObjects(childContext, getVElement(), getViewModelContext(), parent);
childContext.set(SWTGridCell.class, cell);
return (Control) DIRendererUtil.render(pojo, getVElement(), getViewModelContext());
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRenderer.java
index d566c8f..40e18d7 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRenderer.java
@@ -16,9 +16,15 @@
import org.eclipse.emf.ecp.view.internal.core.swt.renderer.ViewSWTRenderer;
import org.eclipse.emf.ecp.view.model.common.di.renderer.DIRendererUtil;
import org.eclipse.emf.ecp.view.model.common.di.renderer.POJORendererFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -29,12 +35,27 @@
@SuppressWarnings("restriction")
public class DIViewSWTRenderer extends ViewSWTRenderer {
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param factory the {@link EMFFormsRendererFactory}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param localeProvider The {@link EMFFormsLocaleProvider}
+ */
+ public DIViewSWTRenderer(VView vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding, EMFFormsLocaleProvider localeProvider) {
+ super(vElement, viewContext, reportService, factory, emfFormsDatabinding, localeProvider);
+ }
+
private Object pojo;
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#render(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#render(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@Override
@@ -42,8 +63,7 @@
throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
pojo = POJORendererFactory.getInstance().getRenderer(getVElement(), getViewModelContext());
final IEclipseContext childContext = DIRendererUtil.getContextForElement(getVElement(), getViewModelContext());
- SWTContextUtil.setAbstractSWTRendererObjects(childContext, getVElement(), getViewModelContext(),
- getSWTRendererFactory(), parent);
+ SWTContextUtil.setAbstractSWTRendererObjects(childContext, getVElement(), getViewModelContext(), parent);
childContext.set(SWTGridCell.class, cell);
DIRendererUtil.render(pojo, getVElement(), getViewModelContext());
return parent;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRendererService.java b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRendererService.java
new file mode 100644
index 0000000..6a93143
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/renderer/DIViewSWTRendererService.java
@@ -0,0 +1,138 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.ui.view.swt.di.renderer;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * NumberControlSWTRendererService which provides the NumberControlSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class DIViewSWTRendererService implements EMFFormsRendererService<VView> {
+
+ private EMFFormsDatabinding databindingService;
+ private EMFFormsRendererFactory rendererFactory;
+ private ReportService reportService;
+ private ServiceReference<EMFFormsRendererFactory> serviceReference;
+ private EMFFormsLocaleProvider localeProvider;
+
+ /**
+ * Activate ViewSWTRendererService.
+ *
+ * @param bundleContext The {@link BundleContext}
+ */
+ protected void activate(BundleContext bundleContext) {
+ serviceReference = bundleContext.getServiceReference(EMFFormsRendererFactory.class);
+ rendererFactory = bundleContext.getService(serviceReference);
+ }
+
+ /**
+ * Deactivate ViewSWTRendererService.
+ *
+ * @param bundleContext The {@link BundleContext}
+ */
+ protected void deactivate(BundleContext bundleContext) {
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * Called by the initializer to set the EMFFormsDatabinding.
+ *
+ * @param databindingService The EMFFormsDatabinding
+ */
+ protected void setEMFFormsDatabinding(EMFFormsDatabinding databindingService) {
+ this.databindingService = databindingService;
+ }
+
+ /**
+ * Called by the initializer to unset the EMFFormsDatabinding.
+ *
+ * @param databindingService The EMFFormsDatabinding
+ */
+ protected void unsetEMFFormsDatabinding(EMFFormsDatabinding databindingService) {
+ this.databindingService = null;
+ }
+
+ /**
+ * Called by the initializer to set the ReportService.
+ *
+ * @param reportService The ReportService
+ */
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * Called by the initializer to unset the ReportService.
+ *
+ * @param reportService The ReportService
+ */
+ protected void unsetReportService(ReportService reportService) {
+ this.reportService = null;
+ }
+
+ /**
+ * Called by the initializer to set the EMFFormsLocaleProvider.
+ *
+ * @param localeProvider The EMFFormsLocaleProvider
+ */
+ protected void setEMFFormsLocaleProvider(EMFFormsLocaleProvider localeProvider) {
+ this.localeProvider = localeProvider;
+ }
+
+ /**
+ * Called by the initializer to unset the EMFFormsLocaleProvider.
+ *
+ * @param localeProvider The EMFFormsLocaleProvider
+ */
+ protected void unsetEMFFormsLocaleProvider(EMFFormsLocaleProvider localeProvider) {
+ this.localeProvider = null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VView.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ return 3d;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public AbstractSWTRenderer<VView> getRendererInstance(VView vElement, ViewModelContext viewModelContext) {
+ return new DIViewSWTRenderer(vElement, viewModelContext, reportService, rendererFactory, databindingService,
+ localeProvider);
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/util/SWTContextUtil.java b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/util/SWTContextUtil.java
index 3ee01d9..e0fa783 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/util/SWTContextUtil.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/src/org/eclipse/emf/ecp/ui/view/swt/di/util/SWTContextUtil.java
@@ -15,7 +15,6 @@
import org.eclipse.emf.ecp.view.model.common.di.util.ContextUtil;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
import org.eclipse.swt.widgets.Composite;
/**
@@ -38,13 +37,11 @@
* @param eclipseContext the eclipse context to add the element to
* @param element the {@link VElement}
* @param viewModelContext the {@link ViewModelContext}
- * @param factory the {@link SWTRendererFactory}
* @param parent the {@link Composite} to draw onto
*/
public static void setAbstractSWTRendererObjects(IEclipseContext eclipseContext, VElement element,
- ViewModelContext viewModelContext, SWTRendererFactory factory, Composite parent) {
+ ViewModelContext viewModelContext, Composite parent) {
ContextUtil.setAbstractRendererObjects(eclipseContext, element, viewModelContext);
- eclipseContext.set(SWTRendererFactory.class, factory);
eclipseContext.set(Composite.class, parent);
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/.gitignore b/bundles/org.eclipse.emf.ecp.ui.view.swt/.gitignore
new file mode 100644
index 0000000..ff3e254
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/.gitignore
@@ -0,0 +1,2 @@
+/bin/
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.ui.view.swt/.settings/.api_filters
index 9bc99d7..cfbb4bf 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/.settings/.api_filters
@@ -19,10 +19,98 @@
<message_argument value="1.4.0"/>
</message_arguments>
</filter>
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Changes for 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model.common"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.model.common.spi.databinding.DatabindingProviderService">
+ <filter comment="SPI Changes for 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.model.common.spi.databinding.DatabindingProviderService"/>
+ <message_argument value="org.eclipse.emf.ecp.ui.view.swt_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Changes for 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.ui.view.swt_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Changes for 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.ui.view.swt_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Changes for 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.ui.view.swt_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.swt.AbstractAdditionalSWTRenderer">
+ <filter comment="EMFForms 1.6 SPI Change" id="305324134">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractAdditionalSWTRenderer"/>
+ <message_argument value="org.eclipse.emf.ecp.ui.view.swt_1.6.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer">
+ <filter comment="EMFForms 1.6 SPI Change" id="305324134">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
+ <message_argument value="org.eclipse.emf.ecp.ui.view.swt_1.6.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory">
+ <filter comment="EMFForms 1.6 SPI Change" id="305324134">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory"/>
+ <message_argument value="org.eclipse.emf.ecp.ui.view.swt_1.6.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProvider">
+ <filter comment="EMFForms 1.6 SPI Change" id="305324134">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProvider"/>
+ <message_argument value="org.eclipse.emf.ecp.ui.view.swt_1.6.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell">
+ <filter comment="EMFForms 1.6 SPI Change" id="305324134">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell"/>
+ <message_argument value="org.eclipse.emf.ecp.ui.view.swt_1.6.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription">
+ <filter comment="EMFForms 1.6 SPI Change" id="305324134">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription"/>
+ <message_argument value="org.eclipse.emf.ecp.ui.view.swt_1.6.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/ui/view/swt/DebugSWTReportConsumer.java" type="org.eclipse.emf.ecp.ui.view.swt.DebugSWTReportConsumer">
+ <filter comment="SPI Changes for 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.ui.view.swt.DebugSWTReportConsumer"/>
+ <message_argument value="reported(AbstractReport)"/>
</message_arguments>
</filter>
</resource>
@@ -54,80 +142,76 @@
</message_arguments>
</filter>
</resource>
- <resource path="src/org/eclipse/emf/ecp/view/spi/swt/AbstractSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer">
- <filter comment="This is SPI" id="336695337">
+ <resource path="src/org/eclipse/emf/ecp/ui/view/swt/InvalidGridDescriptionReportConsumer.java" type="org.eclipse.emf.ecp.ui.view.swt.InvalidGridDescriptionReportConsumer">
+ <filter comment="SPI Changes for 1.6" id="338792546">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
- <message_argument value="getGridDescription(GridDescription)"/>
- </message_arguments>
- </filter>
- <filter comment="SPI change (1.3)" id="336695337">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
- <message_argument value="getGridDescription(SWTGridDescription)"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="336695337">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
- <message_argument value="renderControl(GridCell, Composite)"/>
- </message_arguments>
- </filter>
- <filter comment="SPI change (1.3)" id="336695337">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
- <message_argument value="renderControl(SWTGridCell, Composite)"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
- <message_argument value="applyEnable(VElement, List<RenderingResultRow<Control>>)"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
- <message_argument value="applyVisible(VElement, List<RenderingResultRow<Control>>)"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
- <message_argument value="createResult(Control[])"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
- <message_argument value="getLayoutHelper()"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
- <message_argument value="render(Composite, R, ViewModelContext)"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
- <message_argument value="renderModel(Composite, R, ViewModelContext)"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer"/>
- <message_argument value="setLayoutDataForResultRows(List<RenderingResultRow<Control>>)"/>
+ <message_argument value="org.eclipse.emf.ecp.ui.view.swt.InvalidGridDescriptionReportConsumer"/>
+ <message_argument value="reported(AbstractReport)"/>
</message_arguments>
</filter>
</resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/swt/SWTRendererFactory.java" type="org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory">
- <filter comment="This is SPI" id="337809484">
+ <filter comment="EMFForms 1.6 SPI Change" id="403804204">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory"/>
- <message_argument value="4"/>
- <message_argument value="8"/>
+ <message_argument value="getRenderer(VElement, ViewModelContext)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="405901410">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory"/>
+ <message_argument value="getRenderer(VElement, ViewModelContext)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/swt/UnknownVElementSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.swt.UnknownVElementSWTRenderer">
+ <filter comment="SPI Changes for 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.swt.UnknownVElementSWTRenderer"/>
+ <message_argument value="UnknownVElementSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.swt.UnknownVElementSWTRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/swt/layout/AbstractLayoutProvider.java" type="org.eclipse.emf.ecp.view.spi.swt.layout.AbstractLayoutProvider">
+ <filter comment="EMFForms 1.6 SPI Change" id="337682486">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.swt.layout.AbstractLayoutProvider"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.swt.layout.AbstractLayoutProvider"/>
+ <message_argument value="isMultiLine(EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/swt/layout/AbstractLayoutProvider.java" type="org.eclipse.emfforms.spi.swt.core.layout.AbstractLayoutProvider">
+ <filter comment="SPI Changes for 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emfforms.spi.swt.core.layout.AbstractLayoutProvider"/>
+ <message_argument value="isMultiLine(EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/swt/layout/LayoutProviderHelper.java" type="org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProviderHelper">
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProviderHelper"/>
+ <message_argument value="getLayoutData(SWTGridCell, SWTGridDescription, SWTGridDescription, SWTGridDescription, VElement, Control)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/swt/layout/LayoutProviderHelper.java" type="org.eclipse.emfforms.spi.swt.core.layout.LayoutProviderHelper">
+ <filter comment="SPI Changes for 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emfforms.spi.swt.core.layout.LayoutProviderHelper"/>
+ <message_argument value="getLayoutData(SWTGridCell, SWTGridDescription, SWTGridDescription, SWTGridDescription, VElement, Control)"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view.swt/META-INF/MANIFEST.MF
index 54dfb0e..b850272 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.internal.swt.Activator
Bundle-Vendor: %Bundle-Vendor
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
@@ -12,17 +12,20 @@
org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.ecp.common.ui;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)";visibility:=reexport
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.ui.view.swt;version="1.5.1",org.ec
- lipse.emf.ecp.view.internal.swt;version="1.5.1";x-friends:="org.eclip
- se.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.context.te
- st",org.eclipse.emf.ecp.view.spi.swt;version="1.5.1",org.eclipse.emf.
- ecp.view.spi.swt.layout;version="1.5.1",org.eclipse.emf.ecp.view.spi.
- swt.reporting;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.ui.view.swt;version="1.6.0",
+ org.eclipse.emf.ecp.view.internal.swt;version="1.6.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.context.test",
+ org.eclipse.emf.ecp.view.spi.swt;version="1.6.0",
+ org.eclipse.emf.ecp.view.spi.swt.layout;version="1.6.0",
+ org.eclipse.emf.ecp.view.spi.swt.reporting;version="1.6.0"
Import-Package: org.eclipse.core.commands;version="0.0.0",
- org.eclipse.emf.ecp.edit.spi.swt.util;version="1.5.1",
+ org.eclipse.emf.ecp.edit.spi.swt.util;version="1.5.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
org.eclipse.jface;version="0.0.0",
org.eclipse.jface.action;version="0.0.0",
org.eclipse.jface.dialogs;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/pom.xml b/bundles/org.eclipse.emf.ecp.ui.view.swt/pom.xml
index 0152413..e8b54ac 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/schema/additionalRenderers.exsd b/bundles/org.eclipse.emf.ecp.ui.view.swt/schema/additionalRenderers.exsd
index 7107b03..f411379 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/schema/additionalRenderers.exsd
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/schema/additionalRenderers.exsd
@@ -55,7 +55,7 @@
The class defining the renderer.
</documentation>
<appinfo>
- <meta.attribute kind="java" basedOn="org.eclipse.emf.ecp.view.spi.swt.AbstractAdditionalSWTRenderer:"/>
+ <meta.attribute kind="java" basedOn="org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer:"/>
</appinfo>
</annotation>
</attribute>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/schema/layoutProvider.exsd b/bundles/org.eclipse.emf.ecp.ui.view.swt/schema/layoutProvider.exsd
index cc06376..1652a00 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/schema/layoutProvider.exsd
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/schema/layoutProvider.exsd
@@ -55,7 +55,7 @@
</documentation>
<appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProvider"/>
+ <meta.attribute kind="java" basedOn=":org.eclipse.emfforms.spi.swt.core.layout.LayoutProvider"/>
</appinfo>
</annotation>
</attribute>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/schema/renderers.exsd b/bundles/org.eclipse.emf.ecp.ui.view.swt/schema/renderers.exsd
index 64d0375..3b0b973 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/schema/renderers.exsd
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/schema/renderers.exsd
@@ -60,7 +60,7 @@
The class defining the renderer.
</documentation>
<appinfo>
- <meta.attribute kind="java" basedOn="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer:"/>
+ <meta.attribute kind="java" basedOn="org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer:"/>
</appinfo>
</annotation>
</attribute>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DebugSWTReportConsumer.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DebugSWTReportConsumer.java
index 44f2e01..2bbe682 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DebugSWTReportConsumer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DebugSWTReportConsumer.java
@@ -11,8 +11,8 @@
******************************************************************************/
package org.eclipse.emf.ecp.ui.view.swt;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportServiceConsumer;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Display;
@@ -30,7 +30,8 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer#reported(org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport)
+ * @see org.eclipse.emfforms.spi.common.report.ReportServiceConsumer#reported(org.eclipse.emfforms.spi.common.report.AbstractReport)
+ * @since 1.6
*/
@Override
public void reported(AbstractReport reportEntity) {
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DefaultReferenceService.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DefaultReferenceService.java
index 193785f..1dfaf05 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DefaultReferenceService.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DefaultReferenceService.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -124,12 +124,39 @@
return;
}
+ if (!eReference.isContainment()) {
+ addElementToModel(newMEInstance, eObject);
+ }
+
ECPControlHelper.addModelElementInReference(eObject, newMEInstance, eReference,
editingDomain);
openInNewContext(newMEInstance);
}
/**
+ * Tries to add {@code newElement} recursively upwards starting from {@code eObject}. If no applicable
+ * {@link EObject} is found, the {@code newElement} will be added to {@code eObject}'s {@link Resource}.
+ *
+ * @param newElement
+ * The {@link EObject} which is added to the model.
+ * @param eObject
+ * The starting point from which the {@code newElement} is recursively tried to be added upwards.
+ */
+ private void addElementToModel(EObject newElement, EObject eObject) {
+ for (final EReference ref : eObject.eClass().getEAllContainments()) {
+ if (ref.getEType().isInstance(newElement)) {
+ ECPControlHelper.addModelElementInReference(eObject, newElement, ref, editingDomain);
+ return;
+ }
+ }
+ if (eObject.eContainer() != null) {
+ addElementToModel(newElement, eObject.eContainer());
+ } else {
+ eObject.eResource().getContents().add(newElement);
+ }
+ }
+
+ /**
* {@inheritDoc}
*
* @see org.eclipse.emf.ecp.edit.spi.ReferenceService#openInNewContext(org.eclipse.emf.ecore.EObject)
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/InvalidGridDescriptionReportConsumer.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/InvalidGridDescriptionReportConsumer.java
index ff042be..84dff3a 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/InvalidGridDescriptionReportConsumer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/InvalidGridDescriptionReportConsumer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -11,10 +11,9 @@
******************************************************************************/
package org.eclipse.emf.ecp.ui.view.swt;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer;
-import org.eclipse.emf.ecp.view.spi.model.util.ViewModelUtil;
import org.eclipse.emf.ecp.view.spi.swt.reporting.InvalidGridDescriptionReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportServiceConsumer;
/**
*
@@ -29,11 +28,12 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer#reported(org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport)
+ * @see org.eclipse.emfforms.spi.common.report.ReportServiceConsumer#reported(org.eclipse.emfforms.spi.common.report.AbstractReport)
+ * @since 1.6
*/
@Override
public void reported(AbstractReport reportEntity) {
- if (InvalidGridDescriptionReport.class.isInstance(reportEntity) && ViewModelUtil.isDebugMode()) {
+ if (InvalidGridDescriptionReport.class.isInstance(reportEntity)) {
// TODO: mimics existing behavior; should we rather show a dialog?
throw new IllegalStateException("Invalid number of cells, expected exactly one cell!"); //$NON-NLS-1$
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/messages.properties b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/messages.properties
deleted file mode 100644
index 30a8fb0..0000000
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/messages.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-ModelelementSelectionDialog_DialogMessage_SearchPattern=Enter model element name prefix or pattern (e.g. *Trun?)
-ModelelementSelectionDialog_DialogTitle=Search Model Element
-NewModelElementWizard_PageDescription_AddModelElement=Select model element type
-NewModelElementWizard_PageTitle_AddModelElement=Add new model element
-NewModelElementWizard_WizardTitle_AddModelElement=Add new model element
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/Activator.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/Activator.java
index ea6a067..236a6ab 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/Activator.java
@@ -16,10 +16,14 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.ecp.ui.view.swt.DebugSWTReportConsumer;
import org.eclipse.emf.ecp.ui.view.swt.InvalidGridDescriptionReportConsumer;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
import org.eclipse.emf.ecp.view.spi.model.util.ViewModelUtil;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.common.report.ReportServiceConsumer;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
/**
* The activator class controls the plug-in life cycle.
@@ -32,6 +36,10 @@
// The shared instance
private static Activator plugin;
+ private ServiceRegistration<ReportServiceConsumer> registerDebugConsumerService;
+
+ private ServiceRegistration<ReportServiceConsumer> registerInvalidGridConsumerService;
+
/**
* The constructor.
*/
@@ -46,8 +54,10 @@
public void start(BundleContext context) throws Exception {
super.start(context);
if (ViewModelUtil.isDebugMode()) {
- getReportService().addConsumer(new DebugSWTReportConsumer());
- getReportService().addConsumer(new InvalidGridDescriptionReportConsumer());
+ registerDebugConsumerService = context.registerService(ReportServiceConsumer.class,
+ new DebugSWTReportConsumer(), null);
+ registerInvalidGridConsumerService = context.registerService(ReportServiceConsumer.class,
+ new InvalidGridDescriptionReportConsumer(), null);
}
plugin = this;
}
@@ -59,6 +69,12 @@
@Override
public void stop(BundleContext context) throws Exception {
plugin = null;
+ if (registerDebugConsumerService != null) {
+ registerDebugConsumerService.unregister();
+ }
+ if (registerInvalidGridConsumerService != null) {
+ registerInvalidGridConsumerService.unregister();
+ }
super.stop(context);
}
@@ -95,4 +111,34 @@
return bundleContext.getService(serviceReference);
}
+ /**
+ * Returns the {@link EMFFormsEditSupport} service.
+ *
+ * @return The {@link EMFFormsEditSupport}
+ */
+ public EMFFormsEditSupport getEMFFormsEditSupport() {
+ final ServiceReference<EMFFormsEditSupport> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsEditSupport.class);
+
+ final EMFFormsEditSupport service = plugin.getBundle().getBundleContext().getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+ return service;
+ }
+
+ /**
+ * Returns the {@link EMFFormsRendererFactory} service.
+ *
+ * @return The {@link EMFFormsRendererFactory}
+ */
+ public EMFFormsRendererFactory getEMFFormsRendererFactory() {
+ final ServiceReference<EMFFormsRendererFactory> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsRendererFactory.class);
+
+ final EMFFormsRendererFactory service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPAdditionalRendererDescription.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPAdditionalRendererDescription.java
index 508767e..f0e05a1 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPAdditionalRendererDescription.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPAdditionalRendererDescription.java
@@ -12,8 +12,8 @@
package org.eclipse.emf.ecp.view.internal.swt;
import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractAdditionalSWTRenderer;
import org.eclipse.emf.ecp.view.spi.swt.ECPAdditionalRendererTester;
+import org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer;
/**
* A class describing a rendererClass.
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPRendererDescription.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPRendererDescription.java
index 634c05a..143a6c3 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPRendererDescription.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPRendererDescription.java
@@ -15,7 +15,7 @@
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
/**
* A class describing a rendererClass.
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPSWTViewRendererImpl.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPSWTViewRendererImpl.java
index db45849..652b5bb 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPSWTViewRendererImpl.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPSWTViewRendererImpl.java
@@ -21,16 +21,17 @@
import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
import org.eclipse.emf.ecp.view.spi.swt.reporting.InvalidGridDescriptionReport;
import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
@@ -41,13 +42,13 @@
*/
public class ECPSWTViewRendererImpl implements ECPSWTViewRenderer {
- private final SWTRendererFactory factory;
+ private final EMFFormsRendererFactory factory;
/**
* Constructor.
*/
public ECPSWTViewRendererImpl() {
- factory = createFactory();
+ factory = Activator.getDefault().getEMFFormsRendererFactory();
}
/**
@@ -82,9 +83,14 @@
*/
@Override
public ECPSWTView render(Composite parent, ViewModelContext viewModelContext) throws ECPRendererException {
- final AbstractSWTRenderer<VElement> renderer = factory.getRenderer(
- viewModelContext.getViewModel(),
- viewModelContext);
+ AbstractSWTRenderer<VElement> renderer;
+ try {
+ renderer = factory.getRendererInstance(
+ viewModelContext.getViewModel(),
+ viewModelContext);
+ } catch (final EMFFormsNoRendererException ex) {
+ throw new ECPRendererException(ex.getMessage());
+ }
final ReportService reportService = Activator.getDefault().getReportService();
@@ -128,13 +134,13 @@
return render(parent, domainObject, view);
}
- /**
- * Returns the {@link SWTRendererFactory} used to obtain any SWT renderer.
- * Clients may override.
- *
- * @return the {@link SWTRendererFactory}
- */
- protected SWTRendererFactory createFactory() {
- return new SWTRendererFactoryImpl();
- }
+ // /**
+ // * Returns the {@link SWTRendererFactory} used to obtain any SWT renderer.
+ // * Clients may override.
+ // *
+ // * @return the {@link SWTRendererFactory}
+ // */
+ // protected SWTRendererFactory createFactory() {
+ // return new SWTRendererFactoryImpl();
+ // }
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/EmptyVElementSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/EmptyVElementSWTRenderer.java
index 4b45d70..8fc6475 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/EmptyVElementSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/EmptyVElementSWTRenderer.java
@@ -14,13 +14,15 @@
import java.util.ArrayList;
import java.util.List;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -36,10 +38,12 @@
private final SWTGridDescription gridDescription;
/**
- * Default constructor.
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService teh {@link ReportService}
*/
- public EmptyVElementSWTRenderer() {
- super();
+ public EmptyVElementSWTRenderer(VElement vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
gridDescription = GridDescriptionFactory.INSTANCE.createEmptyGridDescription();
final SWTGridCell gc = new SWTGridCell(0, 0, this);
gc.setHorizontalFill(true);
@@ -54,7 +58,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -64,7 +68,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@Override
@@ -77,7 +81,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#applyEnable()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#applyEnable()
*/
@Override
protected void applyEnable() {
@@ -87,7 +91,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#applyReadOnly()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#applyReadOnly()
*/
@Override
protected void applyReadOnly() {
@@ -97,7 +101,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#applyValidation()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#applyValidation()
*/
@Override
protected void applyValidation() {
@@ -107,7 +111,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#applyVisible()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#applyVisible()
*/
@Override
protected void applyVisible() {
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/Messages.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/Messages.java
deleted file mode 100644
index ae263a6..0000000
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.swt;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @author Eugen
- * @generated
- *
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.ui.view.swt.messages"; //$NON-NLS-1$
- public static String NewModelElementWizard_WizardTitle_AddModelElement;
- public static String NewModelElementWizard_PageTitle_AddModelElement;
- public static String NewModelElementWizard_PageDescription_AddModelElement;
-
- public static String ModelelementSelectionDialog_DialogMessage_SearchPattern;
- public static String ModelelementSelectionDialog_DialogTitle;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/SWTRendererFactoryImpl.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/SWTRendererFactoryImpl.java
index 7f3a63e..bd9f373 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/SWTRendererFactoryImpl.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/SWTRendererFactoryImpl.java
@@ -11,6 +11,7 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.swt;
+import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
import java.util.LinkedHashSet;
import java.util.Set;
@@ -25,11 +26,7 @@
import org.eclipse.emf.ecp.view.model.common.ECPStaticRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
import org.eclipse.emf.ecp.view.spi.model.util.ViewModelUtil;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractAdditionalSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
import org.eclipse.emf.ecp.view.spi.swt.ECPAdditionalRendererTester;
import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
import org.eclipse.emf.ecp.view.spi.swt.UnknownVElementSWTRenderer;
@@ -37,12 +34,17 @@
import org.eclipse.emf.ecp.view.spi.swt.reporting.ECPRendererDescriptionInitFailedReport;
import org.eclipse.emf.ecp.view.spi.swt.reporting.NoRendererFoundReport;
import org.eclipse.emf.ecp.view.spi.swt.reporting.RendererInitFailedReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
import org.osgi.framework.Bundle;
/**
* @author Eugen
*
*/
+@Deprecated
public class SWTRendererFactoryImpl implements SWTRendererFactory {
private static final String TEST_DYNAMIC = "dynamicTest";//$NON-NLS-1$
@@ -59,14 +61,12 @@
/**
* A description of all available renderers.
*/
- private final Set<ECPRendererDescription> rendererDescriptors =
- new LinkedHashSet<ECPRendererDescription>();
+ private final Set<ECPRendererDescription> rendererDescriptors = new LinkedHashSet<ECPRendererDescription>();
/**
* A description of all additionally available renderers.
*/
- private final Set<ECPAdditionalRendererDescription> additionalRendererDescriptors =
- new LinkedHashSet<ECPAdditionalRendererDescription>();
+ private final Set<ECPAdditionalRendererDescription> additionalRendererDescriptors = new LinkedHashSet<ECPAdditionalRendererDescription>();
/**
* Default constructor for the renderer factory.
@@ -104,14 +104,13 @@
try {
final Class<AbstractSWTRenderer<VElement>> renderer = loadClass(configurationElement
.getContributor().getName(), configurationElement
- .getAttribute("renderer")); //$NON-NLS-1$
+ .getAttribute("renderer")); //$NON-NLS-1$
final Set<ECPRendererTester> tester = new LinkedHashSet<ECPRendererTester>();
for (final IConfigurationElement testerExtension : configurationElement.getChildren()) {
if (TEST_DYNAMIC.equals(testerExtension.getName())) {
tester.add((ECPRendererTester) testerExtension.createExecutableExtension(RENDERER_TESTER));
- }
- else if (TEST_STATIC.equals(testerExtension.getName())) {
+ } else if (TEST_STATIC.equals(testerExtension.getName())) {
final int priority = Integer.parseInt(testerExtension.getAttribute(TESTER_PRIORITY));
@@ -148,7 +147,7 @@
try {
final Class<AbstractAdditionalSWTRenderer<VElement>> renderer = loadClass(configurationElement
.getContributor().getName(), configurationElement
- .getAttribute("renderer")); //$NON-NLS-1$
+ .getAttribute("renderer")); //$NON-NLS-1$
final ECPAdditionalRendererTester tester = (ECPAdditionalRendererTester) configurationElement
.createExecutableExtension("tester"); //$NON-NLS-1$
// final Set<ECPAdditionalRendererTester> tester = new LinkedHashSet<ECPAdditionalRendererTester>();
@@ -208,9 +207,8 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory#getRenderer(org.eclipse.emf.ecp.view.spi.model.VElement,
- * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
- */
+ * @see SWTRendererFactory#getRenderer(VElement, ViewModelContext)
+ **/
@Override
public AbstractSWTRenderer<VElement> getRenderer(VElement vElement, ViewModelContext viewContext) {
@@ -240,12 +238,11 @@
if (currentPriority > highestPriority) {
highestPriority = currentPriority;
- try {
- bestCandidate = description.getRenderer().newInstance();
- } catch (final InstantiationException ex) {
- reportService.report(new RendererInitFailedReport(ex));
- } catch (final IllegalAccessException ex) {
- reportService.report(new RendererInitFailedReport(ex));
+ final AbstractSWTRenderer<VElement> renderer = createRenderer(vElement, viewContext, reportService,
+ description.getRenderer());
+ if (renderer != null) {
+ bestCandidate = renderer;
+
}
}
}
@@ -253,22 +250,46 @@
if (bestCandidate == null) {
reportService.report(new NoRendererFoundReport(vElement));
if (ViewModelUtil.isDebugMode()) {
- bestCandidate = new UnknownVElementSWTRenderer();
+ bestCandidate = new UnknownVElementSWTRenderer(vElement, viewContext, reportService);
} else {
- bestCandidate = new EmptyVElementSWTRenderer();
+ bestCandidate = new EmptyVElementSWTRenderer(vElement, viewContext, reportService);
}
}
- bestCandidate.init(vElement, viewContext);
+ bestCandidate.init();
return bestCandidate;
}
+ private AbstractSWTRenderer<VElement> createRenderer(VElement vElement, ViewModelContext viewContext,
+ final ReportService reportService,
+ final Class<? extends AbstractSWTRenderer<VElement>> rendererClass) {
+ try {
+ return rendererClass
+ .getConstructor(vElement.getClass().getInterfaces()[0], ViewModelContext.class)
+ .newInstance(vElement, viewContext);
+ } catch (final InstantiationException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ } catch (final IllegalAccessException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ } catch (final IllegalArgumentException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ } catch (final InvocationTargetException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ } catch (final NoSuchMethodException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ } catch (final SecurityException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ }
+ // TODO: Throw Exception
+ return null;
+ }
+
/**
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory#getAdditionalRenderer(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * @see SWTRendererFactory#getAdditionalRenderer(org.eclipse.emf.ecp.view.spi.model.VElement,
* org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
*/
@Override
@@ -276,25 +297,18 @@
ViewModelContext viewModelContext) {
final ReportService reportService = Activator.getDefault().getReportService();
- final Set<AbstractAdditionalSWTRenderer<VElement>> renderers =
- new LinkedHashSet<AbstractAdditionalSWTRenderer<VElement>>();
+ final Set<AbstractAdditionalSWTRenderer<VElement>> renderers = new LinkedHashSet<AbstractAdditionalSWTRenderer<VElement>>();
for (final ECPAdditionalRendererDescription description : additionalRendererDescriptors) {
final ECPAdditionalRendererTester tester = description.getTester();
if (tester.isApplicable(vElement, viewModelContext)) {
- try {
- final AbstractAdditionalSWTRenderer<VElement> renderer = description.getRenderer()
- .newInstance();
- renderer.init(vElement, viewModelContext);
- renderers.add(renderer);
- continue;
- } catch (final InstantiationException ex) {
- reportService.report(new RendererInitFailedReport(ex));
- continue;
- } catch (final IllegalAccessException ex) {
- reportService.report(new RendererInitFailedReport(ex));
+ final AbstractSWTRenderer<VElement> renderer = createRenderer(vElement, viewModelContext,
+ reportService, description.getRenderer());
+ if (renderer == null) {
continue;
}
+ renderer.init();
+ renderers.add((AbstractAdditionalSWTRenderer<VElement>) renderer);
}
}
return renderers;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/AbstractAdditionalSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/AbstractAdditionalSWTRenderer.java
deleted file mode 100644
index de0bb9f..0000000
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/AbstractAdditionalSWTRenderer.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.spi.swt;
-
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-
-/**
- * The renderer for additional controls.
- *
- * @author Eugen Neufeld
- * @param <VELEMENT> the {@link VElement} this renderer is valid for
- * @since 1.3
- */
-public abstract class AbstractAdditionalSWTRenderer<VELEMENT extends VElement> extends AbstractSWTRenderer<VELEMENT> {
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/AbstractSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/AbstractSWTRenderer.java
deleted file mode 100644
index a50e5a3..0000000
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/AbstractSWTRenderer.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Edagr Mueller - initial API and implementation
- * Eugen Neufeld - Refactoring
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.spi.swt;
-
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.eclipse.emf.ecp.view.internal.swt.SWTRendererFactoryImpl;
-import org.eclipse.emf.ecp.view.model.common.AbstractRenderer;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.model.ModelChangeListener;
-import org.eclipse.emf.ecp.view.spi.model.ModelChangeNotification;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
-import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
-import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProviderHelper;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Common base class for all SWT specific renderer classes. {@link #init(VElement, ViewModelContext)} is called by the
- * framework when providing the renderer. You don't need to call this.
- *
- * A renderer using other renderers to render its contents must call this methods in this order:
- *
- * <pre>
- * {@link #getGridDescription(SWTGridDescription)}
- * for each SWTGridCell
- * {@link #render(SWTGridCell, Composite)}
- * {@link #finalizeRendering(Composite)}
- * </pre>
- *
- * If you don't call {@link #finalizeRendering(Composite)} after the rendering, the automatic disposing of the renderer
- * will not work, as well as the initial validation check.
- *
- * @author Eugen Neufeld
- *
- * @param <VELEMENT> the actual type of the {@link VElement} to be drawn
- * @since 1.2
- */
-public abstract class AbstractSWTRenderer<VELEMENT extends VElement> extends AbstractRenderer<VELEMENT> {
-
- /**
- * Variant constant for indicating RAP controls.
- */
- protected static final String CUSTOM_VARIANT = "org.eclipse.rap.rwt.customVariant"; //$NON-NLS-1$
- private ModelChangeListener listener;
- private Map<SWTGridCell, Control> controls;
- private SWTRendererFactory rendererFactory;
- private boolean renderingFinished;
-
- /**
- * Default constructor.
- */
- public AbstractSWTRenderer() {
- this(new SWTRendererFactoryImpl());
- }
-
- /**
- * Constructor for testing purpose.
- *
- * @param factory the factory to use
- * @since 1.3
- */
- protected AbstractSWTRenderer(SWTRendererFactory factory) {
- this.rendererFactory = factory;
- }
-
- /**
- * Returns the GridDescription for this Renderer.
- *
- * @param gridDescription the current {@link SWTGridDescription}
- * @return the number of controls per row
- * @since 1.3
- */
- public abstract SWTGridDescription getGridDescription(SWTGridDescription gridDescription);
-
- /**
- *
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.model.common.AbstractRenderer#init(org.eclipse.emf.ecp.view.spi.model.VElement,
- * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
- * @since 1.3
- */
- @Override
- public final void init(final VELEMENT vElement, final ViewModelContext viewContext) {
- super.init(vElement, viewContext);
- preInit();
- controls = new LinkedHashMap<SWTGridCell, Control>();
- if (getViewModelContext() != null) {
- listener = new ModelChangeListener() {
-
- @Override
- public void notifyChange(ModelChangeNotification notification) {
- if (!renderingFinished) {
- return;
- }
- if (notification.getRawNotification().isTouch()) {
- return;
- }
- if (notification.getNotifier() != getVElement()) {
- return;
- }
- if (notification.getStructuralFeature() == VViewPackage.eINSTANCE.getElement_Visible()) {
- applyVisible();
- }
- if (notification.getStructuralFeature() == VViewPackage.eINSTANCE.getElement_Enabled()
- && !vElement.isReadonly()) {
- applyEnable();
- }
- if (notification.getStructuralFeature() == VViewPackage.eINSTANCE
- .getElement_Diagnostic()) {
- applyValidation();
- }
- }
-
- };
- getViewModelContext().registerViewChangeListener(listener);
- }
- getViewModelContext().addContextUser(this);
-
- postInit();
- }
-
- /**
- * Returns a copy of the {@link GridCell} to {@link Control} map.
- *
- * @return a copy of the controls map
- * @since 1.3
- */
- protected final Map<SWTGridCell, Control> getControls() {
- if (controls == null) {
- return Collections.emptyMap();
- }
- return new LinkedHashMap<SWTGridCell, Control>(controls);
- }
-
- /**
- * Use this method to initialize objects which are needed already before rendering.
- *
- * @since 1.3
- */
- protected void preInit() {
-
- }
-
- /**
- * Use this method to initialize objects which are needed during rendering.
- *
- * @since 1.3
- */
- protected void postInit() {
-
- }
-
- /**
- * Disposes all resources used by the renderer.
- * Don't forget to call super.dispose if overwriting this method.
- *
- * @since 1.3
- */
- @Override
- protected void dispose() {
- if (getViewModelContext() != null) {
- getViewModelContext().unregisterViewChangeListener(listener);
- }
- listener = null;
- controls = null;
- getViewModelContext().removeContextUser(this);
-
- super.dispose();
- }
-
- /**
- * Renders the passed {@link VElement}.
- *
- * @param cell the {@link SWTGridCell} of the control to render
- * @param parent the {@link Composite} to render on
- * @return the rendered {@link Control}
- * @throws NoRendererFoundException this is thrown when a renderer cannot be found
- * @throws NoPropertyDescriptorFoundExeption this is thrown when no property descriptor can be found
- * @since 1.3
- */
- public Control render(final SWTGridCell cell, Composite parent)
- throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
-
- Control control = controls.get(cell);
- if (control != null) {
- return control;
- }
-
- control = renderControl(cell, parent);
- if (control == null) {
- // something went wrong, log
- return null;
- }
- controls.put(cell, control);
-
- // register dispose listener to rerender if disposed
- control.addDisposeListener(new DisposeListener() {
-
- @Override
- public void widgetDisposed(DisposeEvent e) {
- if (controls != null) {
- controls.remove(cell);
- }
- }
- });
-
- return control;
- }
-
- /**
- * Called by the framework to initialize listener.
- *
- * @param parent the parent used during render
- * @since 1.3
- */
- public void finalizeRendering(Composite parent) {
- if (renderingFinished) {
- return;
- }
- renderingFinished = true;
- applyVisible();
- applyReadOnly();
- if (!getVElement().isReadonly()) {
- applyEnable();
- }
- applyValidation();
- parent.addDisposeListener(new DisposeListener() {
-
- @Override
- public void widgetDisposed(DisposeEvent event) {
- dispose();
- }
- });
- }
-
- /**
- * Renders the passed {@link VElement}.
- *
- * @param cell the {@link GridCell} of the control to render
- * @param parent the {@link Composite} to render on
- * @return the rendered {@link Control}
- * @throws NoRendererFoundException this is thrown when a renderer cannot be found
- * @throws NoPropertyDescriptorFoundExeption this is thrown when no property descriptor can be found
- * @since 1.3
- */
- protected abstract Control renderControl(final SWTGridCell cell, Composite parent) throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption;
-
- /**
- * Marks a controls as readonly.
- *
- * @since 1.3
- *
- */
- protected void applyReadOnly() {
- for (final SWTGridCell gridCell : controls.keySet()) {
- setControlEnabled(gridCell, controls.get(gridCell), !getVElement().isReadonly());
- }
- }
-
- /**
- * Allows implementers to set a control to enabled.
- *
- * @since 1.3
- *
- */
- protected void applyEnable() {
- for (final SWTGridCell gridCell : controls.keySet()) {
- setControlEnabled(gridCell, controls.get(gridCell), getVElement().isEnabled());
- }
- }
-
- /**
- * Wraps the call to enable/disable a control.
- *
- * @param gridCell the {@link SWTGridCell} to enable/disable
- * @param control the {@link Control} to enable/disable
- * @param enabled true if control should be enabled, false otherwise
- * @since 1.3
- */
- protected void setControlEnabled(SWTGridCell gridCell, Control control, boolean enabled) {
- control.setEnabled(enabled);
- }
-
- /**
- * Allows implementers to check and set the visibility on the whole result row.
- *
- * @since 1.3
- *
- */
- protected void applyVisible() {
- final boolean visible = getVElement().isVisible();
- for (final SWTGridCell gridCell : controls.keySet()) {
- final Object layoutData = controls.get(gridCell).getLayoutData();
- if (GridData.class.isInstance(layoutData)) {
- final GridData gridData = (GridData) layoutData;
- if (gridData != null) {
- gridData.exclude = !visible;
- }
- }
- controls.get(gridCell).setVisible(visible);
- controls.get(gridCell).getParent().layout(false);
- }
- }
-
- /**
- * Allows implementers to display the validation state of the control.
- * The default implementation does nothing.
- *
- * @since 1.3
- */
- protected void applyValidation() {
-
- }
-
- /**
- * Sets the LayoutData for the specified control.
- *
- * @param gridCell the {@link GridCell} used to render the control
- * @param gridDescription the {@link GridDescription} of the parent which rendered the control
- * @param currentRowGridDescription the {@link GridDescription} of the current row
- * @param fullGridDescription the {@link GridDescription} of the whole container
- * @param vElement the {@link VElement} to set the layoutData for
- * @param control the control to set the layout to
- * @since 1.3
- */
- protected void setLayoutDataForControl(SWTGridCell gridCell, SWTGridDescription gridDescription,
- SWTGridDescription currentRowGridDescription, SWTGridDescription fullGridDescription, VElement vElement,
- Control control) {
-
- control.setLayoutData(LayoutProviderHelper.getLayoutData(gridCell, gridDescription, currentRowGridDescription,
- fullGridDescription,
- vElement, control));
-
- }
-
- /**
- * @return String the default font name on the system.
- *
- * @since 1.5
- */
- protected String getDefaultFontName(Control control) {
- return control.getDisplay().getSystemFont().getFontData()[0].getName();
- }
-
- /**
- * The {@link SWTRendererFactory} to use.
- *
- * @return the {@link SWTRendererFactory}
- * @since 1.3
- */
- protected final SWTRendererFactory getSWTRendererFactory() {
- return rendererFactory;
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/SWTRendererFactory.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/SWTRendererFactory.java
index 2e0e371..787b4b4 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/SWTRendererFactory.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/SWTRendererFactory.java
@@ -16,6 +16,8 @@
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
/**
* A RendererFactory for SWT controls.
@@ -24,6 +26,7 @@
* @since 1.2
*
*/
+@Deprecated
public interface SWTRendererFactory {
/**
@@ -32,6 +35,7 @@
* @param viewContext the {@link ViewModelContext} to use
* @param vElement the {@link VElement} to render
* @return the list for {@link AbstractSWTRenderer} the fitting render or null
+ * @since 1.6
*/
AbstractSWTRenderer<VElement> getRenderer(VElement vElement, ViewModelContext viewContext);
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/UnknownVElementSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/UnknownVElementSWTRenderer.java
index 76f9a38..dc2518e 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/UnknownVElementSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/UnknownVElementSWTRenderer.java
@@ -14,12 +14,15 @@
import java.util.ArrayList;
import java.util.List;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
@@ -40,9 +43,14 @@
/**
* Default constructor.
+ *
+ * @since 1.6
+ * @param vElement The {@link VElement}
+ * @param viewContext The {@link ViewModelContext}
+ * @param reportService The {@link ReportService}
*/
- public UnknownVElementSWTRenderer() {
- super();
+ public UnknownVElementSWTRenderer(VElement vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
gridDescription = GridDescriptionFactory.INSTANCE.createEmptyGridDescription();
final SWTGridCell gc = new SWTGridCell(0, 0, this);
gc.setHorizontalFill(true);
@@ -57,7 +65,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -67,7 +75,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@Override
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/AbstractLayoutProvider.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/AbstractLayoutProvider.java
index ad31af4..e43ce42 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/AbstractLayoutProvider.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/AbstractLayoutProvider.java
@@ -11,12 +11,10 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.swt.layout;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.internal.swt.Activator;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emfforms.spi.swt.core.layout.LayoutProvider;
/**
* Abstract implementation of a {@link LayoutProvider} which contributes helper methods.
@@ -30,22 +28,13 @@
/**
* Checks whether a setting is set to multiline.
*
- * @param setting the {@link Setting} to check
+ * @param domainModelReference the {@link VDomainModelReference} pointing to the feature to check
+ * @param domainModel the root {@link EObject} of the domain model reference
* @return true if multiline, false otherwise
+ * @since 1.6
*/
- protected static boolean isMultiLine(Setting setting) {
- final ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
- new ReflectiveItemProviderAdapterFactory(),
- new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
- final AdapterFactoryItemDelegator adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(
- composedAdapterFactory);
- final IItemPropertyDescriptor descriptor = adapterFactoryItemDelegator.getPropertyDescriptor(
- setting.getEObject(), setting.getEStructuralFeature());
- final boolean multiline = descriptor.isMultiLine(null);
-
- composedAdapterFactory.dispose();
-
- return multiline;
+ protected static boolean isMultiLine(VDomainModelReference domainModelReference, EObject domainModel) {
+ return Activator.getDefault().getEMFFormsEditSupport().isMultiLine(domainModelReference, domainModel);
}
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/GridDescriptionFactory.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/GridDescriptionFactory.java
deleted file mode 100644
index fd8d263..0000000
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/GridDescriptionFactory.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.spi.swt.layout;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-
-/**
- * A Factory to create {@link SWTGridDescription GridDescriptions}.
- *
- * @author Eugen Neufeld
- * @since 1.3
- *
- */
-public final class GridDescriptionFactory {
-
- /**
- * The static Instance of the Factory.
- */
- public static final GridDescriptionFactory INSTANCE = new GridDescriptionFactory();
-
- private GridDescriptionFactory() {
-
- }
-
- /**
- * Creates an empty grid description.
- *
- * @return the {@link SWTGridDescription}
- */
- public SWTGridDescription createEmptyGridDescription() {
- return new SWTGridDescription();
- }
-
- /**
- * Creates a simple grid based on the number of rows and columns provided.
- *
- * @param rows the number of rows in this grid
- * @param columns the number of columns in this grid
- * @param renderer the {@link AbstractSWTRenderer}
- * @return the {@link SWTGridDescription}
- */
- public SWTGridDescription createSimpleGrid(int rows, int columns, AbstractSWTRenderer<? extends VElement> renderer) {
- final List<SWTGridCell> gridCells = new ArrayList<SWTGridCell>(rows * columns);
- for (int row = 0; row < rows; row++) {
- for (int column = 0; column < columns; column++) {
- gridCells.add(new SWTGridCell(row, column, renderer));
- }
- }
- return new SWTGridDescription(rows, columns, gridCells);
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/LayoutProvider.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/LayoutProvider.java
deleted file mode 100644
index 2f84bef..0000000
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/LayoutProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.spi.swt.layout;
-
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-
-/**
- * By providing an own implementation, the layout of the application can be influenced.
- *
- * @author Eugen Neufeld
- * @since 1.3
- */
-public interface LayoutProvider {
-
- /**
- * The Layout for aligning controls vertically in columns.
- *
- * @param numColumns the number of columns to create
- * @param equalWidth whether the columns should be equal width
- * @return the layout to use
- */
- Layout getColumnLayout(int numColumns, boolean equalWidth);
-
- /**
- * The LayoutData to use.
- *
- * @param gridCell the current {@link SWTGridCell}
- * @param controlGridDescription the {@link SWTGridDescription} of the rendered {@link VElement}
- * @param currentRowGridDescription the {@link SWTGridDescription} of the current row
- * @param fullGridDescription the {@link SWTGridDescription} of the whole container
- * @param vElement the {@link VElement} which is currently rendered
- * @param control the rendered {@link Control}
- * @return the Object being the layout data to set
- */
- Object getLayoutData(SWTGridCell gridCell, SWTGridDescription controlGridDescription,
- SWTGridDescription currentRowGridDescription, SWTGridDescription fullGridDescription, VElement vElement,
- Control control);
-
- /**
- * A simple spanning Layout.
- *
- * @param spanX the horizontal span
- * @param spanY the vertical span
- * @return the created Layout Data
- */
- Object getSpanningLayoutData(int spanX, int spanY);
-}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/LayoutProviderHelper.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/LayoutProviderHelper.java
index 7cd0857..8dae2fd 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/LayoutProviderHelper.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/LayoutProviderHelper.java
@@ -17,9 +17,14 @@
import java.util.List;
import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionRegistry;
import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecp.view.internal.swt.Activator;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.layout.LayoutProvider;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Layout;
import org.osgi.framework.Bundle;
@@ -50,9 +55,11 @@
}
private static void readLayoutProviders() {
- final IConfigurationElement[] controls = Platform.getExtensionRegistry()
- .getConfigurationElementsFor(
- EXTENSION_POINT_ID);
+ final IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
+ if (extensionRegistry == null) {
+ return;
+ }
+ final IConfigurationElement[] controls = extensionRegistry.getConfigurationElementsFor(EXTENSION_POINT_ID);
for (final IConfigurationElement e : controls) {
try {
final String clazz = e.getAttribute(CLASS);
@@ -118,16 +125,17 @@
* @param currentRowGridDescription the {@link GridDescription} of the current row
* @param fullGridDescription the {@link GridDescription} of the whole container
* @param vElement the {@link VElement} which is currently rendered
+ * @param domainModel The domain model object whose feature is currently rendered
* @param control the rendered {@link Control}
* @return the Object being the layout data to set
+ * @since 1.6
*/
public static Object getLayoutData(SWTGridCell gridCell, SWTGridDescription controlGridDescription,
SWTGridDescription currentRowGridDescription, SWTGridDescription fullGridDescription, VElement vElement,
- Control control) {
+ EObject domainModel, Control control) {
checkProviderLength();
return getLayoutProvider().get(0).getLayoutData(gridCell, controlGridDescription, currentRowGridDescription,
- fullGridDescription,
- vElement, control);
+ fullGridDescription, vElement, domainModel, control);
}
private static void checkProviderLength() {
@@ -154,4 +162,14 @@
checkProviderLength();
return getLayoutProvider().get(0).getSpanningLayoutData(spanX, spanY);
}
+
+ /**
+ * Allows to add a {@link LayoutProvider} directly.
+ *
+ * @param layoutProvider The {@link LayoutProvider}
+ * @since 1.6
+ */
+ public static void addLayoutProvider(LayoutProvider layoutProvider) {
+ layoutProviders.add(layoutProvider);
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/SWTGridCell.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/SWTGridCell.java
deleted file mode 100644
index aa2622c..0000000
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/SWTGridCell.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.spi.swt.layout;
-
-import org.eclipse.emf.ecp.view.model.common.AbstractGridCell;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-
-/**
- * A {@link SWTGridCell} has a row, a column and a renderer it is rendered by.
- *
- * @author Eugen Neufeld
- * @since 1.3
- *
- */
-public class SWTGridCell extends AbstractGridCell<AbstractSWTRenderer<?>> {
-
- /**
- * Default constructor to create a grid cell.
- *
- * @param row the row of the cell
- * @param column the column of the cell
- * @param renderer the {@link AbstractSWTRenderer} that renderes the cell
- */
- public SWTGridCell(int row, int column, AbstractSWTRenderer<? extends VElement> renderer) {
- super(row, column, renderer);
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/SWTGridDescription.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/SWTGridDescription.java
deleted file mode 100644
index 2322be4..0000000
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/SWTGridDescription.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.spi.swt.layout;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.ecp.view.model.common.AbstractGridDescription;
-
-/**
- * A {@link SWTGridDescription} describes the grid of the renderer using a list of {@link SWTGridCell GridCells} and the
- * number of rows and columns it has.
- *
- * Use the {@link GridDescriptionFactory} to create {@link SWTGridDescription GridDescriptions}.
- *
- * @author Eugen Neufeld
- * @since 1.3
- *
- */
-public class SWTGridDescription extends AbstractGridDescription<SWTGridCell> {
-
- /**
- * Creating an empty grid.
- */
- public SWTGridDescription() {
-
- }
-
- /**
- * Creating a filled grid.
- *
- * @param rows number of rows in this description
- * @param columns number of columns in this description
- * @param grid the List of {@link SWTGridCell GridCells} describing the grid
- */
- public SWTGridDescription(int rows, int columns, List<SWTGridCell> grid) {
- super(rows, columns, grid);
- }
-
- /**
- * Creates a copy of the grid.
- *
- * @return a copy of the grid
- */
- public SWTGridDescription copy() {
- final SWTGridDescription gd = new SWTGridDescription(getRows(), getColumns(), new ArrayList<SWTGridCell>(
- getGrid()));
- return gd;
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/AmbiguousRendererPriorityReport.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/AmbiguousRendererPriorityReport.java
index 16dc18a..04efc86 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/AmbiguousRendererPriorityReport.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/AmbiguousRendererPriorityReport.java
@@ -13,7 +13,7 @@
import java.text.MessageFormat;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
/**
* An error that indicates that two renderers with the same priority have been found.
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/CustomControlInitFailedReport.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/CustomControlInitFailedReport.java
index dbcee27..65f6be8 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/CustomControlInitFailedReport.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/CustomControlInitFailedReport.java
@@ -11,7 +11,7 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.swt.reporting;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
/**
* Indicates that the initialization of a custom control failed.
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/ECPRendererDescriptionInitFailedReport.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/ECPRendererDescriptionInitFailedReport.java
index 6702843..c9c831d 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/ECPRendererDescriptionInitFailedReport.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/ECPRendererDescriptionInitFailedReport.java
@@ -13,7 +13,7 @@
import java.text.MessageFormat;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
/**
* Indicates that an {@link org.eclipse.emf.ecp.view.internal.swt.ECPRendererDescription ECPRendererDescription} could
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/InvalidGridDescriptionReport.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/InvalidGridDescriptionReport.java
index 11cd323..a29520a 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/InvalidGridDescriptionReport.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/InvalidGridDescriptionReport.java
@@ -11,7 +11,7 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.swt.reporting;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
/**
* Indicates that a renderer returned an invalid grid description.
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/NoRendererFoundReport.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/NoRendererFoundReport.java
index 7cf8303..dab817c 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/NoRendererFoundReport.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/NoRendererFoundReport.java
@@ -14,7 +14,7 @@
import java.text.MessageFormat;
import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
/**
* Indicates that no renderer has been found.
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/RendererInitFailedReport.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/RendererInitFailedReport.java
index e3ea3be..2c312b1 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/RendererInitFailedReport.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/RendererInitFailedReport.java
@@ -13,7 +13,7 @@
import java.text.MessageFormat;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
/**
* An error report that indicates that an renderer failed during its initialization.
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/RenderingFailedReport.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/RenderingFailedReport.java
index d5c4b20..db6474d 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/RenderingFailedReport.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/reporting/RenderingFailedReport.java
@@ -13,7 +13,7 @@
import java.text.MessageFormat;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
/**
* Indicates that rendering is not possible due to an exception.
diff --git a/bundles/org.eclipse.emf.ecp.ui.view/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.ui.view/.settings/.api_filters
index d0dbd32..48d5dec 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.ui.view/.settings/.api_filters
@@ -13,10 +13,10 @@
<message_argument value="1.3.0"/>
</message_arguments>
</filter>
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Changes for 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.context"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
</message_arguments>
</filter>
</resource>
@@ -28,6 +28,30 @@
</message_arguments>
</filter>
</resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Changes for 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.ui.view_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Changes for 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.ui.view_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Changes for 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.ui.view_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/provider/IViewProvider.java" type="org.eclipse.emf.ecp.view.spi.provider.IViewProvider">
<filter comment="SPI Change (1.4)" id="403804204">
<message_arguments>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view/META-INF/MANIFEST.MF
index 70ffcd6..165fb20 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: MPI UI View
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.internal.ui.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
@@ -10,11 +10,12 @@
org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.ui.view;version="1.5.1",org.eclips
- e.emf.ecp.view.internal.provider;version="1.5.1";x-friends:="org.ecli
+Export-Package: org.eclipse.emf.ecp.ui.view;version="1.6.0",org.eclips
+ e.emf.ecp.view.internal.provider;version="1.6.0";x-friends:="org.ecli
pse.emf.ecp.view.context.test",org.eclipse.emf.ecp.view.internal.ui;v
- ersion="1.5.1";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt",org
- .eclipse.emf.ecp.view.spi.provider;version="1.5.1",org.eclipse.emf.ec
- p.view.spi.provider.reporting;version="1.5.1",org.eclipse.emf.ecp.vie
- w.spi.renderer;version="1.5.1"
+ ersion="1.6.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt",org
+ .eclipse.emf.ecp.view.spi.provider;version="1.6.0",org.eclipse.emf.ec
+ p.view.spi.provider.reporting;version="1.6.0",org.eclipse.emf.ecp.vie
+ w.spi.renderer;version="1.6.0"
Bundle-Vendor: Eclipse Modeling Project
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.ui.view/pom.xml b/bundles/org.eclipse.emf.ecp.ui.view/pom.xml
index b9ed8d4..704f1c8 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/internal/provider/ViewProviderImpl.java b/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/internal/provider/ViewProviderImpl.java
index edc1462..36d4632 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/internal/provider/ViewProviderImpl.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/internal/provider/ViewProviderImpl.java
@@ -24,11 +24,11 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecp.view.internal.ui.Activator;
import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
import org.eclipse.emf.ecp.view.spi.provider.IViewProvider;
import org.eclipse.emf.ecp.view.spi.provider.reporting.NoViewProviderFoundReport;
import org.eclipse.emf.ecp.view.spi.provider.reporting.ViewModelIsNullReport;
import org.eclipse.emf.ecp.view.spi.provider.reporting.ViewProviderInitFailedReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
import org.osgi.framework.Bundle;
/**
diff --git a/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/internal/ui/Activator.java b/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/internal/ui/Activator.java
index ad627e3..b47758b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/internal/ui/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/internal/ui/Activator.java
@@ -15,7 +15,7 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
+import org.eclipse.emfforms.spi.common.report.ReportService;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/ECPTooltipModifierHelper.java b/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/ECPTooltipModifierHelper.java
index f94ee36..61649e9 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/ECPTooltipModifierHelper.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/ECPTooltipModifierHelper.java
@@ -17,6 +17,7 @@
import java.util.Set;
import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionRegistry;
import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.view.internal.ui.Activator;
@@ -47,9 +48,13 @@
}
private static void readStringModifiers() {
- final IConfigurationElement[] controls = Platform.getExtensionRegistry()
+ final IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
+ if (extensionRegistry == null) {
+ return;
+ }
+ final IConfigurationElement[] controls = extensionRegistry
.getConfigurationElementsFor(
- EXTENSION_POINT_ID);
+ EXTENSION_POINT_ID);
for (final IConfigurationElement e : controls) {
try {
final String clazz = e.getAttribute(CLASS);
diff --git a/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/reporting/NoViewProviderFoundReport.java b/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/reporting/NoViewProviderFoundReport.java
index 6134add..c7b1d93 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/reporting/NoViewProviderFoundReport.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/reporting/NoViewProviderFoundReport.java
@@ -11,7 +11,7 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.provider.reporting;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
/**
* Indicates that no view provider could be obtained.
diff --git a/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/reporting/ViewModelIsNullReport.java b/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/reporting/ViewModelIsNullReport.java
index e6f2010..e6a9bbd 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/reporting/ViewModelIsNullReport.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/reporting/ViewModelIsNullReport.java
@@ -11,7 +11,7 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.provider.reporting;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
/**
* Indicates that a {@link org.eclipse.emf.ecp.view.spi.provider.IViewProvider IViewProvider} has returned {@code null}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/reporting/ViewProviderInitFailedReport.java b/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/reporting/ViewProviderInitFailedReport.java
index 9218aad..c87b215 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/reporting/ViewProviderInitFailedReport.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view/src/org/eclipse/emf/ecp/view/spi/provider/reporting/ViewProviderInitFailedReport.java
@@ -13,7 +13,7 @@
import java.text.MessageFormat;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
/**
* Indicates that a ViewProvider could not be instantiated.
@@ -38,7 +38,7 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport#getMessage()
+ * @see org.eclipse.emfforms.spi.common.report.AbstractReport#getMessage()
*/
@Override
public String getMessage() {
diff --git a/bundles/org.eclipse.emf.ecp.ui/.gitignore b/bundles/org.eclipse.emf.ecp.ui/.gitignore
index 934e0e0..bf56436 100644
--- a/bundles/org.eclipse.emf.ecp.ui/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.ui/.gitignore
@@ -1,2 +1,3 @@
/bin
/target
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui/META-INF/MANIFEST.MF
index 9a4f8b9..95e59bb 100644
--- a/bundles/org.eclipse.emf.ecp.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP UI
Bundle-SymbolicName: org.eclipse.emf.ecp.ui;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.internal.ui.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.core;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
@@ -13,33 +13,33 @@
org.eclipse.emf.ecp.common.ui;bundle-version="[1.5.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.internal.ui;version="1.5.1";x-frie
+Export-Package: org.eclipse.emf.ecp.internal.ui;version="1.6.0";x-frie
nds:="org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.ed
it.ecore.swt,org.eclipse.emf.ecp.emfstore.ui",org.eclipse.emf.ecp.int
- ernal.ui.composites;version="1.5.1";x-internal:=true,org.eclipse.emf.
- ecp.internal.ui.dialogs;version="1.5.1";x-friends:="org.eclipse.emf.e
+ ernal.ui.composites;version="1.6.0";x-internal:=true,org.eclipse.emf.
+ ecp.internal.ui.dialogs;version="1.6.0";x-friends:="org.eclipse.emf.e
cp.explorereditorbridge",org.eclipse.emf.ecp.internal.ui.model;versio
- n="1.5.1";x-friends:="org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.u
+ n="1.6.0";x-friends:="org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.u
i.e3,org.eclipse.emf.ecp.ui.transaction",org.eclipse.emf.ecp.internal
- .ui.tester;version="1.5.1",org.eclipse.emf.ecp.internal.ui.util;versi
- on="1.5.1"; x-friends:="org.eclipse.emf.ecp.explorereditorbridge, or
+ .ui.tester;version="1.6.0",org.eclipse.emf.ecp.internal.ui.util;versi
+ on="1.6.0"; x-friends:="org.eclipse.emf.ecp.explorereditorbridge, or
g.eclipse.emf.ecp.ui.e3, org.eclipse.emf.ecp.ui.e4, org.eclipse.emf
.ecp.emfstore.ui.e3, org.eclipse.emf.ecp.validationvieweditorbridge,
org.eclipse.emf.ecp.emfstore.ui",org.eclipse.emf.ecp.internal.wizar
- ds;version="1.5.1"; x-friends:="org.eclipse.emf.ecp.edit.ecore.swt,
+ ds;version="1.6.0"; x-friends:="org.eclipse.emf.ecp.edit.ecore.swt,
org.eclipse.emf.ecp.explorereditorbridge, org.eclipse.emf.ecp.worksp
ace.ui, org.eclipse.emf.ecp.view.table.editor, org.eclipse.emf.ecp.
- emfstore.ui",org.eclipse.emf.ecp.internal.wizards.page;version="1.5.1
+ emfstore.ui",org.eclipse.emf.ecp.internal.wizards.page;version="1.6.0
";x-friends:="org.eclipse.emf.ecp.explorereditorbridge",org.eclipse.e
- mf.ecp.spi.ui;version="1.5.1",org.eclipse.emf.ecp.spi.ui.util;version
- ="1.5.1",org.eclipse.emf.ecp.ui;version="1.5.1",org.eclipse.emf.ecp.u
- i.common;version="1.5.1"; x-friends:="org.eclipse.emf.ecp.edit.ecore.
+ mf.ecp.spi.ui;version="1.6.0",org.eclipse.emf.ecp.spi.ui.util;version
+ ="1.6.0",org.eclipse.emf.ecp.ui;version="1.6.0",org.eclipse.emf.ecp.u
+ i.common;version="1.6.0"; x-friends:="org.eclipse.emf.ecp.edit.ecore.
swt, org.eclipse.emf.ecp.explorereditorbridge, org.eclipse.emf.ecp.
ui.e3, org.eclipse.emf.ecp.view.table.editor, org.eclipse.emf.ecp.v
iew.ui.editor.test, org.eclipse.emf.ecp.workspace.ui, org.eclipse.e
- mf.ecp.ui.e4",org.eclipse.emf.ecp.ui.common.dnd;version="1.5.1";x-fri
+ mf.ecp.ui.e4",org.eclipse.emf.ecp.ui.common.dnd;version="1.6.0";x-fri
ends:="org.eclipse.emf.ecp.ui.view.editor.controls",org.eclipse.emf.e
- cp.ui.util;version="1.5.1"
+ cp.ui.util;version="1.6.0"
Import-Package: org.eclipse.core.commands;version="0.0.0",
org.eclipse.emf.edit.ui.action;version="0.0.0",
org.eclipse.emf.edit.ui.dnd;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.ui/pom.xml b/bundles/org.eclipse.emf.ecp.ui/pom.xml
index 7bc04ae..41e3c1c 100644
--- a/bundles/org.eclipse.emf.ecp.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ui</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/Messages.java b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/Messages.java
index 866091c..52d3008 100644
--- a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/Messages.java
+++ b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/Messages.java
@@ -1,105 +1,109 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- *
- *******************************************************************************/
-
-package org.eclipse.emf.ecp.internal.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @author Eugen Neufeld
- * @generated
- */
-public final class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.ui.messages"; //$NON-NLS-1$
-
- public static String ActionHelper_ErrorMessage_ElementDeleted;
- public static String ActionHelper_ErrorTitle_ElementDeleted;
- public static String AddReferenceModelElementWizard_AddReference;
-
- public static String AddReferenceModelElementWizard_ReferenceToSet;
-
- public static String AddReferenceModelElementWizard_SelectEObjectToReference;
-
- public static String AddRepositoryComposite_RepositoryDescription;
- public static String AddRepositoryComposite_RepositoryLabel;
- public static String AddRepositoryComposite_RepositoryName;
- public static String AddRepositoryComposite_RepositoryProvider;
- public static String AddRepositoryPage_PageMessage_AddRepository;
- public static String AddRepositoryPage_PageTitle_AddRepository;
- public static String AddRepositoryWizard_PageTitle_AddReposditory;
- public static String AddRepositoryWizard_Title_AddRepository;
-
- public static String CheckoutProjectComposite_ProjectName;
- public static String CheckoutProjectWizard_PageMessage_CheckoutFrom;
- public static String CheckoutProjectWizard_PageMessage_CheckoutProject;
- public static String CheckoutProjectWizard_PageMessage_CheckoutRepositrory;
- public static String CheckoutProjectWizard_PageTitle_CheckoutProject;
- public static String CheckoutProjectWizard_Title_Checkout;
- public static String CreateProjectWizard_PageMessage_SetProjectName;
- public static String CreateProjectWizard_PageMessage_SelectProviderAndSetName;
- public static String CreateProjectWizard_PageTitle_CreateProject;
- public static String DeleteDialog_DialogTitle;
- public static String DeleteDialog_Message_AreYouSure;
- public static String DeleteDialog_Message_element;
- public static String DeleteDialog_Message_element_plural;
- public static String DeleteDialog_Title;
- public static String FilterModelElementWizard_PageDescription_FilterProject;
- public static String FilterModelElementWizard_PageTitle_FilterProject;
- public static String FilterModelElementWizard_Title_FilterProject;
- public static String ModelelementSelectionDialog_DialogMessage_SearchPattern;
- public static String ModelelementSelectionDialog_DialogTitle;
- public static String ModelelementSelectionDialog_ProgressMonitor_Searching;
- public static String NewModelElementWizard_PageDescription_AddModelElement;
- public static String NewModelElementWizard_PageTitle_AddModelElement;
- public static String NewModelElementWizard_WizardTitle_AddModelElement;
- public static String NewModelElementWizardHandler_Title;
- public static String ProjectPropertiesDialog_DialogTitle_Closed;
- public static String ProjectPropertiesDialog_DialogTitle;
- public static String ProjectPropertiesDialog_DialogTitle_Open;
- public static String ProjectPropertiesDialog_DialogTitle_ProjectIs;
- public static String ProjectPropertiesDialog_ProjectProvider;
- public static String ProjectPropertiesDialog_ProjectRepository;
- public static String PropertiesComposite_AddProperty;
- public static String PropertiesComposite_EditProperty;
- public static String PropertiesComposite_RemoveProperty;
- public static String PropertiesComposite_TableColumnName_Key;
- public static String PropertiesComposite_TableColumnName_Value;
- public static String PropertiesDialog_DialogTitle;
- public static String PropertyDialog_Key;
- public static String PropertyDialog_Message;
- public static String PropertyDialog_Title;
- public static String PropertyDialog_Value;
- public static String RepositoryPropertiesDialog_DialogTitle;
- public static String RepositoryPropertiesDialog_RepositoryProvider;
- public static String SelectEStructuralFeaturesWizard_Title;
- public static String SelectEStructuralFeaturesWizard_PageTitle;
- public static String SelectEStructuralFeaturesWizard_PageDescription;
- public static String SelectOrCreateRepositoryPage_CreateNewRepository;
- public static String SelectOrCreateRepositoryPage_PageDescription_ExistingOrNewRepository;
- public static String SelectOrCreateRepositoryPage_PageTitle_ExistingOrNewRepository;
- public static String SelectOrCreateRepositoryPage_SelectExistingRepository;
- public static String SelectRepositoryPage_PageDescription_SelectRepository;
- public static String SelectRepositoryPage_PageTitle_SelectRepository;
- public static String ShareWizard_Title_Share;
- public static String TreeContentProvider_ErrorElement_Error;
- public static String TreeContentProvider_SlowElement_Pending;
- public static String UICreateProject_ProjectName;
- public static String UICreateProject_ProjectProvider;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ *
+ *******************************************************************************/
+
+package org.eclipse.emf.ecp.internal.ui;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * @author Eugen Neufeld
+ * @generated
+ */
+public final class Messages extends NLS {
+ private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.ui.messages"; //$NON-NLS-1$
+
+ public static String ActionHelper_ErrorMessage_ElementDeleted;
+ public static String ActionHelper_ErrorTitle_ElementDeleted;
+ public static String AddReferenceModelElementWizard_AddReference;
+
+ public static String AddReferenceModelElementWizard_ReferenceToSet;
+
+ public static String AddReferenceModelElementWizard_SelectEObjectToReference;
+
+ public static String AddRepositoryComposite_RepositoryDescription;
+ public static String AddRepositoryComposite_RepositoryLabel;
+ public static String AddRepositoryComposite_RepositoryName;
+ public static String AddRepositoryComposite_RepositoryProvider;
+ public static String AddRepositoryPage_PageMessage_AddRepository;
+ public static String AddRepositoryPage_PageTitle_AddRepository;
+ public static String AddRepositoryWizard_PageTitle_AddReposditory;
+ public static String AddRepositoryWizard_Title_AddRepository;
+
+ public static String CheckoutProjectComposite_ProjectName;
+ public static String CheckoutProjectWizard_PageMessage_CheckoutFrom;
+ public static String CheckoutProjectWizard_PageMessage_CheckoutProject;
+ public static String CheckoutProjectWizard_PageMessage_CheckoutRepositrory;
+ public static String CheckoutProjectWizard_PageTitle_CheckoutProject;
+ public static String CheckoutProjectWizard_Title_Checkout;
+ public static String CreateProjectWizard_PageMessage_SetProjectName;
+ public static String CreateProjectWizard_PageMessage_SelectProviderAndSetName;
+ public static String CreateProjectWizard_PageTitle_CreateProject;
+ public static String DefaultUIProvider_Calculating;
+
+ public static String DefaultUIProvider_CantFindInPackageRegistry;
+
+ public static String DeleteDialog_DialogTitle;
+ public static String DeleteDialog_Message_AreYouSure;
+ public static String DeleteDialog_Message_element;
+ public static String DeleteDialog_Message_element_plural;
+ public static String DeleteDialog_Title;
+ public static String FilterModelElementWizard_PageDescription_FilterProject;
+ public static String FilterModelElementWizard_PageTitle_FilterProject;
+ public static String FilterModelElementWizard_Title_FilterProject;
+ public static String ModelelementSelectionDialog_DialogMessage_SearchPattern;
+ public static String ModelelementSelectionDialog_DialogTitle;
+ public static String ModelelementSelectionDialog_ProgressMonitor_Searching;
+ public static String NewModelElementWizard_PageDescription_AddModelElement;
+ public static String NewModelElementWizard_PageTitle_AddModelElement;
+ public static String NewModelElementWizard_WizardTitle_AddModelElement;
+ public static String NewModelElementWizardHandler_Title;
+ public static String ProjectPropertiesDialog_DialogTitle_Closed;
+ public static String ProjectPropertiesDialog_DialogTitle;
+ public static String ProjectPropertiesDialog_DialogTitle_Open;
+ public static String ProjectPropertiesDialog_DialogTitle_ProjectIs;
+ public static String ProjectPropertiesDialog_ProjectProvider;
+ public static String ProjectPropertiesDialog_ProjectRepository;
+ public static String PropertiesComposite_AddProperty;
+ public static String PropertiesComposite_EditProperty;
+ public static String PropertiesComposite_RemoveProperty;
+ public static String PropertiesComposite_TableColumnName_Key;
+ public static String PropertiesComposite_TableColumnName_Value;
+ public static String PropertiesDialog_DialogTitle;
+ public static String PropertyDialog_Key;
+ public static String PropertyDialog_Message;
+ public static String PropertyDialog_Title;
+ public static String PropertyDialog_Value;
+ public static String RepositoryPropertiesDialog_DialogTitle;
+ public static String RepositoryPropertiesDialog_RepositoryProvider;
+ public static String SelectEStructuralFeaturesWizard_Title;
+ public static String SelectEStructuralFeaturesWizard_PageTitle;
+ public static String SelectEStructuralFeaturesWizard_PageDescription;
+ public static String SelectOrCreateRepositoryPage_CreateNewRepository;
+ public static String SelectOrCreateRepositoryPage_PageDescription_ExistingOrNewRepository;
+ public static String SelectOrCreateRepositoryPage_PageTitle_ExistingOrNewRepository;
+ public static String SelectOrCreateRepositoryPage_SelectExistingRepository;
+ public static String SelectRepositoryPage_PageDescription_SelectRepository;
+ public static String SelectRepositoryPage_PageTitle_SelectRepository;
+ public static String ShareWizard_Title_Share;
+ public static String TreeContentProvider_ErrorElement_Error;
+ public static String TreeContentProvider_SlowElement_Pending;
+ public static String UICreateProject_ProjectName;
+ public static String UICreateProject_ProjectProvider;
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/model/ProvidersLabelProvider.java b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/model/ProvidersLabelProvider.java
index 3b943fb..f076494 100644
--- a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/model/ProvidersLabelProvider.java
+++ b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/model/ProvidersLabelProvider.java
@@ -12,6 +12,7 @@
package org.eclipse.emf.ecp.internal.ui.model;
import org.eclipse.emf.ecp.core.ECPProvider;
+import org.eclipse.emf.ecp.core.util.ECPUtil;
import org.eclipse.emf.ecp.internal.core.ECPProviderRegistryImpl;
import org.eclipse.emf.ecp.internal.core.util.ElementDescriptor;
import org.eclipse.emf.ecp.internal.ui.Activator;
@@ -29,7 +30,7 @@
* @author Eike Stepper
*/
public class ProvidersLabelProvider extends ECPLabelProvider implements IColorProvider,
- ResolveListener<InternalProvider> {
+ResolveListener<InternalProvider> {
private static final Image PROVIDER = Activator.getImage("icons/provider.gif"); //$NON-NLS-1$
private static final Image PROVIDER_DISABLED = Activator.getImage("icons/provider_disabled.gif"); //$NON-NLS-1$
@@ -38,12 +39,12 @@
public ProvidersLabelProvider() {
super(null);
- ECPProviderRegistryImpl.INSTANCE.addResolveListener(this);
+ ((ECPProviderRegistryImpl) ECPUtil.getECPProviderRegistry()).addResolveListener(this);
}
@Override
public void dispose() {
- ECPProviderRegistryImpl.INSTANCE.removeResolveListener(this);
+ ((ECPProviderRegistryImpl) ECPUtil.getECPProviderRegistry()).removeResolveListener(this);
super.dispose();
}
diff --git a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/util/ECPExportHandlerHelper.java b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/util/ECPExportHandlerHelper.java
index 0ec3b42..edcd342 100644
--- a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/util/ECPExportHandlerHelper.java
+++ b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/util/ECPExportHandlerHelper.java
@@ -14,7 +14,6 @@
import java.io.File;
import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
@@ -32,6 +31,9 @@
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.swt.widgets.Shell;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* A utility class which provides support for exporting model elements.
@@ -60,8 +62,6 @@
private static final String EXPORT_MODEL_PATH = "org.eclipse.emf.emfstore.client.ui.exportModelPath"; //$NON-NLS-1$
- private static final String FILE_DIALOG_HELPER_CLASS = "org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl"; //$NON-NLS-1$
-
/**
* Export a list of model elements.
*
@@ -142,27 +142,13 @@
}
private static String getFilePathByFileDialog(Shell shell, String modelElementName) {
- try {
- final Class<ECPFileDialogHelper> clazz = HandlerHelperUtil.loadClass(Activator.PLUGIN_ID,
- FILE_DIALOG_HELPER_CLASS);
- final ECPFileDialogHelper fileDialogHelper = clazz.getConstructor().newInstance();
- return fileDialogHelper.getPathForExport(shell, modelElementName);
- } catch (final ClassNotFoundException ex) {
- Activator.log(ex);
- } catch (final InstantiationException ex) {
- Activator.log(ex);
- } catch (final IllegalAccessException ex) {
- Activator.log(ex);
- } catch (final IllegalArgumentException ex) {
- Activator.log(ex);
- } catch (final InvocationTargetException ex) {
- Activator.log(ex);
- } catch (final NoSuchMethodException ex) {
- Activator.log(ex);
- } catch (final SecurityException ex) {
- Activator.log(ex);
- }
- return null;
+ final BundleContext bundleContext = FrameworkUtil.getBundle(ECPExportHandlerHelper.class).getBundleContext();
+ final ServiceReference<ECPFileDialogHelper> serviceReference = bundleContext
+ .getServiceReference(ECPFileDialogHelper.class);
+ final ECPFileDialogHelper fileDialogHelper = bundleContext.getService(serviceReference);
+ final String result = fileDialogHelper.getPathForExport(shell, modelElementName);
+ bundleContext.ungetService(serviceReference);
+ return result;
}
/**
diff --git a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/util/ECPImportHandlerHelper.java b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/util/ECPImportHandlerHelper.java
index c91b0cf..19a34e3 100644
--- a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/util/ECPImportHandlerHelper.java
+++ b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/util/ECPImportHandlerHelper.java
@@ -12,8 +12,6 @@
*******************************************************************************/
package org.eclipse.emf.ecp.internal.ui.util;
-import java.lang.reflect.InvocationTargetException;
-
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
@@ -31,6 +29,9 @@
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.swt.widgets.Shell;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* A utility class which provides support for importing {@link EObject}s.
@@ -53,8 +54,6 @@
*/
public static final String[] FILTER_NAMES = { "Model Files (*.xmi)" }; //$NON-NLS-1$
- private static final String FILE_DIALOG_HELPER_CLASS = "org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl"; //$NON-NLS-1$
-
private static boolean imported;
/**
@@ -219,26 +218,12 @@
// }
private static String getFileName(Shell shell) {
- try {
- final Class<ECPFileDialogHelper> clazz = HandlerHelperUtil.loadClass(Activator.PLUGIN_ID,
- FILE_DIALOG_HELPER_CLASS);
- final ECPFileDialogHelper fileDialogHelper = clazz.getConstructor().newInstance();
- return fileDialogHelper.getPathForImport(shell);
- } catch (final ClassNotFoundException ex) {
- Activator.log(ex);
- } catch (final InstantiationException ex) {
- Activator.log(ex);
- } catch (final IllegalAccessException ex) {
- Activator.log(ex);
- } catch (final IllegalArgumentException ex) {
- Activator.log(ex);
- } catch (final InvocationTargetException ex) {
- Activator.log(ex);
- } catch (final NoSuchMethodException ex) {
- Activator.log(ex);
- } catch (final SecurityException ex) {
- Activator.log(ex);
- }
- return null;
+ final BundleContext bundleContext = FrameworkUtil.getBundle(ECPExportHandlerHelper.class).getBundleContext();
+ final ServiceReference<ECPFileDialogHelper> serviceReference = bundleContext
+ .getServiceReference(ECPFileDialogHelper.class);
+ final ECPFileDialogHelper fileDialogHelper = bundleContext.getService(serviceReference);
+ final String result = fileDialogHelper.getPathForImport(shell);
+ bundleContext.ungetService(serviceReference);
+ return result;
}
}
diff --git a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/DefaultUIProvider.java b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/DefaultUIProvider.java
index 41564c8..2593834 100644
--- a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/DefaultUIProvider.java
+++ b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/DefaultUIProvider.java
@@ -41,6 +41,7 @@
import org.eclipse.emf.ecp.internal.core.util.Disposable;
import org.eclipse.emf.ecp.internal.core.util.Element;
import org.eclipse.emf.ecp.internal.ui.Activator;
+import org.eclipse.emf.ecp.internal.ui.Messages;
import org.eclipse.emf.ecp.internal.ui.composites.PropertiesComposite;
import org.eclipse.emf.ecp.spi.core.InternalProvider;
import org.eclipse.emf.ecp.spi.ui.util.ECPHandlerHelper;
@@ -94,7 +95,7 @@
public DefaultUIProvider(String name) {
super(name);
label = name;
- description = "";
+ description = ""; //$NON-NLS-1$
}
/** {@inheritDoc} **/
@@ -184,6 +185,9 @@
disposable.removeDisposeListener(listener);
}
+ /**
+ * Subclasses can override.
+ */
protected void doDispose() {
// Subclasses can override.
}
@@ -321,13 +325,15 @@
/** {@inheritDoc} **/
@Override
- public Control createCheckoutUI(Composite parent, ECPCheckoutSource checkoutSource, ECPProperties projectProperties) {
+ public Control createCheckoutUI(Composite parent, ECPCheckoutSource checkoutSource,
+ ECPProperties projectProperties) {
return new PropertiesComposite(parent, true, projectProperties);
}
/** {@inheritDoc} **/
@Override
- public Control createNewProjectUI(Composite parent, CompositeStateObserver observer, ECPProperties projectProperties) {
+ public Control createNewProjectUI(Composite parent, CompositeStateObserver observer,
+ ECPProperties projectProperties) {
return null;
}
@@ -359,7 +365,7 @@
final ImageDescriptor imageDescriptor = Activator.getImageDescriptor(UNKNOWN_PACKAGE_ICON);
final MenuManager submenuManager = new MenuManager(nsURI, imageDescriptor, nsURI);
submenuManager.setRemoveAllWhenShown(true);
- submenuManager.add(new Action("Calculating...") {
+ submenuManager.add(new Action(Messages.DefaultUIProvider_Calculating) {
});
submenuManager.addMenuListener(new IMenuListener() {
@@ -371,7 +377,7 @@
if (ePackage != null) {
populateSubMenu(resource, ePackage, submenuManager);
} else {
- Activator.log(MessageFormat.format("Can't find {0} in package registry", nsURI));
+ Activator.log(MessageFormat.format(Messages.DefaultUIProvider_CantFindInPackageRegistry, nsURI));
}
}
});
diff --git a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/ECPDeleteServiceImpl.java b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/ECPDeleteServiceImpl.java
new file mode 100644
index 0000000..a9e1196
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/ECPDeleteServiceImpl.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.spi.ui;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.emf.ecp.core.ECPProject;
+import org.eclipse.emf.ecp.core.util.ECPUtil;
+import org.eclipse.emf.ecp.edit.spi.DeleteService;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+
+/**
+ * ECP specific implementation of the {@link org.eclipse.emf.ecp.edit.spi.DeleteService DeleteService}.
+ *
+ * @author jfaltermeier
+ * @since 1.6
+ *
+ */
+public class ECPDeleteServiceImpl implements DeleteService {
+
+ private ECPProject ecpProject;
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#instantiate(org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public void instantiate(ViewModelContext context) {
+ ecpProject = ECPUtil.getECPProjectManager().getProject(context.getDomainModel());
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#dispose()
+ */
+ @Override
+ public void dispose() {
+ ecpProject = null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#getPriority()
+ */
+ @Override
+ public int getPriority() {
+ return 0;
+ }
+
+ /**
+ *
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.spi.EMFDeleteServiceImpl#deleteElements(java.util.Collection)
+ */
+ @Override
+ public void deleteElements(Collection<Object> toDelete) {
+ getECPProject().deleteElements(toDelete);
+ }
+
+ /**
+ *
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.spi.EMFDeleteServiceImpl#deleteElement(java.lang.Object)
+ */
+ @Override
+ public void deleteElement(Object toDelete) {
+ getECPProject().deleteElements(Collections.singleton(toDelete));
+ }
+
+ /**
+ * Returns the ECPProject.
+ *
+ * @return the project
+ */
+ ECPProject getECPProject() {
+ return ecpProject;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/messages.properties b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/messages.properties
index ef35b35..ca985ac 100644
--- a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/messages.properties
+++ b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/messages.properties
@@ -1,71 +1,73 @@
-
-ActionHelper_ErrorMessage_ElementDeleted=The model element you are trying to open was deleted\!
-ActionHelper_ErrorTitle_ElementDeleted=The element was deleted
-AddReferenceModelElementWizard_AddReference=Add Reference
-AddReferenceModelElementWizard_ReferenceToSet=Reference to set
-AddReferenceModelElementWizard_SelectEObjectToReference=Select the EObject to set as the reference.
-AddRepositoryComposite_RepositoryDescription=Description:
-AddRepositoryComposite_RepositoryLabel=Label:
-AddRepositoryComposite_RepositoryName=Name:
-AddRepositoryComposite_RepositoryProvider=Provider:
-AddRepositoryPage_PageMessage_AddRepository=Select a provider and configure the new repository.
-AddRepositoryPage_PageTitle_AddRepository=Add Repository
-AddRepositoryWizard_PageTitle_AddReposditory=AddRepository
-AddRepositoryWizard_Title_AddRepository=ECPRepository Wizard
-
-CheckoutProjectComposite_ProjectName=Project name:
-CheckoutProjectWizard_PageMessage_CheckoutFrom=\ from
-CheckoutProjectWizard_PageMessage_CheckoutProject=Checkout
-CheckoutProjectWizard_PageMessage_CheckoutRepositrory=Checkout
-CheckoutProjectWizard_PageTitle_CheckoutProject=Checkout
-CheckoutProjectWizard_Title_Checkout=Checkout
-CreateProjectWizard_PageMessage_SetProjectName=Set the project name.
-CreateProjectWizard_PageMessage_SelectProviderAndSetName=Select a provider and set the project name.
-CreateProjectWizard_PageTitle_CreateProject=Create Project
-DeleteDialog_DialogTitle=Delete
-DeleteDialog_Message_AreYouSure=Are you sure you want to delete
-DeleteDialog_Message_element=\ element
-DeleteDialog_Message_element_plural=s
-DeleteDialog_Title=Delete
-FilterModelElementWizard_PageDescription_FilterProject=Select the packages that should be suggested when creating new model elements.
-FilterModelElementWizard_PageTitle_FilterProject=Select EPacakges and EClasses
-FilterModelElementWizard_Title_FilterProject=Filter
-ModelelementSelectionDialog_DialogMessage_SearchPattern=Enter model element name prefix or pattern (e.g. *Trun?)
-ModelelementSelectionDialog_DialogTitle=Search Model Element
-ModelelementSelectionDialog_ProgressMonitor_Searching=Searching
-NewModelElementWizard_PageDescription_AddModelElement=Select model element type
-NewModelElementWizard_PageTitle_AddModelElement=Add new model element
-NewModelElementWizard_WizardTitle_AddModelElement=Add new model element
-NewModelElementWizardHandler_Title=Add new model element
-ProjectPropertiesDialog_DialogTitle=Project Properties
-ProjectPropertiesDialog_DialogTitle_Closed=closed
-ProjectPropertiesDialog_DialogTitle_Open=open
-ProjectPropertiesDialog_DialogTitle_ProjectIs=The project is
-ProjectPropertiesDialog_ProjectProvider=Provider:
-ProjectPropertiesDialog_ProjectRepository=Repository:
-PropertiesComposite_AddProperty=&Add...
-PropertiesComposite_EditProperty=Edit...
-PropertiesComposite_RemoveProperty=&Remove
-PropertiesComposite_TableColumnName_Key=Key
-PropertiesComposite_TableColumnName_Value=Value
-PropertiesDialog_DialogTitle=Properties
-PropertyDialog_Key=Key:
-PropertyDialog_Message=Message
-PropertyDialog_Title=Title
-PropertyDialog_Value=Value:
-RepositoryPropertiesDialog_DialogTitle=Repository Properties
-RepositoryPropertiesDialog_RepositoryProvider=Provider:
-SelectEStructuralFeaturesWizard_Title=Filter
-SelectEStructuralFeaturesWizard_PageTitle=Select Features
-SelectEStructuralFeaturesWizard_PageDescription=Select the Features to be used.
-SelectOrCreateRepositoryPage_CreateNewRepository=Create new repository
-SelectOrCreateRepositoryPage_PageDescription_ExistingOrNewRepository=Please select whether you want to create or use an existing ECPRepository.
-SelectOrCreateRepositoryPage_PageTitle_ExistingOrNewRepository=Create or use existing ECPRepository
-SelectOrCreateRepositoryPage_SelectExistingRepository=Select existing repository
-SelectRepositoryPage_PageDescription_SelectRepository=Please select an existing ECPRepository to use.
-SelectRepositoryPage_PageTitle_SelectRepository=Select an existing ECPRepository
-ShareWizard_Title_Share=ECPRepository Wizard
-TreeContentProvider_ErrorElement_Error=Error
-TreeContentProvider_SlowElement_Pending=Pending...
-UICreateProject_ProjectName=Project Name
-UICreateProject_ProjectProvider=Provider
+
+ActionHelper_ErrorMessage_ElementDeleted=The model element you are trying to open was deleted\!
+ActionHelper_ErrorTitle_ElementDeleted=The element was deleted
+AddReferenceModelElementWizard_AddReference=Add Reference
+AddReferenceModelElementWizard_ReferenceToSet=Reference to set
+AddReferenceModelElementWizard_SelectEObjectToReference=Select the EObject to set as the reference.
+AddRepositoryComposite_RepositoryDescription=Description:
+AddRepositoryComposite_RepositoryLabel=Label:
+AddRepositoryComposite_RepositoryName=Name:
+AddRepositoryComposite_RepositoryProvider=Provider:
+AddRepositoryPage_PageMessage_AddRepository=Select a provider and configure the new repository.
+AddRepositoryPage_PageTitle_AddRepository=Add Repository
+AddRepositoryWizard_PageTitle_AddReposditory=AddRepository
+AddRepositoryWizard_Title_AddRepository=ECPRepository Wizard
+
+CheckoutProjectComposite_ProjectName=Project name:
+CheckoutProjectWizard_PageMessage_CheckoutFrom=\ from
+CheckoutProjectWizard_PageMessage_CheckoutProject=Checkout
+CheckoutProjectWizard_PageMessage_CheckoutRepositrory=Checkout
+CheckoutProjectWizard_PageTitle_CheckoutProject=Checkout
+CheckoutProjectWizard_Title_Checkout=Checkout
+CreateProjectWizard_PageMessage_SetProjectName=Set the project name.
+CreateProjectWizard_PageMessage_SelectProviderAndSetName=Select a provider and set the project name.
+CreateProjectWizard_PageTitle_CreateProject=Create Project
+DefaultUIProvider_Calculating=Calculating...
+DefaultUIProvider_CantFindInPackageRegistry=Can't find {0} in package registry
+DeleteDialog_DialogTitle=Delete
+DeleteDialog_Message_AreYouSure=Are you sure you want to delete
+DeleteDialog_Message_element=\ element
+DeleteDialog_Message_element_plural=s
+DeleteDialog_Title=Delete
+FilterModelElementWizard_PageDescription_FilterProject=Select the packages that should be suggested when creating new model elements.
+FilterModelElementWizard_PageTitle_FilterProject=Select EPacakges and EClasses
+FilterModelElementWizard_Title_FilterProject=Filter
+ModelelementSelectionDialog_DialogMessage_SearchPattern=Enter model element name prefix or pattern (e.g. *Trun?)
+ModelelementSelectionDialog_DialogTitle=Search Model Element
+ModelelementSelectionDialog_ProgressMonitor_Searching=Searching
+NewModelElementWizard_PageDescription_AddModelElement=Select model element type
+NewModelElementWizard_PageTitle_AddModelElement=Add new model element
+NewModelElementWizard_WizardTitle_AddModelElement=Add new model element
+NewModelElementWizardHandler_Title=Add new model element
+ProjectPropertiesDialog_DialogTitle=Project Properties
+ProjectPropertiesDialog_DialogTitle_Closed=closed
+ProjectPropertiesDialog_DialogTitle_Open=open
+ProjectPropertiesDialog_DialogTitle_ProjectIs=The project is
+ProjectPropertiesDialog_ProjectProvider=Provider:
+ProjectPropertiesDialog_ProjectRepository=Repository:
+PropertiesComposite_AddProperty=&Add...
+PropertiesComposite_EditProperty=Edit...
+PropertiesComposite_RemoveProperty=&Remove
+PropertiesComposite_TableColumnName_Key=Key
+PropertiesComposite_TableColumnName_Value=Value
+PropertiesDialog_DialogTitle=Properties
+PropertyDialog_Key=Key:
+PropertyDialog_Message=Message
+PropertyDialog_Title=Title
+PropertyDialog_Value=Value:
+RepositoryPropertiesDialog_DialogTitle=Repository Properties
+RepositoryPropertiesDialog_RepositoryProvider=Provider:
+SelectEStructuralFeaturesWizard_Title=Filter
+SelectEStructuralFeaturesWizard_PageTitle=Select Features
+SelectEStructuralFeaturesWizard_PageDescription=Select the Features to be used.
+SelectOrCreateRepositoryPage_CreateNewRepository=Create new repository
+SelectOrCreateRepositoryPage_PageDescription_ExistingOrNewRepository=Please select whether you want to create or use an existing ECPRepository.
+SelectOrCreateRepositoryPage_PageTitle_ExistingOrNewRepository=Create or use existing ECPRepository
+SelectOrCreateRepositoryPage_SelectExistingRepository=Select existing repository
+SelectRepositoryPage_PageDescription_SelectRepository=Please select an existing ECPRepository to use.
+SelectRepositoryPage_PageTitle_SelectRepository=Select an existing ECPRepository
+ShareWizard_Title_Share=ECPRepository Wizard
+TreeContentProvider_ErrorElement_Error=Error
+TreeContentProvider_SlowElement_Pending=Pending...
+UICreateProject_ProjectName=Project Name
+UICreateProject_ProjectProvider=Provider
diff --git a/bundles/org.eclipse.emf.ecp.validation.connector/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.validation.connector/META-INF/MANIFEST.MF
index 84a9839..b3f3993 100644
--- a/bundles/org.eclipse.emf.ecp.validation.connector/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.validation.connector/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Validation Connector Plugin
Bundle-SymbolicName: org.eclipse.emf.ecp.validation.connector;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.validation.connector.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.validation;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.validation.connector;version="1.5.
- 1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.validation.connector;version="1.6.
+ 0";x-internal:=true
Import-Package: org.eclipse.jface.resource;version="0.0.0",
org.eclipse.jface.viewers;version="0.0.0",
org.eclipse.swt.graphics;version="0.0.0"
diff --git a/bundles/org.eclipse.emf.ecp.validation.connector/pom.xml b/bundles/org.eclipse.emf.ecp.validation.connector/pom.xml
index 9f5e366..67c87dd 100644
--- a/bundles/org.eclipse.emf.ecp.validation.connector/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.validation.connector/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.validation.connector</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.validation/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.validation/META-INF/MANIFEST.MF
index 6b03523..ef8ddc4 100644
--- a/bundles/org.eclipse.emf.ecp.validation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.validation/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Validation Service
Bundle-SymbolicName: org.eclipse.emf.ecp.validation;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="2.8.0",
org.eclipse.emf.ecp.ui;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.common;bundle-version="[1.5.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.internal.validation;version="1.5.1
- ";x-internal:=true,org.eclipse.emf.ecp.validation.api;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.internal.validation;version="1.6.0
+ ";x-internal:=true,org.eclipse.emf.ecp.validation.api;version="1.6.0"
;x-friends:="org.eclipse.emf.ecp.validation.connector"
Service-Component: OSGI-INF/validationService.xml
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.validation/pom.xml b/bundles/org.eclipse.emf.ecp.validation/pom.xml
index 2f3874f..e9894a6 100644
--- a/bundles/org.eclipse.emf.ecp.validation/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.validation/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.validation</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/.gitignore b/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/META-INF/MANIFEST.MF
index 7b1c580..3bc6b35 100644
--- a/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Validation View to Editor Bridge
Bundle-SymbolicName: org.eclipse.emf.ecp.validationvieweditorbridge;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Import-Package: org.eclipse.jface.viewers;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.internal.validationvieweditorbridg
- e;version="1.5.1";x-internal:=true
+ e;version="1.6.0";x-internal:=true
Require-Bundle: org.eclipse.emf.ecp.ui;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.validation;bundle-version="[1.5.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/pom.xml b/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/pom.xml
index aed1e7b..fb2bd54 100644
--- a/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.validationvieweditorbridge/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.validationvieweditorbridge</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/.gitignore b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/.settings/.api_filters
index a592d22..b507373 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.categorization.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.vertical.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.categorization.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.categorization.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.categorization.model.edit_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/META-INF/MANIFEST.MF
index ed90360..8c73038 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,13 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.categorization.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.categorization.model.provider.CategorizationEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.view.spi.categorization.model.prov
- ider;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.spi.categorization.model.provider;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/pom.xml
index d0c03ec..cf43dfc 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
@@ -15,5 +15,5 @@
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/AbstractCategorizationItemProvider.java b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/AbstractCategorizationItemProvider.java
index d804266..84f6618 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/AbstractCategorizationItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/AbstractCategorizationItemProvider.java
@@ -20,12 +20,9 @@
import org.eclipse.emf.ecp.view.spi.categorization.model.VAbstractCategorization;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationFactory;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
@@ -38,12 +35,6 @@
*/
public class AbstractCategorizationItemProvider
extends CategorizableElementItemProvider
- implements
- IEditingDomainItemProvider,
- IStructuredItemContentProvider,
- ITreeItemContentProvider,
- IItemLabelProvider,
- IItemPropertySource
{
/**
* This constructs an instance from a factory and a notifier.
@@ -115,12 +106,15 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object)
{
- final String label = ((VAbstractCategorization) object).getName();
+ String label = ((VAbstractCategorization) object).getLabel();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_AbstractCategorization_type") : //$NON-NLS-1$
getString("_UI_AbstractCategorization_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategorizableElementItemProvider.java b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategorizableElementItemProvider.java
index 4aeceda..7c5fc2c 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategorizableElementItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategorizableElementItemProvider.java
@@ -18,14 +18,11 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizableElement;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.provider.ElementItemProvider;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
@@ -38,12 +35,6 @@
*/
public class CategorizableElementItemProvider
extends ElementItemProvider
- implements
- IEditingDomainItemProvider,
- IStructuredItemContentProvider,
- ITreeItemContentProvider,
- IItemLabelProvider,
- IItemPropertySource
{
/**
* This constructs an instance from a factory and a notifier.
@@ -107,12 +98,15 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object)
{
- final String label = ((VCategorizableElement) object).getName();
+ String label = ((VCategorizableElement) object).getLabel();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_CategorizableElement_type") : //$NON-NLS-1$
getString("_UI_CategorizableElement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategorizationElementItemProvider.java b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategorizationElementItemProvider.java
index 92418ed..0e140e5 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategorizationElementItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategorizationElementItemProvider.java
@@ -23,14 +23,12 @@
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationFactory;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.provider.ContainedElementItemProvider;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ViewerNotification;
@@ -44,12 +42,6 @@
*/
public class CategorizationElementItemProvider
extends ContainedElementItemProvider
- implements
- IEditingDomainItemProvider,
- IStructuredItemContentProvider,
- ITreeItemContentProvider,
- IItemLabelProvider,
- IItemPropertySource
{
/**
* This constructs an instance from a factory and a notifier.
@@ -166,7 +158,10 @@
@Override
public String getText(Object object)
{
- final String label = ((VCategorizationElement) object).getName();
+ String label = ((VCategorizationElement) object).getLabel();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_CategorizationElement_type") : label; //$NON-NLS-1$
}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategorizationItemProvider.java b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategorizationItemProvider.java
index 54db9cd..039db34 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategorizationItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategorizationItemProvider.java
@@ -20,12 +20,10 @@
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationFactory;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
@@ -38,12 +36,6 @@
*/
public class CategorizationItemProvider
extends AbstractCategorizationItemProvider
- implements
- IEditingDomainItemProvider,
- IStructuredItemContentProvider,
- ITreeItemContentProvider,
- IItemLabelProvider,
- IItemPropertySource
{
/**
* This constructs an instance from a factory and a notifier.
@@ -133,7 +125,10 @@
@Override
public String getText(Object object)
{
- final String label = ((VCategorization) object).getName();
+ String label = ((VCategorization) object).getLabel();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_Categorization_type") : label; //$NON-NLS-1$
}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategoryItemProvider.java b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategoryItemProvider.java
index d2b264b..a60f464 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategoryItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model.edit/src/org/eclipse/emf/ecp/view/spi/categorization/model/provider/CategoryItemProvider.java
@@ -21,14 +21,11 @@
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategory;
import org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalFactory;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
@@ -40,12 +37,6 @@
*/
public class CategoryItemProvider
extends AbstractCategorizationItemProvider
- implements
- IEditingDomainItemProvider,
- IStructuredItemContentProvider,
- ITreeItemContentProvider,
- IItemLabelProvider,
- IItemPropertySource
{
/**
* This constructs an instance from a factory and a notifier.
@@ -135,7 +126,10 @@
@Override
public String getText(Object object)
{
- final String label = ((VCategory) object).getName();
+ String label = ((VCategory) object).getLabel();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_Category_type") : label; //$NON-NLS-1$
}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model/.gitignore b/bundles/org.eclipse.emf.ecp.view.categorization.model/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.categorization.model/.settings/.api_filters
index c3bcaef..e3d694d 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model/.settings/.api_filters
@@ -1,10 +1,333 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.categorization.model" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.categorization.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.categorization.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.categorization.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/categorization/model/VCategorizationPackage.java">
+ <filter comment="Changes due to new label field in 1.6" id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/categorization/model/VCategorizationPackage.java" type="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage">
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="ABSTRACT_CATEGORIZATION_FEATURE_COUNT"/>
+ <message_argument value="8"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="ABSTRACT_CATEGORIZATION__ACTIONS"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="ABSTRACT_CATEGORIZATION__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="ABSTRACT_CATEGORIZATION__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="ABSTRACT_CATEGORIZATION__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="ABSTRACT_CATEGORIZATION__LABEL_OBJECT"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="ABSTRACT_CATEGORIZATION__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="ABSTRACT_CATEGORIZATION__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZABLE_ELEMENT_FEATURE_COUNT"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZABLE_ELEMENT__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZABLE_ELEMENT__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZABLE_ELEMENT__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZABLE_ELEMENT__LABEL_OBJECT"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZABLE_ELEMENT__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZABLE_ELEMENT__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION_ELEMENT_FEATURE_COUNT"/>
+ <message_argument value="9"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION_ELEMENT__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION_ELEMENT__CATEGORIZATIONS"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION_ELEMENT__CURRENT_SELECTION"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION_ELEMENT__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION_ELEMENT__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION_ELEMENT__MAIN_CATEGORY_DEPTH"/>
+ <message_argument value="8"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION_ELEMENT__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION_ELEMENT__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION_FEATURE_COUNT"/>
+ <message_argument value="9"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION__ACTIONS"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION__CATEGORIZATIONS"/>
+ <message_argument value="8"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION__LABEL_OBJECT"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORIZATION__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORY_FEATURE_COUNT"/>
+ <message_argument value="9"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORY__ACTIONS"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORY__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORY__COMPOSITE"/>
+ <message_argument value="8"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORY__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORY__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORY__LABEL_OBJECT"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORY__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage"/>
+ <message_argument value="CATEGORY__VISIBLE"/>
+ <message_argument value="1"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.categorization.model/META-INF/MANIFEST.MF
index 0eef468..5eefe0c 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.categorization.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.categorization.model;vers
- ion="1.5.1",org.eclipse.emf.ecp.view.spi.categorization.model.impl;ve
- rsion="1.5.1",org.eclipse.emf.ecp.view.spi.categorization.model.util;
- version="1.5.1"
+ ion="1.6.0",org.eclipse.emf.ecp.view.spi.categorization.model.impl;ve
+ rsion="1.6.0",org.eclipse.emf.ecp.view.spi.categorization.model.util;
+ version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model/model/categorization.genmodel b/bundles/org.eclipse.emf.ecp.view.categorization.model/model/categorization.genmodel
index 3bc719f..2574bcd 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model/model/categorization.genmodel
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model/model/categorization.genmodel
@@ -14,26 +14,28 @@
classPackageSuffix="model.impl" utilityPackageSuffix="model.util" providerPackageSuffix="model.provider"
presentationPackageSuffix="model.presentation" extensibleProviderFactory="true"
childCreationExtenders="true" ecorePackage="categorization.ecore#/">
- <genClasses image="false" ecoreClass="categorization.ecore#//AbstractCategorization">
+ <genClasses image="false" ecoreClass="categorization.ecore#//AbstractCategorization"
+ labelFeature="../../org.eclipse.emf.ecp.view.model/model/view.genmodel#//model/Element/label">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference categorization.ecore#//AbstractCategorization/actions"/>
</genClasses>
- <genClasses ecoreClass="categorization.ecore#//Categorization">
+ <genClasses ecoreClass="categorization.ecore#//Categorization" labelFeature="../../org.eclipse.emf.ecp.view.model/model/view.genmodel#//model/Element/label">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference categorization.ecore#//Categorization/categorizations"/>
</genClasses>
- <genClasses ecoreClass="categorization.ecore#//Category">
+ <genClasses ecoreClass="categorization.ecore#//Category" labelFeature="../../org.eclipse.emf.ecp.view.model/model/view.genmodel#//model/Element/label">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference categorization.ecore#//Category/composite"/>
</genClasses>
<genClasses ecoreClass="categorization.ecore#//Action">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute categorization.ecore#//Action/bundle"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute categorization.ecore#//Action/className"/>
</genClasses>
- <genClasses ecoreClass="categorization.ecore#//CategorizationElement">
+ <genClasses ecoreClass="categorization.ecore#//CategorizationElement" labelFeature="../../org.eclipse.emf.ecp.view.model/model/view.genmodel#//model/Element/label">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference categorization.ecore#//CategorizationElement/categorizations"/>
<genFeatures property="None" notify="false" createChild="false" propertySortChoices="true"
ecoreFeature="ecore:EReference categorization.ecore#//CategorizationElement/currentSelection"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute categorization.ecore#//CategorizationElement/mainCategoryDepth"/>
</genClasses>
- <genClasses image="false" ecoreClass="categorization.ecore#//CategorizableElement">
+ <genClasses image="false" ecoreClass="categorization.ecore#//CategorizableElement"
+ labelFeature="../../org.eclipse.emf.ecp.view.model/model/view.genmodel#//model/Element/label">
<genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EReference categorization.ecore#//CategorizableElement/labelObject"/>
</genClasses>
</genPackages>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.categorization.model/pom.xml
index ee1b391..b7bbc0a 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.model/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
@@ -15,5 +15,5 @@
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/.gitignore b/bundles/org.eclipse.emf.ecp.view.categorization.swt/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/.project b/bundles/org.eclipse.emf.ecp.view.categorization.swt/.project
index 581536c..8873f8b 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/.project
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/.project
@@ -30,6 +30,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.categorization.swt/.settings/.api_filters
new file mode 100644
index 0000000..75fed48
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/.settings/.api_filters
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.emf.ecp.view.categorization.swt" version="2">
+ <resource path="META-INF/MANIFEST.MF">
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/categorization/swt/AbstractJFaceTreeRenderer.java" type="org.eclipse.emf.ecp.view.spi.categorization.swt.AbstractJFaceTreeRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.swt.AbstractJFaceTreeRenderer"/>
+ <message_argument value="AbstractJFaceTreeRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.swt.AbstractJFaceTreeRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.swt.AbstractJFaceTreeRenderer"/>
+ <message_argument value="renderControl(SWTGridCell, Composite)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/categorization/swt/AbstractSWTTabRenderer.java" type="org.eclipse.emf.ecp.view.spi.categorization.swt.AbstractSWTTabRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.swt.AbstractSWTTabRenderer"/>
+ <message_argument value="AbstractSWTTabRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.swt.AbstractSWTTabRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.swt.AbstractSWTTabRenderer"/>
+ <message_argument value="renderControl(SWTGridCell, Composite)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/categorization/swt/CategorizationElementTabbedSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.categorization.swt.CategorizationElementTabbedSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.swt.CategorizationElementTabbedSWTRenderer"/>
+ <message_argument value="CategorizationElementTabbedSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/categorization/swt/CompositeCategoryJFaceTreeRenderer.java" type="org.eclipse.emf.ecp.view.spi.categorization.swt.CompositeCategoryJFaceTreeRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.swt.CompositeCategoryJFaceTreeRenderer"/>
+ <message_argument value="CompositeCategoryJFaceTreeRenderer()"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/categorization/swt/CompositeCategorySWTTabRenderer.java" type="org.eclipse.emf.ecp.view.spi.categorization.swt.CompositeCategorySWTTabRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.swt.CompositeCategorySWTTabRenderer"/>
+ <message_argument value="CompositeCategorySWTTabRenderer()"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategorizationElementRenderer.java" type="org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategorizationElementRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategorizationElementRenderer"/>
+ <message_argument value="SWTCategorizationElementRenderer()"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategorizationRenderer.java" type="org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategorizationRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategorizationRenderer"/>
+ <message_argument value="SWTCategorizationRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategorizationRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategorizationRenderer"/>
+ <message_argument value="renderControl(SWTGridCell, Composite)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategoryRenderer.java" type="org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategoryRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategoryRenderer"/>
+ <message_argument value="SWTCategoryRenderer()"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.categorization.swt/META-INF/MANIFEST.MF
index ed34487..28d5173 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Categorization SWT
Bundle-SymbolicName: org.eclipse.emf.ecp.view.categorization.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.internal.categorization.swt.Activator
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
@@ -11,10 +11,17 @@
org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
org.eclipse.jface.layout;version="0.0.0",
org.eclipse.jface.resource;version="0.0.0",
org.eclipse.jface.viewers;version="0.0.0",
@@ -24,5 +31,7 @@
org.eclipse.swt.graphics;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.internal.categorization.swt;v
- ersion="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.spi.categori
- zation.swt;version="1.5.1"
+ ersion="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.spi.categori
+ zation.swt;version="1.6.0"
+Service-Component: OSGI-INF/categorizationElementTabbedRendererService.xml,OSGI-INF/compositeCategoryTreeRendererService.xml,OSGI-INF/compositeCategoryTabRendererService.xml,OSGI-INF/swtCategorizationElementRendererService.xml,OSGI-INF/swtCategorizationRendererService.xml,
+ OSGI-INF/swtCategoryRendererService.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/categorizationElementTabbedRendererService.xml b/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/categorizationElementTabbedRendererService.xml
new file mode 100644
index 0000000..f79be1f
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/categorizationElementTabbedRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.categorization.swt.categorizationElementTabbed">
+ <implementation class="org.eclipse.emf.ecp.view.internal.categorization.swt.CategorizationElementTabbedRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/compositeCategoryTabRendererService.xml b/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/compositeCategoryTabRendererService.xml
new file mode 100644
index 0000000..626673f
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/compositeCategoryTabRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.categorization.swt.compositeCategoryTab">
+ <implementation class="org.eclipse.emf.ecp.view.internal.categorization.swt.CompositeCategorySWTTabRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/compositeCategoryTreeRendererService.xml b/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/compositeCategoryTreeRendererService.xml
new file mode 100644
index 0000000..306a3d6
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/compositeCategoryTreeRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.categorization.swt.compositeCategoryTree">
+ <implementation class="org.eclipse.emf.ecp.view.internal.categorization.swt.CompositeCategoryJFaceTreeRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..910390d
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1 @@
+Categorization_Selection=Please select a category
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/swtCategorizationElementRendererService.xml b/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/swtCategorizationElementRendererService.xml
new file mode 100644
index 0000000..88b4c80
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/swtCategorizationElementRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.categorization.swt.swtCategorizationElement">
+ <implementation class="org.eclipse.emf.ecp.view.internal.categorization.swt.SWTCategorizationElementRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/swtCategorizationRendererService.xml b/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/swtCategorizationRendererService.xml
new file mode 100644
index 0000000..d140101
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/swtCategorizationRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.categorization.swt.swtCategorization">
+ <implementation class="org.eclipse.emf.ecp.view.internal.categorization.swt.SWTCategorizationRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/swtCategoryRendererService.xml b/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/swtCategoryRendererService.xml
new file mode 100644
index 0000000..84c936a
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/OSGI-INF/swtCategoryRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.categorization.swt.swtCategory">
+ <implementation class="org.eclipse.emf.ecp.view.internal.categorization.swt.SWTCategoryRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/build.properties b/bundles/org.eclipse.emf.ecp.view.categorization.swt/build.properties
index a3a0fff..54705dd 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/build.properties
@@ -1,9 +1,14 @@
-source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.xml,\
icons/,\
- src/org/eclipse/emf/ecp/view/internal/categorization/swt/messages.properties,\
- about.html
+ about.html,\
+ OSGI-INF/,\
+ OSGI-INF/categorizationElementTabbedRendererService.xml,\
+ OSGI-INF/compositeCategoryTreeRendererService.xml,\
+ OSGI-INF/compositeCategoryTabRendererService.xml,\
+ OSGI-INF/swtCategorizationElementRendererService.xml,\
+ OSGI-INF/swtCategorizationRendererService.xml,\
+ OSGI-INF/swtCategoryRendererService.xml
src.includes = about.html
+source.. = src/
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/plugin.xml b/bundles/org.eclipse.emf.ecp.view.categorization.swt/plugin.xml
deleted file mode 100644
index 453baf3..0000000
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/plugin.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategorizationElementRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.internal.categorization.swt.CategorizationTreeRendererTester">
- </dynamicTest>
- </renderer>
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.categorization.swt.CategorizationElementTabbedSWTRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.internal.categorization.swt.CategorizationTabRendererTester">
- </dynamicTest>
- </renderer>
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.categorization.swt.CompositeCategorySWTTabRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.internal.categorization.swt.CompositeCategoryTabRendererTester">
- </dynamicTest>
- </renderer>
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.categorization.swt.CompositeCategoryJFaceTreeRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.internal.categorization.swt.CompositeCategoryTreeRendererTester">
- </dynamicTest>
- </renderer>
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategorizationRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.internal.categorization.swt.CompositeCategoryDefaultRendererTester">
- </dynamicTest>
- </renderer>
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategoryRenderer">
- <staticTest
- element="org.eclipse.emf.ecp.view.spi.categorization.model.VCategory"
- priority="1">
- </staticTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.categorization.swt/pom.xml
index f245416..2da90bf 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
@@ -15,5 +15,5 @@
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/Activator.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/Activator.java
index 9892ba2..a8e788b 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/Activator.java
@@ -14,9 +14,7 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
/**
* The activator class controls the plug-in life cycle.
@@ -73,15 +71,4 @@
plugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, throwable.getMessage(), throwable));
}
- /**
- * Returns the {@link ReportService}.
- *
- * @return the {@link ReportService}
- */
- public ReportService getReportService() {
- final BundleContext bundleContext = getBundle().getBundleContext();
- final ServiceReference<ReportService> serviceReference =
- bundleContext.getServiceReference(ReportService.class);
- return bundleContext.getService(serviceReference);
- }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CategorizationElementTabbedRendererService.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CategorizationElementTabbedRendererService.java
new file mode 100644
index 0000000..b59aeba
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CategorizationElementTabbedRendererService.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.categorization.swt;
+
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
+import org.eclipse.emf.ecp.view.spi.categorization.swt.CategorizationElementTabbedSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * CategorizationElementTabbedRendererService which provides the CategorizationElementTabbedSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class CategorizationElementTabbedRendererService implements EMFFormsDIRendererService<VCategorizationElement> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (VCategorizationElement.class.isInstance(vElement)) {
+ if (VCategorizationElement.class.cast(vElement).getMainCategoryDepth() != 0) {
+ return 1d;
+ }
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VCategorizationElement>> getRendererClass() {
+ return CategorizationElementTabbedSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CategorizationTabRendererTester.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CategorizationTabRendererTester.java
deleted file mode 100644
index 9fdd5fa..0000000
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CategorizationTabRendererTester.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.categorization.swt;
-
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-
-/**
- * Categorization Renderer for Tabs.
- *
- * @author Eugen Neufeld
- *
- */
-public class CategorizationTabRendererTester implements ECPRendererTester {
-
- @Override
- public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
- if (VCategorizationElement.class.isInstance(vElement)) {
- if (VCategorizationElement.class.cast(vElement).getMainCategoryDepth() != 0) {
- return 1;
- }
- }
- return NOT_APPLICABLE;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CategorizationTreeRendererTester.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CategorizationTreeRendererTester.java
deleted file mode 100644
index f120887..0000000
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CategorizationTreeRendererTester.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.categorization.swt;
-
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-
-/**
- * Categorization Renderer for tree.
- *
- * @author Eugen Neufeld
- *
- */
-public class CategorizationTreeRendererTester implements ECPRendererTester {
-
- @Override
- public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
- if (VCategorizationElement.class.isInstance(vElement)) {
- if (VCategorizationElement.class.cast(vElement).getMainCategoryDepth() == 0) {
- return 1;
- }
- }
- return NOT_APPLICABLE;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategoryDefaultRendererTester.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategoryDefaultRendererTester.java
deleted file mode 100644
index 4e0b8e3..0000000
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategoryDefaultRendererTester.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.categorization.swt;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-
-/**
- * Composite Category renderer tester.
- *
- * @author Eugen Neufeld
- *
- */
-public class CompositeCategoryDefaultRendererTester implements ECPRendererTester {
-
- @Override
- public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
- if (VCategorization.class.isInstance(vElement)) {
- final VCategorization categorization = VCategorization.class.cast(vElement);
- int depth = 0;
- EObject parent = categorization.eContainer();
- while (!VCategorizationElement.class.isInstance(parent)) {
- parent = parent.eContainer();
- depth++;
- }
- if (VCategorizationElement.class.cast(parent).getMainCategoryDepth() < depth + 1) {
- return 1;
- }
- }
- return NOT_APPLICABLE;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategoryJFaceTreeRendererService.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategoryJFaceTreeRendererService.java
new file mode 100644
index 0000000..f41fa39
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategoryJFaceTreeRendererService.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.categorization.swt;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
+import org.eclipse.emf.ecp.view.spi.categorization.swt.CompositeCategoryJFaceTreeRenderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * CompositeCategoryJFaceTreeRendererService which provides the CompositeCategoryJFaceTreeRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class CompositeCategoryJFaceTreeRendererService implements EMFFormsDIRendererService<VCategorization> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (VCategorization.class.isInstance(vElement)) {
+ final VCategorization categorization = VCategorization.class.cast(vElement);
+ int depth = 0;
+ EObject parent = categorization.eContainer();
+ while (!VCategorizationElement.class.isInstance(parent)) {
+ parent = parent.eContainer();
+ depth++;
+ }
+ if (VCategorizationElement.class.cast(parent).getMainCategoryDepth() == depth + 1) {
+ return 1;
+ }
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VCategorization>> getRendererClass() {
+ return CompositeCategoryJFaceTreeRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategorySWTTabRendererService.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategorySWTTabRendererService.java
new file mode 100644
index 0000000..8a1b175
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategorySWTTabRendererService.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.categorization.swt;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
+import org.eclipse.emf.ecp.view.spi.categorization.swt.CompositeCategorySWTTabRenderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * CompositeCategorySWTTabRendererService which provides the CompositeCategorySWTTabRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class CompositeCategorySWTTabRendererService implements EMFFormsDIRendererService<VCategorization> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (VCategorization.class.isInstance(vElement)) {
+ final VCategorization categorization = VCategorization.class.cast(vElement);
+ int depth = 0;
+ EObject parent = categorization.eContainer();
+ while (!VCategorizationElement.class.isInstance(parent)) {
+ parent = parent.eContainer();
+ depth++;
+ }
+ if (VCategorizationElement.class.cast(parent).getMainCategoryDepth() > depth + 1) {
+ return 1;
+ }
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VCategorization>> getRendererClass() {
+ return CompositeCategorySWTTabRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategoryTabRendererTester.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategoryTabRendererTester.java
deleted file mode 100644
index dd897b9..0000000
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategoryTabRendererTester.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.categorization.swt;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-
-/**
- * Renderer Tester for composite category as tabs.
- *
- * @author Eugen Neufeld
- *
- */
-public class CompositeCategoryTabRendererTester implements ECPRendererTester {
-
- @Override
- public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
- if (VCategorization.class.isInstance(vElement)) {
- final VCategorization categorization = VCategorization.class.cast(vElement);
- int depth = 0;
- EObject parent = categorization.eContainer();
- while (!VCategorizationElement.class.isInstance(parent)) {
- parent = parent.eContainer();
- depth++;
- }
- if (VCategorizationElement.class.cast(parent).getMainCategoryDepth() > depth + 1) {
- return 1;
- }
- }
- return NOT_APPLICABLE;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategoryTreeRendererTester.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategoryTreeRendererTester.java
deleted file mode 100644
index cfcdcbd..0000000
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/CompositeCategoryTreeRendererTester.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.categorization.swt;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-
-/**
- * Composite category tester as tree.
- *
- * @author Eugen Neufeld
- *
- */
-public class CompositeCategoryTreeRendererTester implements ECPRendererTester {
-
- @Override
- public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
- if (VCategorization.class.isInstance(vElement)) {
- final VCategorization categorization = VCategorization.class.cast(vElement);
- int depth = 0;
- EObject parent = categorization.eContainer();
- while (!VCategorizationElement.class.isInstance(parent)) {
- parent = parent.eContainer();
- depth++;
- }
- if (VCategorizationElement.class.cast(parent).getMainCategoryDepth() == depth + 1) {
- return 1;
- }
- }
- return NOT_APPLICABLE;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/MessageKeys.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/MessageKeys.java
new file mode 100644
index 0000000..4341982
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/MessageKeys.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.categorization.swt;
+
+/**
+ * Keys for translated strings.
+ *
+ * @author Eugen Neufeld
+ * @generated
+ */
+public interface MessageKeys {
+ String Categorization_Selection = "Categorization_Selection"; //$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/Messages.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/Messages.java
deleted file mode 100644
index b62c430..0000000
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/Messages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Edgar Mueller - initial API and implementation
- *
- *******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.categorization.swt;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- *
- * @author emueller
- * @generated
- */
-public final class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.view.internal.categorization.swt.messages"; //$NON-NLS-1$
-
- public static String Categorization_Selection;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/SWTCategorizationElementRendererService.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/SWTCategorizationElementRendererService.java
new file mode 100644
index 0000000..0f0403c
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/SWTCategorizationElementRendererService.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.categorization.swt;
+
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
+import org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategorizationElementRenderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * SWTCategorizationElementRendererService which provides the SWTCategorizationElementRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class SWTCategorizationElementRendererService implements EMFFormsDIRendererService<VCategorizationElement> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (VCategorizationElement.class.isInstance(vElement)) {
+ if (VCategorizationElement.class.cast(vElement).getMainCategoryDepth() == 0) {
+ return 1;
+ }
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VCategorizationElement>> getRendererClass() {
+ return SWTCategorizationElementRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/SWTCategorizationRendererService.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/SWTCategorizationRendererService.java
new file mode 100644
index 0000000..78288b2
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/SWTCategorizationRendererService.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.categorization.swt;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
+import org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategorizationRenderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * SWTCategorizationRendererService which provides the SWTCategorizationRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class SWTCategorizationRendererService implements EMFFormsDIRendererService<VCategorization> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (VCategorization.class.isInstance(vElement)) {
+ final VCategorization categorization = VCategorization.class.cast(vElement);
+ int depth = 0;
+ EObject parent = categorization.eContainer();
+ while (!VCategorizationElement.class.isInstance(parent)) {
+ parent = parent.eContainer();
+ depth++;
+ }
+ if (VCategorizationElement.class.cast(parent).getMainCategoryDepth() < depth + 1) {
+ return 1;
+ }
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VCategorization>> getRendererClass() {
+ return SWTCategorizationRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/SWTCategoryRendererService.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/SWTCategoryRendererService.java
new file mode 100644
index 0000000..9e598b7
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/SWTCategoryRendererService.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.categorization.swt;
+
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategory;
+import org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategoryRenderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * SWTCategoryRendererService which provides the SWTCategoryRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class SWTCategoryRendererService implements EMFFormsDIRendererService<VCategory> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (VCategory.class.isInstance(vElement)) {
+ return 1;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VCategory>> getRendererClass() {
+ return SWTCategoryRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/messages.properties b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/messages.properties
deleted file mode 100644
index ddbd06c..0000000
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/internal/categorization/swt/messages.properties
+++ /dev/null
@@ -1 +0,0 @@
-Categorization_Selection=Please select a category
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/AbstractJFaceTreeRenderer.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/AbstractJFaceTreeRenderer.java
index dbc50e1..df836c9 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/AbstractJFaceTreeRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/AbstractJFaceTreeRenderer.java
@@ -31,18 +31,21 @@
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategory;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.reporting.StatusReport;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.resource.ImageDescriptor;
@@ -78,23 +81,28 @@
*/
public abstract class AbstractJFaceTreeRenderer<VELEMENT extends VElement> extends AbstractSWTRenderer<VELEMENT> {
- private SWTGridDescription gridDescription;
+ private final EMFFormsRendererFactory emfFormsRendererFactory;
+
+ private EMFFormsRendererFactory getEMFFormsRendererFactory() {
+ return emfFormsRendererFactory;
+ }
/**
* Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param emfFormsRendererFactory The {@link EMFFormsRendererFactory}
+ * @since 1.6
*/
- public AbstractJFaceTreeRenderer() {
- super();
+ public AbstractJFaceTreeRenderer(VELEMENT vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsRendererFactory emfFormsRendererFactory) {
+ super(vElement, viewContext, reportService);
+ this.emfFormsRendererFactory = emfFormsRendererFactory;
}
- /**
- * Test constructor.
- *
- * @param factory the {@link SWTRendererFactory} to use.
- */
- AbstractJFaceTreeRenderer(SWTRendererFactory factory) {
- super(factory);
- }
+ private SWTGridDescription gridDescription;
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -107,7 +115,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#dispose()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#dispose()
*/
@Override
protected void dispose() {
@@ -118,7 +126,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
* org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
*/
@@ -130,15 +138,15 @@
if (categorizations.size() == 1 && categorizations.get(0) instanceof VCategory) {
final VElement child = getCategorizations().get(0);
- final AbstractSWTRenderer<VElement> renderer = getSWTRendererFactory().getRenderer(child,
- getViewModelContext());
- if (renderer == null) {
- Activator
- .getDefault()
- .getLog()
- .log(
+ AbstractSWTRenderer<VElement> renderer;
+ try {
+ renderer = getEMFFormsRendererFactory().getRendererInstance(child,
+ getViewModelContext());
+ } catch (final EMFFormsNoRendererException ex) {
+ getReportService().report(
+ new StatusReport(
new Status(IStatus.INFO, Activator.PLUGIN_ID, String.format(
- "No Renderer for %s found.", child.eClass().getName()))); //$NON-NLS-1$
+ "No Renderer for %s found.", child.eClass().getName(), ex)))); //$NON-NLS-1$
return null;
}
final Control render = renderer.render(cell, parent);
@@ -480,15 +488,15 @@
final VElement child = (VElement) selection;
try {
- final AbstractSWTRenderer<VElement> renderer = getSWTRendererFactory().getRenderer(child,
- viewModelContext);
- if (renderer == null) {
- Activator
- .getDefault()
- .getLog()
- .log(
+ AbstractSWTRenderer<VElement> renderer;
+ try {
+ renderer = getEMFFormsRendererFactory().getRendererInstance(child,
+ viewModelContext);
+ } catch (final EMFFormsNoRendererException ex) {
+ getReportService().report(
+ new StatusReport(
new Status(IStatus.INFO, Activator.PLUGIN_ID, String.format(
- "No Renderer for %s found.", child.eClass().getName()))); //$NON-NLS-1$
+ "No Renderer for %s found.", child.eClass().getName(), ex)))); //$NON-NLS-1$
return;
}
// we have a VCategory-> thus only one element in the grid
@@ -501,9 +509,9 @@
.applyTo(render);
vCategorizationElement.setCurrentSelection((VCategorizableElement) child);
} catch (final NoRendererFoundException e) {
- Activator.getDefault().getReportService().report(new RenderingFailedReport(e));
+ getReportService().report(new RenderingFailedReport(e));
} catch (final NoPropertyDescriptorFoundExeption e) {
- Activator.getDefault().getReportService().report(new RenderingFailedReport(e));
+ getReportService().report(new RenderingFailedReport(e));
}
childComposite.layout();
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/AbstractSWTTabRenderer.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/AbstractSWTTabRenderer.java
index f196ac7..8d8fe7b 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/AbstractSWTTabRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/AbstractSWTTabRenderer.java
@@ -11,24 +11,34 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.categorization.swt;
-import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.databinding.EMFDataBindingContext;
+import org.eclipse.emf.databinding.edit.EMFEditObservables;
+import org.eclipse.emf.ecp.view.internal.categorization.swt.Activator;
import org.eclipse.emf.ecp.view.spi.categorization.model.VAbstractCategorization;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emf.ecp.view.spi.model.reporting.StatusReport;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
+import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
+import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -39,21 +49,27 @@
* @param <VELEMENT> the {@link VElement}
*/
public abstract class AbstractSWTTabRenderer<VELEMENT extends VElement> extends AbstractSWTRenderer<VELEMENT> {
+ private final EMFFormsRendererFactory emfFormsRendererFactory;
+ private final EMFDataBindingContext dataBindingContext;
- /**
- * Default constructor.
- */
- public AbstractSWTTabRenderer() {
- super();
+ private EMFFormsRendererFactory getEMFFormsRendererFactory() {
+ return emfFormsRendererFactory;
}
/**
- * Test constructor.
+ * Default constructor.
*
- * @param factory the {@link SWTRendererFactory} to use.
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param emfFormsRendererFactory The {@link EMFFormsRendererFactory}
+ * @since 1.6
*/
- AbstractSWTTabRenderer(SWTRendererFactory factory) {
- super(factory);
+ public AbstractSWTTabRenderer(VELEMENT vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsRendererFactory emfFormsRendererFactory) {
+ super(vElement, viewContext, reportService);
+ this.emfFormsRendererFactory = emfFormsRendererFactory;
+ dataBindingContext = new EMFDataBindingContext();
}
@Override
@@ -66,37 +82,43 @@
throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
final CTabFolder folder = new CTabFolder(parent, SWT.BOTTOM);
folder.setBackground(parent.getBackground());
- final ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
- new ReflectiveItemProviderAdapterFactory(),
- new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
final EList<VAbstractCategorization> categorizations = getCategorizations();
for (final VAbstractCategorization categorization : categorizations) {
final CTabItem item = new CTabItem(folder, SWT.NULL);
+ final ScrolledComposite scrolledComposite = new ScrolledComposite(folder, SWT.V_SCROLL | SWT.H_SCROLL);
- final IItemLabelProvider itemLabelProvider = (IItemLabelProvider) composedAdapterFactory.adapt(
- categorization, IItemLabelProvider.class);
+ final IObservableValue modelValue = EMFEditObservables.observeValue(
+ AdapterFactoryEditingDomain.getEditingDomainFor(categorization), categorization,
+ VViewPackage.eINSTANCE.getElement_Label());
+ final IObservableValue targetValue = SWTObservables.observeText(item);
+ dataBindingContext.bindValue(targetValue, modelValue);
- String categorizationName;
- if (itemLabelProvider == null) {
- categorizationName = "Leaf Category"; //$NON-NLS-1$
- } else {
- categorizationName = itemLabelProvider.getText(categorization);
+ AbstractSWTRenderer<VElement> renderer;
+ try {
+ renderer = getEMFFormsRendererFactory().getRendererInstance(categorization,
+ getViewModelContext());
+ } catch (final EMFFormsNoRendererException ex) {
+ getReportService().report(
+ new StatusReport(
+ new Status(IStatus.INFO, Activator.PLUGIN_ID, String.format(
+ "No Renderer for %s found.", categorization.eClass().getName(), ex)))); //$NON-NLS-1$
+ return null;
}
- item.setText(categorizationName);
-
- final AbstractSWTRenderer<VElement> renderer = getSWTRendererFactory().getRenderer(categorization,
- getViewModelContext());
final SWTGridDescription gridDescription = renderer.getGridDescription(GridDescriptionFactory.INSTANCE
.createEmptyGridDescription());
for (final SWTGridCell gridCell : gridDescription.getGrid()) {
- final Control render = renderer.render(gridCell, folder);
+ final Control render = renderer.render(gridCell, scrolledComposite);
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true)
.applyTo(render);
- item.setControl(render);
+ scrolledComposite.setExpandHorizontal(true);
+ scrolledComposite.setExpandVertical(true);
+ scrolledComposite.setContent(render);
+ scrolledComposite.setMinSize(render.computeSize(SWT.DEFAULT, SWT.DEFAULT));
+
+ item.setControl(scrolledComposite);
}
}
- composedAdapterFactory.dispose();
if (folder.getItemCount() > 0) {
folder.setSelection(0);
}
@@ -109,4 +131,16 @@
* @return the list of {@link VAbstractCategorization}
*/
protected abstract EList<VAbstractCategorization> getCategorizations();
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#dispose()
+ */
+ @Override
+ protected void dispose() {
+ dataBindingContext.dispose();
+ super.dispose();
+ }
+
}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CategorizationElementTabbedSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CategorizationElementTabbedSWTRenderer.java
index 606346b..38d4ccd 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CategorizationElementTabbedSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CategorizationElementTabbedSWTRenderer.java
@@ -11,10 +11,14 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.categorization.swt;
+import javax.inject.Inject;
+
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecp.view.spi.categorization.model.VAbstractCategorization;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
/**
* Tab renderer for VCategorizationElement.
@@ -26,18 +30,18 @@
/**
* Default constructor.
- */
- public CategorizationElementTabbedSWTRenderer() {
- super();
- }
-
- /**
- * Test constructor.
*
- * @param factory the {@link SWTRendererFactory} to use.
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param emfFormsRendererFactory The {@link EMFFormsRendererFactory}
+ * @since 1.6
*/
- CategorizationElementTabbedSWTRenderer(SWTRendererFactory factory) {
- super(factory);
+ @Inject
+ public CategorizationElementTabbedSWTRenderer(VCategorizationElement vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsRendererFactory emfFormsRendererFactory) {
+ super(vElement, viewContext, reportService, emfFormsRendererFactory);
}
/**
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CompositeCategoryJFaceTreeRenderer.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CompositeCategoryJFaceTreeRenderer.java
index 37807d4..f20b03f 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CompositeCategoryJFaceTreeRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CompositeCategoryJFaceTreeRenderer.java
@@ -11,12 +11,16 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.categorization.swt;
+import javax.inject.Inject;
+
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecp.view.spi.categorization.model.VAbstractCategorization;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
/**
* Tree renderer for composite category.
@@ -26,23 +30,23 @@
*/
public class CompositeCategoryJFaceTreeRenderer extends AbstractJFaceTreeRenderer<VCategorization> {
- private VCategorizationElement categorizationElement;
-
/**
* Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param emfFormsRendererFactory The {@link EMFFormsRendererFactory}
+ * @since 1.6
*/
- public CompositeCategoryJFaceTreeRenderer() {
- super();
+ @Inject
+ public CompositeCategoryJFaceTreeRenderer(VCategorization vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsRendererFactory emfFormsRendererFactory) {
+ super(vElement, viewContext, reportService, emfFormsRendererFactory);
}
- /**
- * Test constructor.
- *
- * @param factory the {@link SWTRendererFactory} to use.
- */
- CompositeCategoryJFaceTreeRenderer(SWTRendererFactory factory) {
- super(factory);
- }
+ private VCategorizationElement categorizationElement;
/**
* {@inheritDoc}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CompositeCategorySWTTabRenderer.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CompositeCategorySWTTabRenderer.java
index dba9cc9..a950386 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CompositeCategorySWTTabRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CompositeCategorySWTTabRenderer.java
@@ -11,10 +11,14 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.categorization.swt;
+import javax.inject.Inject;
+
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecp.view.spi.categorization.model.VAbstractCategorization;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
/**
* Tab renderer for composite category.
@@ -26,18 +30,17 @@
/**
* Default constructor.
- */
- public CompositeCategorySWTTabRenderer() {
- super();
- }
-
- /**
- * Test constructor.
*
- * @param factory the {@link SWTRendererFactory} to use.
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param emfFormsRendererFactory The {@link EMFFormsRendererFactory}
+ * @since 1.6
*/
- CompositeCategorySWTTabRenderer(SWTRendererFactory factory) {
- super(factory);
+ @Inject
+ public CompositeCategorySWTTabRenderer(VCategorization vElement, ViewModelContext viewContext,
+ ReportService reportService, EMFFormsRendererFactory emfFormsRendererFactory) {
+ super(vElement, viewContext, reportService, emfFormsRendererFactory);
}
/**
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategorizationElementRenderer.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategorizationElementRenderer.java
index 79b5028..24e0ee2 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategorizationElementRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategorizationElementRenderer.java
@@ -13,10 +13,14 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.categorization.swt;
+import javax.inject.Inject;
+
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecp.view.spi.categorization.model.VAbstractCategorization;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
/**
* The Class ViewSWTRenderer.
@@ -27,18 +31,18 @@
/**
* Default constructor.
- */
- public SWTCategorizationElementRenderer() {
- super();
- }
-
- /**
- * Test constructor.
*
- * @param factory the {@link SWTRendererFactory} to use.
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param emfFormsRendererFactory The {@link EMFFormsRendererFactory}
+ * @since 1.6
*/
- SWTCategorizationElementRenderer(SWTRendererFactory factory) {
- super(factory);
+ @Inject
+ public SWTCategorizationElementRenderer(VCategorizationElement vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsRendererFactory emfFormsRendererFactory) {
+ super(vElement, viewContext, reportService, emfFormsRendererFactory);
}
/**
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategorizationRenderer.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategorizationRenderer.java
index 8b710ac..e90c23c 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategorizationRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategorizationRenderer.java
@@ -12,16 +12,26 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.categorization.swt;
-import org.eclipse.emf.ecp.view.internal.categorization.swt.Messages;
+import javax.inject.Inject;
+
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.databinding.EMFDataBindingContext;
+import org.eclipse.emf.databinding.edit.EMFEditObservables;
+import org.eclipse.emf.ecp.view.internal.categorization.swt.MessageKeys;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
import org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProviderHelper;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
+import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -35,39 +45,46 @@
*
*/
public class SWTCategorizationRenderer extends AbstractSWTRenderer<VCategorization> {
- private SWTGridDescription rendererGridDescription;
+ private final EMFDataBindingContext dataBindingContext;
/**
* Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @since 1.6
*/
- public SWTCategorizationRenderer() {
- super();
+ @Inject
+ public SWTCategorizationRenderer(VCategorization vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ dataBindingContext = new EMFDataBindingContext();
}
+ private SWTGridDescription rendererGridDescription;
+
/**
- * Test constructor.
- *
- * @param factory the {@link SWTRendererFactory} to use.
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param factory the {@link SWTRendererFactory}
*/
- SWTCategorizationRenderer(SWTRendererFactory factory) {
- super(factory);
- }
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#dispose()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#dispose()
*/
@Override
protected void dispose() {
rendererGridDescription = null;
+ dataBindingContext.dispose();
super.dispose();
}
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -80,7 +97,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
* org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
*/
@Override
@@ -96,9 +113,14 @@
headingLbl.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_categorization_title"); //$NON-NLS-1$
final Label whatToDoLbl = new Label(categoryComposite, SWT.NONE);
whatToDoLbl.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_categorization_message"); //$NON-NLS-1$
- final String headingText = getVElement().getName();
- headingLbl.setText(headingText == null ? "" : headingText); //$NON-NLS-1$
- whatToDoLbl.setText(Messages.Categorization_Selection);
+
+ final IObservableValue modelValue = EMFEditObservables.observeValue(
+ AdapterFactoryEditingDomain.getEditingDomainFor(getVElement()), getVElement(),
+ VViewPackage.eINSTANCE.getElement_Label());
+ final IObservableValue targetValue = SWTObservables.observeText(headingLbl);
+ dataBindingContext.bindValue(targetValue, modelValue);
+
+ whatToDoLbl.setText(LocalizationServiceHelper.getString(getClass(), MessageKeys.Categorization_Selection));
return categoryComposite;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategoryRenderer.java b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategoryRenderer.java
index ef1c4d6..2769e0d 100644
--- a/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategoryRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.categorization.swt/src/org/eclipse/emf/ecp/view/spi/categorization/swt/SWTCategoryRenderer.java
@@ -15,9 +15,15 @@
import java.util.Collection;
import java.util.Collections;
+import javax.inject.Inject;
+
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
/**
* Renderer for {@link VCategory VCategories}.
@@ -28,6 +34,22 @@
public class SWTCategoryRenderer extends ContainerSWTRenderer<VCategory> {
/**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param factory the {@link EMFFormsRendererFactory}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @since 1.6
+ */
+ @Inject
+ public SWTCategoryRenderer(VCategory vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
+ super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+ }
+
+ /**
* {@inheritDoc}
*
* @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getCustomVariant()
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/.settings/.api_filters
index 4241363..3312c80 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.compoundcontrol.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model.edit"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.compoundcontrol.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.compoundcontrol.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.compoundcontrol.model.edit_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/META-INF/MANIFEST.MF
index e3ce06f..80ae5ef 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.compoundcontrol.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.compoundcontrol.model.provider.HorizontalEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.compoundcontrol.model.pro
- vider;version="1.5.1"
+ vider;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.compoundcontrol.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/pom.xml
index 93c2592..97123ce 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/src/org/eclipse/emf/ecp/view/spi/compoundcontrol/model/provider/CompoundControlItemProvider.java b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/src/org/eclipse/emf/ecp/view/spi/compoundcontrol/model/provider/CompoundControlItemProvider.java
index b3cc1c3..8daeed3 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/src/org/eclipse/emf/ecp/view/spi/compoundcontrol/model/provider/CompoundControlItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model.edit/src/org/eclipse/emf/ecp/view/spi/compoundcontrol/model/provider/CompoundControlItemProvider.java
@@ -19,6 +19,8 @@
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.spi.compoundcontrol.model.VCompoundControl;
import org.eclipse.emf.ecp.view.spi.compoundcontrol.model.VCompoundcontrolPackage;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.model.provider.ContainedElementItemProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -107,11 +109,14 @@
* <!-- begin-user-doc
* --> <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object) {
- final String label = ((VCompoundControl) object).getName();
+ String label = ((VCompoundControl) object).getName();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_CompoundControl_type") : //$NON-NLS-1$
getString("_UI_CompoundControl_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/.gitignore b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/.settings/.api_filters
index f6231ad..902254d 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/.settings/.api_filters
@@ -1,10 +1,85 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.compoundcontrol.model" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.compoundcontrol.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.compoundcontrol.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.compoundcontrol.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/compoundcontrol/model/VCompoundcontrolPackage.java" type="org.eclipse.emf.ecp.view.spi.compoundcontrol.model.VCompoundcontrolPackage">
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.compoundcontrol.model.VCompoundcontrolPackage"/>
+ <message_argument value="COMPOUND_CONTROL_FEATURE_COUNT"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.compoundcontrol.model.VCompoundcontrolPackage"/>
+ <message_argument value="COMPOUND_CONTROL__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.compoundcontrol.model.VCompoundcontrolPackage"/>
+ <message_argument value="COMPOUND_CONTROL__CONTROLS"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.compoundcontrol.model.VCompoundcontrolPackage"/>
+ <message_argument value="COMPOUND_CONTROL__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.compoundcontrol.model.VCompoundcontrolPackage"/>
+ <message_argument value="COMPOUND_CONTROL__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.compoundcontrol.model.VCompoundcontrolPackage"/>
+ <message_argument value="COMPOUND_CONTROL__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.compoundcontrol.model.VCompoundcontrolPackage"/>
+ <message_argument value="COMPOUND_CONTROL__VISIBLE"/>
+ <message_argument value="1"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/META-INF/MANIFEST.MF
index dbb2557..3036644 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.compoundcontrol.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.compoundcontrol.model;ver
- sion="1.5.1",org.eclipse.emf.ecp.view.spi.compoundcontrol.model.impl;
- version="1.5.1",org.eclipse.emf.ecp.view.spi.compoundcontrol.model.ut
- il;version="1.5.1"
+ sion="1.6.0",org.eclipse.emf.ecp.view.spi.compoundcontrol.model.impl;
+ version="1.6.0",org.eclipse.emf.ecp.view.spi.compoundcontrol.model.ut
+ il;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/pom.xml
index 936013a..6188c1e 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.model/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/.settings/.api_filters
new file mode 100644
index 0000000..fd4b217
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/.settings/.api_filters
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.emf.ecp.view.compoundcontrol.swt" version="2">
+ <resource path="META-INF/MANIFEST.MF">
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/compoundcontrol/swt/CompoundControlSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.compoundcontrol.swt.CompoundControlSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.compoundcontrol.swt.CompoundControlSWTRenderer"/>
+ <message_argument value="CompoundControlSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.compoundcontrol.swt.CompoundControlSWTRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.compoundcontrol.swt.CompoundControlSWTRenderer"/>
+ <message_argument value="renderControl(SWTGridCell, Composite)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/META-INF/MANIFEST.MF
index b7d6ee4..1cf0e77 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/META-INF/MANIFEST.MF
@@ -2,15 +2,18 @@
Bundle-ManifestVersion: 2
Bundle-Name: Compound Control SWT Renderer
Bundle-SymbolicName: org.eclipse.emf.ecp.view.compoundcontrol.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.compoundcontrol.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)"
-Import-Package: org.eclipse.swt;version="0.0.0",
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.swt;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.internal.compoundcontrol.swt;
- version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.spi.compoun
- dcontrol.swt;version="1.5.1"
+ version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.spi.compoun
+ dcontrol.swt;version="1.6.0"
Bundle-Vendor: Eclipse Modeling Project
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/pom.xml
index deb89ea..4ea439c 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/src/org/eclipse/emf/ecp/view/internal/compoundcontrol/swt/Activator.java b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/src/org/eclipse/emf/ecp/view/internal/compoundcontrol/swt/Activator.java
index c6bdba9..662bf55 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/src/org/eclipse/emf/ecp/view/internal/compoundcontrol/swt/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/src/org/eclipse/emf/ecp/view/internal/compoundcontrol/swt/Activator.java
@@ -12,7 +12,7 @@
package org.eclipse.emf.ecp.view.internal.compoundcontrol.swt;
import org.eclipse.core.runtime.Plugin;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
+import org.eclipse.emfforms.spi.common.report.ReportService;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
diff --git a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/src/org/eclipse/emf/ecp/view/spi/compoundcontrol/swt/CompoundControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/src/org/eclipse/emf/ecp/view/spi/compoundcontrol/swt/CompoundControlSWTRenderer.java
index 567d169..ff60cea 100644
--- a/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/src/org/eclipse/emf/ecp/view/spi/compoundcontrol/swt/CompoundControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.compoundcontrol.swt/src/org/eclipse/emf/ecp/view/spi/compoundcontrol/swt/CompoundControlSWTRenderer.java
@@ -18,6 +18,7 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.ecp.view.internal.compoundcontrol.swt.Activator;
import org.eclipse.emf.ecp.view.spi.compoundcontrol.model.VCompoundControl;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
import org.eclipse.emf.ecp.view.spi.model.VControl;
@@ -25,15 +26,21 @@
import org.eclipse.emf.ecp.view.spi.model.reporting.StatusReport;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
import org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProviderHelper;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* {@link AbstractSWTRenderer} for the {@link VCompoundControl} view model.
@@ -43,13 +50,24 @@
*/
public class CompoundControlSWTRenderer extends AbstractSWTRenderer<VCompoundControl> {
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @since 1.6
+ */
+ public CompoundControlSWTRenderer(VCompoundControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
private static final String COMPOUND_CONTROL = "org_eclipse_emf_ecp_ui_compound_control"; //$NON-NLS-1$
private SWTGridDescription rendererGridDescription;
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#dispose()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#dispose()
*/
@Override
protected void dispose() {
@@ -60,7 +78,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -75,7 +93,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
* org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
*/
@Override
@@ -92,12 +110,12 @@
for (final VControl child : getVElement().getControls()) {
child.setLabelAlignment(LabelAlignment.NONE);
- final AbstractSWTRenderer<VElement> renderer = getSWTRendererFactory().getRenderer(child,
- getViewModelContext());
- if (renderer == null) {
- Activator
- .getDefault()
- .getReportService()
+ AbstractSWTRenderer<VElement> renderer;
+ try {
+ renderer = getEMFFormsRendererFactory().getRendererInstance(child,
+ getViewModelContext());
+ } catch (final EMFFormsNoRendererException ex) {
+ getReportService()
.report(
new StatusReport(
new Status(IStatus.INFO, Activator.PLUGIN_ID, String.format(
@@ -128,9 +146,8 @@
}
// TODO who should apply the layout
control.setLayoutData(LayoutProviderHelper.getLayoutData(childGridCell, gridDescription,
- gridDescription,
- gridDescription, childGridCell.getRenderer().getVElement(),
- control));
+ gridDescription, gridDescription, childGridCell.getRenderer().getVElement(),
+ getViewModelContext().getDomainModel(), control));
}
for (final SWTGridCell childGridCell : gridDescription.getGrid()) {
childGridCell.getRenderer().finalizeRendering(column);
@@ -144,4 +161,12 @@
return columnComposite;
}
+ private EMFFormsRendererFactory getEMFFormsRendererFactory() {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<EMFFormsRendererFactory> serviceReference = bundleContext
+ .getServiceReference(EMFFormsRendererFactory.class);
+ final EMFFormsRendererFactory rendererFactory = bundleContext.getService(serviceReference);
+ bundleContext.ungetService(serviceReference);
+ return rendererFactory;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.context.locale/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.context.locale/META-INF/MANIFEST.MF
index d6938db..31077e0 100644
--- a/bundles/org.eclipse.emf.ecp.view.context.locale/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.context.locale/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: EMF Forms Locale View Service
Bundle-SymbolicName: org.eclipse.emf.ecp.view.context.locale;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.view.context.internal.locale;versi
- on="1.5.1";x-internal:=true
+ on="1.6.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.ecp.view.context.locale/pom.xml b/bundles/org.eclipse.emf.ecp.view.context.locale/pom.xml
index 8983274..0a7cffb 100644
--- a/bundles/org.eclipse.emf.ecp.view.context.locale/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.context.locale/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.context.locale</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.context/.gitignore b/bundles/org.eclipse.emf.ecp.view.context/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.context/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.context/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.context/META-INF/MANIFEST.MF
index 50bb8c7..e024fcb 100644
--- a/bundles/org.eclipse.emf.ecp.view.context/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.context/META-INF/MANIFEST.MF
@@ -2,15 +2,18 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Model Context
Bundle-SymbolicName: org.eclipse.emf.ecp.view.context;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.internal.context.Activator
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.common;bundle-version="[1.5.0,2.0.0)";visibility:=reexport
+ org.eclipse.emf.ecp.common;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
+ org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.view.internal.context;version="1.5
- .1";x-internal:=true,org.eclipse.emf.ecp.view.spi.context;version="1.
- 5.1"
+Export-Package: org.eclipse.emf.ecp.view.internal.context;version="1.6
+ .0";x-internal:=true,org.eclipse.emf.ecp.view.spi.context;version="1.
+ 6.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0"
diff --git a/bundles/org.eclipse.emf.ecp.view.context/pom.xml b/bundles/org.eclipse.emf.ecp.view.context/pom.xml
index 6d71e99..2749b1a 100644
--- a/bundles/org.eclipse.emf.ecp.view.context/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.context/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/internal/context/Activator.java b/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/internal/context/Activator.java
index 26573d9..52dd00f 100644
--- a/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/internal/context/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/internal/context/Activator.java
@@ -14,7 +14,8 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
@@ -82,9 +83,9 @@
}
/**
- * Returns the {@link ReportService}.
+ * Returns the {@link SWTRendererFactory}.
*
- * @return the {@link ReportService}
+ * @return the {@link SWTRendererFactory}
*/
public ReportService getReportService() {
if (reportServiceReference == null) {
@@ -94,4 +95,19 @@
return instance.getBundle().getBundleContext().getService(reportServiceReference);
}
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = instance.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = instance.getBundle().getBundleContext()
+ .getService(serviceReference);
+ instance.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/internal/context/ViewModelContextImpl.java b/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/internal/context/ViewModelContextImpl.java
index f7099a0..8d17a3f 100644
--- a/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/internal/context/ViewModelContextImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/internal/context/ViewModelContextImpl.java
@@ -37,6 +37,7 @@
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecp.common.spi.UniqueSetting;
import org.eclipse.emf.ecp.view.spi.context.GlobalViewModelService;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
@@ -224,6 +225,7 @@
if (domainObject.eResource() != null) {
return;
}
+ final EObject rootObject = EcoreUtil.getRootContainer(domainObject);
final ResourceSet rs = new ResourceSetImpl();
final AdapterFactoryEditingDomain domain = new AdapterFactoryEditingDomain(
new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
@@ -231,7 +233,7 @@
rs.eAdapters().add(new AdapterFactoryEditingDomain.EditingDomainProvider(domain));
resource = rs.createResource(URI.createURI("VIRTAUAL_URI")); //$NON-NLS-1$
if (resource != null) {
- resource.getContents().add(domainObject);
+ resource.getContents().add(rootObject);
}
}
@@ -273,7 +275,7 @@
for (final UniqueSetting setting : settingToControlMap.keySet()) {
settingToControlMap.get(setting).remove(vControl);
}
- // vControl.getDomainModelReference().init(getDomainModel());
+
final Iterator<Setting> iterator = vControl.getDomainModelReference().getIterator();
while (iterator.hasNext()) {
final Setting setting = iterator.next();
@@ -286,12 +288,31 @@
}
settingToControlMap.get(uniqueSetting).add(vControl);
}
+
+ // IObservableValue observableValue;
+ // try {
+ // observableValue = Activator.getInstance().getEMFFormsDatabinding()
+ // .getObservableValue(vControl.getDomainModelReference(), getDomainModel());
+ // } catch (final DatabindingFailedException ex) {
+ // Activator.getInstance().getReportService().report(new DatabindingFailedReport(ex));
+ // return;
+ // }
+ // final IObserving observing = (IObserving) observableValue;
+ // final EObject eObject = (EObject) observing.getObserved();
+ // final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ // observableValue.dispose();
+ // final UniqueSetting uniqueSetting = UniqueSetting.createSetting(eObject, structuralFeature);
+ // if (!settingToControlMap.containsKey(uniqueSetting)) {
+ // settingToControlMap.put(uniqueSetting, new LinkedHashSet<VControl>());
+ // }
+ // settingToControlMap.get(uniqueSetting).add(vControl);
}
private void vControlRemoved(VControl vControl) {
if (vControl.getDomainModelReference() == null) {
return;
}
+
final Iterator<Setting> iterator = vControl.getDomainModelReference().getIterator();
while (iterator.hasNext()) {
final Setting next = iterator.next();
@@ -304,6 +325,26 @@
}
}
+ // IObservableValue observableValue;
+ // try {
+ // observableValue = Activator.getInstance().getEMFFormsDatabinding()
+ // .getObservableValue(vControl.getDomainModelReference(), getDomainModel());
+ // } catch (final DatabindingFailedException ex) {
+ // Activator.getInstance().getReportService().report(new DatabindingFailedReport(ex));
+ // return;
+ // }
+ // final IObserving observing = (IObserving) observableValue;
+ // final EObject eObject = (EObject) observing.getObserved();
+ // final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ // observableValue.dispose();
+ // final UniqueSetting uniqueSetting = UniqueSetting.createSetting(eObject, structuralFeature);
+ // if (settingToControlMap.containsKey(uniqueSetting)) {
+ // settingToControlMap.get(uniqueSetting).remove(vControl);
+ // if (settingToControlMap.get(uniqueSetting).size() == 0) {
+ // settingToControlMap.remove(uniqueSetting);
+ // }
+ // }
+
vControl.getDomainModelReference().getChangeListener().remove(controlChangeListener.get(vControl));
controlChangeListener.remove(vControl);
unregisterDomainChangeListener(vControl.getDomainModelReference());
@@ -313,6 +354,25 @@
if (vControl.getDomainModelReference() == null) {
return;
}
+
+ // IObservableValue observableValue;
+ // try {
+ // observableValue = Activator.getInstance().getEMFFormsDatabinding()
+ // .getObservableValue(vControl.getDomainModelReference(), getDomainModel());
+ // } catch (final DatabindingFailedException ex) {
+ // Activator.getInstance().getReportService().report(new DatabindingFailedReport(ex));
+ // return;
+ // }
+ // final IObserving observing = (IObserving) observableValue;
+ // final EObject eObject = (EObject) observing.getObserved();
+ // final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ // observableValue.dispose();
+ // final UniqueSetting uniqueSetting = UniqueSetting.createSetting(eObject, structuralFeature);
+ // if (!settingToControlMap.containsKey(uniqueSetting)) {
+ // settingToControlMap.put(uniqueSetting, new LinkedHashSet<VControl>());
+ // }
+ // settingToControlMap.get(uniqueSetting).add(vControl);
+
final Iterator<Setting> iterator = vControl.getDomainModelReference().getIterator();
while (iterator.hasNext()) {
final Setting next = iterator.next();
@@ -325,7 +385,6 @@
}
settingToControlMap.get(uniqueSetting).add(vControl);
}
-
}
// private void eObjectRemoved(EObject eObject) {
diff --git a/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/spi/context/ViewModelServiceNotAvailableReport.java b/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/spi/context/ViewModelServiceNotAvailableReport.java
index 38eb77c..1ce01a7 100644
--- a/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/spi/context/ViewModelServiceNotAvailableReport.java
+++ b/bundles/org.eclipse.emf.ecp.view.context/src/org/eclipse/emf/ecp/view/spi/context/ViewModelServiceNotAvailableReport.java
@@ -12,7 +12,7 @@
package org.eclipse.emf.ecp.view.spi.context;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
/**
* Indicates that {@link org.eclipse.emf.ecp.view.spi.context.ViewModelService ViewModelService} is not available.
@@ -49,7 +49,7 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport#getMessage()
+ * @see org.eclipse.emfforms.spi.common.report.AbstractReport#getMessage()
*/
@Override
public String getMessage() {
@@ -61,7 +61,7 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport#getSeverity()
+ * @see org.eclipse.emfforms.spi.common.report.AbstractReport#getSeverity()
*/
@Override
public int getSeverity() {
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/.project b/bundles/org.eclipse.emf.ecp.view.control.multireference/.project
index ec2f2fb..295c112 100644
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/.project
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/.project
@@ -30,6 +30,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.control.multireference/META-INF/MANIFEST.MF
index aeda999..f3f9364 100644
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/META-INF/MANIFEST.MF
@@ -2,20 +2,27 @@
Bundle-ManifestVersion: 2
Bundle-Name: Multireference
Bundle-SymbolicName: org.eclipse.emf.ecp.view.control.multireference;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.core.databinding;bundle-version="[1.4.1,2.0.0)",
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
Import-Package: org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.emfforms.spi.swt.core;version="1.6.0",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
org.eclipse.jface.databinding.viewers;version="0.0.0",
org.eclipse.jface.layout;version="0.0.0",
org.eclipse.jface.viewers;version="0.0.0",
@@ -25,7 +32,6 @@
org.eclipse.swt.layout;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0",
org.osgi.framework;version="1.3.0"
-Export-Package: org.eclipse.emf.ecp.view.control.multireference;versio
- n="1.5.1",org.eclipse.emf.ecp.view.internal.control.multireference;ve
- rsion="1.5.1";x-internal:=true
-Bundle-Activator: org.eclipse.emf.ecp.view.internal.control.multireference.Activator
+Export-Package: org.eclipse.emf.ecp.view.internal.control.multireferen
+ ce;version="1.6.0";x-internal:=true
+Service-Component: OSGI-INF/multiReferenceRendererService.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emf.ecp.view.control.multireference/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..7c58332
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,3 @@
+MultiReferenceSWTRenderer_addExistingTooltip=Link
+MultiReferenceSWTRenderer_addNewTooltip=Create and link
+MultiReferenceSWTRenderer_deleteTooltip=Delete
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/OSGI-INF/multiReferenceRendererService.xml b/bundles/org.eclipse.emf.ecp.view.control.multireference/OSGI-INF/multiReferenceRendererService.xml
new file mode 100644
index 0000000..31ab244
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/OSGI-INF/multiReferenceRendererService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.control.multireference.rendererService">
+ <implementation class="org.eclipse.emf.ecp.view.internal.control.multireference.MultiReferenceSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+ <reference bind="setEMFFormsDatabinding" cardinality="1..1" interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding" name="EMFFormsDatabinding" policy="static" />
+ <reference bind="setReportService" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService" policy="static" />
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/build.properties b/bundles/org.eclipse.emf.ecp.view.control.multireference/build.properties
index 461e561..a2f2a9e 100644
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/build.properties
@@ -1,8 +1,8 @@
-source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.xml,\
icons/,\
- about.html
+ about.html,\
+ OSGI-INF/
src.includes = about.html
+source.. = src/
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/icons/unset_feature.png b/bundles/org.eclipse.emf.ecp.view.control.multireference/icons/unset_feature.png
new file mode 100644
index 0000000..08f2493
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/icons/unset_feature.png
Binary files differ
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/icons/unset_reference.png b/bundles/org.eclipse.emf.ecp.view.control.multireference/icons/unset_reference.png
new file mode 100644
index 0000000..f66e297
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/icons/unset_reference.png
Binary files differ
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/plugin.xml b/bundles/org.eclipse.emf.ecp.view.control.multireference/plugin.xml
deleted file mode 100644
index ea1c44c..0000000
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.view.internal.control.multireference.MultiReferenceSWTRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.internal.control.multireference.MultiReferenceRendererTester">
- </dynamicTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/pom.xml b/bundles/org.eclipse.emf.ecp.view.control.multireference/pom.xml
index 590428e..b5a16f9 100644
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
@@ -15,5 +15,5 @@
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/control/multireference/messages.properties b/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/control/multireference/messages.properties
deleted file mode 100644
index f2b21f8..0000000
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/control/multireference/messages.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-MultiReferenceSWTRenderer_addExistingTooltip=Link
-MultiReferenceSWTRenderer_addNewTooltip=Create and link
-MultiReferenceSWTRenderer_deleteTooltip=Delete
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/Activator.java b/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/Activator.java
deleted file mode 100644
index dccdb4a..0000000
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/Activator.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.control.multireference;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
-import org.eclipse.swt.graphics.Image;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Activator for this plugin.
- *
- * @author Eugen Neufeld
- *
- */
-public class Activator extends Plugin {
-
- private static Activator instance;
- private ServiceReference<ImageRegistryService> imageRegistryServiceReference;
-
- // BEGIN SUPRESS CATCH EXCEPTION
- @Override
- public void start(BundleContext bundleContext) throws Exception {
- instance = this;
- super.start(bundleContext);
- }
-
- @Override
- public void stop(BundleContext bundleContext) throws Exception {
- instance = null;
- super.stop(bundleContext);
- }
-
- // END SUPRESS CATCH EXCEPTION
-
- /**
- * Finds and returns an image for the provided path.
- *
- * @param path the path to get the image from
- * @return the image or null if nothing could be found
- */
- public static Image getImage(String path) {
-
- final Image image = instance.getImageRegistryService().getImage(instance.getBundle(), path);
-
- instance.getBundle().getBundleContext().ungetService(instance.imageRegistryServiceReference);
-
- return image;
- }
-
- private ImageRegistryService getImageRegistryService() {
- if (imageRegistryServiceReference == null) {
- imageRegistryServiceReference = getBundle().getBundleContext()
- .getServiceReference(ImageRegistryService.class);
- }
- return getBundle().getBundleContext().getService(imageRegistryServiceReference);
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MessageKeys.java b/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MessageKeys.java
new file mode 100644
index 0000000..655df24
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MessageKeys.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.control.multireference;
+
+/**
+ * Keys for translated strings.
+ *
+ * @author Eugen Neufeld
+ * @generated
+ */
+public interface MessageKeys {
+ /**
+ * Add Existing Tooltip.
+ */
+ String MultiReferenceSWTRenderer_addExistingTooltip = "MultiReferenceSWTRenderer_addExistingTooltip"; //$NON-NLS-1$
+ /**
+ * Add New Tooltip.
+ */
+ String MultiReferenceSWTRenderer_addNewTooltip = "MultiReferenceSWTRenderer_addNewTooltip"; //$NON-NLS-1$
+ String MultiReferenceSWTRenderer_deleteTooltip = "MultiReferenceSWTRenderer_deleteTooltip"; //$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/Messages.java b/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/Messages.java
deleted file mode 100644
index b71126e..0000000
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/Messages.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.control.multireference;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages file.
- *
- * @generated
- *
- * @author Eugen Neufeld
- *
- */
-public final class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.view.control.multireference.messages"; //$NON-NLS-1$
- /**
- * Add Existing Tooltip.
- */
- public static String MultiReferenceSWTRenderer_addExistingTooltip;
- /**
- * Add New Tooltip.
- */
- public static String MultiReferenceSWTRenderer_addNewTooltip;
- public static String MultiReferenceSWTRenderer_deleteTooltip;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceRendererTester.java b/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceRendererTester.java
deleted file mode 100644
index d02059c..0000000
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceRendererTester.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.control.multireference;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.model.VControl;
-import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-
-/**
- * Tester for MultiReference Control.
- *
- * @author Eugen Neufeld
- *
- */
-public class MultiReferenceRendererTester implements ECPRendererTester {
-
- @Override
- public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
- if (!VControl.class.isInstance(vElement)) {
- return NOT_APPLICABLE;
- }
- final VControl vControl = (VControl) vElement;
- final VDomainModelReference domainModelReference = vControl.getDomainModelReference();
- if (domainModelReference == null) {
- return NOT_APPLICABLE;
- }
- EStructuralFeature feature = null;
- int count = 0;
- final Iterator<EStructuralFeature> structuralFeatureIterator = domainModelReference
- .getEStructuralFeatureIterator();
- while (structuralFeatureIterator.hasNext()) {
- feature = structuralFeatureIterator.next();
- count++;
- }
- if (count != 1) {
- return NOT_APPLICABLE;
- }
- if (!feature.isMany()) {
- return NOT_APPLICABLE;
- }
- if (EAttribute.class.isInstance(feature)) {
- return NOT_APPLICABLE;
- }
- return 5;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRenderer.java
index fb0a7aa..b31faab 100644
--- a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRenderer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,34 +8,51 @@
*
* Contributors:
* Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - use data binding services
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.control.multireference;
-import java.util.Iterator;
+import java.util.Collection;
import java.util.List;
+import javax.inject.Inject;
+
+import org.eclipse.core.databinding.observable.IObserving;
import org.eclipse.core.databinding.observable.list.IObservableList;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.databinding.edit.EMFEditObservables;
+import org.eclipse.emf.databinding.EMFDataBindingContext;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.edit.internal.swt.controls.TableViewerColumnBuilder;
+import org.eclipse.emf.ecp.edit.spi.DeleteService;
+import org.eclipse.emf.ecp.edit.spi.EMFDeleteServiceImpl;
import org.eclipse.emf.ecp.edit.spi.ReferenceService;
import org.eclipse.emf.ecp.view.model.common.edit.provider.CustomReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
+import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.edit.command.RemoveCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
+import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
@@ -56,12 +73,14 @@
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.TableColumn;
+import org.osgi.framework.FrameworkUtil;
/**
* Renderer for MultiReferenceControl.
@@ -72,15 +91,38 @@
@SuppressWarnings("restriction")
public class MultiReferenceSWTRenderer extends AbstractControlSWTRenderer<VControl> {
+ private final ImageRegistryService imageRegistryService;
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param reportService The {@link ReportService}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ * @param imageRegistryService The {@link ImageRegistryService}
+ */
+ @Inject
+ public MultiReferenceSWTRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider, ImageRegistryService imageRegistryService) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ this.imageRegistryService = imageRegistryService;
+ viewModelDBC = new EMFDataBindingContext();
+ }
+
private Label validationIcon;
private AdapterFactoryLabelProvider labelProvider;
private ComposedAdapterFactory composedAdapterFactory;
private TableViewer tableViewer;
+ private final EMFDataBindingContext viewModelDBC;
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -90,7 +132,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.emf.ecp.view.spi.swt.Composite)
*/
@Override
@@ -104,15 +146,13 @@
composite.setLayout(new GridLayout(1, false));
composite.setBackgroundMode(SWT.INHERIT_FORCE);
- final Iterator<Setting> settings = getVElement().getDomainModelReference().getIterator();
- if (!settings.hasNext()) {
- return null;
+ try {
+ createTitleComposite(composite);
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new RenderingFailedReport(ex));
+ return createErrorLabel(parent, ex);
}
- final Setting mainSetting = settings.next();
-
- createTitleComposite(composite, mainSetting);
-
createLabelProvider();
final Composite controlComposite = new Composite(composite, SWT.NONE);
@@ -120,11 +160,29 @@
.hint(1, 300)
.applyTo(controlComposite);
GridLayoutFactory.fillDefaults().numColumns(1).applyTo(controlComposite);
- createContent(controlComposite, mainSetting);
+ try {
+ createContent(controlComposite);
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new RenderingFailedReport(ex));
+ return createErrorLabel(parent, ex);
+ }
return composite;
}
+ /**
+ * Creates an error label for the given {@link Exception}.
+ *
+ * @param parent The parent of the {@link Label}
+ * @param ex The {@link Exception} causing the error
+ * @return The error {@link Label}
+ */
+ protected Control createErrorLabel(Composite parent, final Exception ex) {
+ final Label errorLabel = new Label(parent, SWT.NONE);
+ errorLabel.setText(ex.getMessage());
+ return errorLabel;
+ }
+
private void createLabelProvider() {
composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
new CustomReflectiveItemProviderAdapterFactory(),
@@ -142,11 +200,12 @@
protected void dispose() {
composedAdapterFactory.dispose();
labelProvider.dispose();
+ viewModelDBC.dispose();
super.dispose();
}
- private void createTitleComposite(Composite composite, final Setting mainSetting)
- throws NoPropertyDescriptorFoundExeption {
+ private void createTitleComposite(Composite composite)
+ throws NoPropertyDescriptorFoundExeption, DatabindingFailedException {
final Composite titleComposite = new Composite(composite, SWT.NONE);
titleComposite.setBackgroundMode(SWT.INHERIT_FORCE);
GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.BEGINNING)
@@ -166,10 +225,17 @@
GridDataFactory.fillDefaults().grab(true, false).align(SWT.END, SWT.FILL)
.applyTo(buttonComposite);
+ final IObservableValue observableValue = getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+
final Button btnAddExisting = new Button(buttonComposite, SWT.PUSH);
GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(btnAddExisting);
- btnAddExisting.setImage(Activator.getImage("icons/link.png")); //$NON-NLS-1$
- btnAddExisting.setToolTipText(Messages.MultiReferenceSWTRenderer_addExistingTooltip);
+ btnAddExisting.setImage(getImage("icons/link.png")); //$NON-NLS-1$
+ btnAddExisting.setToolTipText(LocalizationServiceHelper.getString(getClass(),
+ MessageKeys.MultiReferenceSWTRenderer_addExistingTooltip));
btnAddExisting.addSelectionListener(new SelectionAdapter() {
/**
@@ -180,15 +246,16 @@
@Override
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
- handleAddExisting(tableViewer, mainSetting);
+ handleAddExisting(tableViewer, eObject, structuralFeature);
}
});
final Button btnAddNew = new Button(buttonComposite, SWT.PUSH);
GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(btnAddNew);
- btnAddNew.setImage(Activator.getImage("icons/link_add.png")); //$NON-NLS-1$
- btnAddNew.setToolTipText(Messages.MultiReferenceSWTRenderer_addNewTooltip);
+ btnAddNew.setImage(getImage("icons/link_add.png")); //$NON-NLS-1$
+ btnAddNew.setToolTipText(LocalizationServiceHelper.getString(getClass(),
+ MessageKeys.MultiReferenceSWTRenderer_addNewTooltip));
btnAddNew.addSelectionListener(new SelectionAdapter() {
/**
@@ -199,15 +266,16 @@
@Override
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
- handleAddNew(tableViewer, mainSetting);
+ handleAddNew(tableViewer, eObject, structuralFeature);
}
});
final Button btnDelete = new Button(buttonComposite, SWT.PUSH);
GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(btnDelete);
- btnDelete.setImage(Activator.getImage("icons/delete.png")); //$NON-NLS-1$
- btnDelete.setToolTipText(Messages.MultiReferenceSWTRenderer_deleteTooltip);
+ btnDelete.setImage(getImage("icons/unset_reference.png")); //$NON-NLS-1$
+ btnDelete.setToolTipText(LocalizationServiceHelper.getString(getClass(),
+ MessageKeys.MultiReferenceSWTRenderer_deleteTooltip));
btnDelete.addSelectionListener(new SelectionAdapter() {
/**
@@ -218,7 +286,7 @@
@Override
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
- handleDelete(tableViewer, mainSetting);
+ handleDelete(tableViewer, eObject, structuralFeature);
}
});
@@ -230,7 +298,11 @@
}
- private void createContent(Composite composite, Setting mainSetting) {
+ private Image getImage(String path) {
+ return imageRegistryService.getImage(FrameworkUtil.getBundle(getClass()), path);
+ }
+
+ private void createContent(Composite composite) throws DatabindingFailedException {
tableViewer = new TableViewer(composite, SWT.MULTI | SWT.V_SCROLL | SWT.FULL_SELECTION
| SWT.BORDER);
tableViewer.getTable().setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_control_multireference"); //$NON-NLS-1$
@@ -257,31 +329,37 @@
final ObservableListContentProvider cp = new ObservableListContentProvider();
- final EStructuralFeature eStructuralFeature = mainSetting.getEStructuralFeature();
- String text = eStructuralFeature.getName();
- String tooltipText = eStructuralFeature.getName();
- final IItemPropertyDescriptor itemPropertyDescriptor = getItemPropertyDescriptor(mainSetting);
- if (itemPropertyDescriptor != null) {
- text = itemPropertyDescriptor.getDisplayName(null);
- tooltipText = itemPropertyDescriptor.getDescription(null);
- }
+ final EMFFormsLabelProvider labelService = getEMFFormsLabelProvider();
final TableViewerColumn column = TableViewerColumnBuilder
.create()
- .setText(text)
- .setToolTipText(tooltipText)
.setResizable(false)
.setMoveable(false)
.setStyle(SWT.NONE)
.build(tableViewer);
+ final IObservableValue textObservableValue = SWTObservables.observeText(column.getColumn());
+ final IObservableValue tooltipObservableValue = SWTObservables.observeTooltipText(column.getColumn());
+ try {
+ viewModelDBC.bindValue(textObservableValue,
+ labelService.getDisplayName(getVElement().getDomainModelReference(), getViewModelContext()
+ .getDomainModel()));
+
+ viewModelDBC.bindValue(tooltipObservableValue,
+ labelService.getDescription(getVElement().getDomainModelReference(), getViewModelContext()
+ .getDomainModel()));
+ } catch (final NoLabelFoundException e) {
+ // FIXME Expectations?
+ getReportService().report(new RenderingFailedReport(e));
+ }
+
column.getColumn().addSelectionListener(
getSelectionAdapter(tableViewer, comparator, column.getColumn(), 0));
tableViewer.setLabelProvider(labelProvider);
tableViewer.setContentProvider(cp);
- final IObservableList list = EMFEditObservables.observeList(getEditingDomain(mainSetting),
- mainSetting.getEObject(), mainSetting.getEStructuralFeature());
+ final IObservableList list = getEMFFormsDatabinding()
+ .getObservableList(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
tableViewer.setInput(list);
final TableColumnLayout layout = new TableColumnLayout();
@@ -330,24 +408,24 @@
* Method for adding an existing element.
*
* @param tableViewer the {@link TableViewer}
- * @param setting the {@link Setting} to add to
+ * @param eObject The {@link EObject} to add to
+ * @param structuralFeature The corresponding {@link EStructuralFeature}
*/
- protected void handleAddExisting(TableViewer tableViewer, Setting setting) {
+ protected void handleAddExisting(TableViewer tableViewer, EObject eObject, EStructuralFeature structuralFeature) {
final ReferenceService referenceService = getViewModelContext().getService(ReferenceService.class);
- referenceService.addExistingModelElements(setting.getEObject(), (EReference) setting.getEStructuralFeature());
- referenceService.openInNewContext(setting.getEObject());
+ referenceService.addExistingModelElements(eObject, (EReference) structuralFeature);
}
/**
* Method for adding a new element.
*
* @param tableViewer the {@link TableViewer}
- * @param setting the {@link Setting} to add to
+ * @param eObject The {@link EObject} to add to
+ * @param structuralFeature The corresponding {@link EStructuralFeature}
*/
- protected void handleAddNew(TableViewer tableViewer, Setting setting) {
+ protected void handleAddNew(TableViewer tableViewer, EObject eObject, EStructuralFeature structuralFeature) {
final ReferenceService referenceService = getViewModelContext().getService(ReferenceService.class);
- referenceService.addNewModelElements(setting.getEObject(),
- (EReference) setting.getEStructuralFeature());
+ referenceService.addNewModelElements(eObject, (EReference) structuralFeature);
}
@@ -355,15 +433,43 @@
* Method for deleting elements.
*
* @param tableViewer the {@link TableViewer}
- * @param mainSetting the {@link Setting} to delete from
+ * @param eObject The {@link EObject} to delete from
+ * @param structuralFeature The corresponding {@link EStructuralFeature}
*/
- protected void handleDelete(TableViewer tableViewer, Setting mainSetting) {
- final List<?> deletionList = IStructuredSelection.class.cast(tableViewer.getSelection()).toList();
+ protected void handleDelete(TableViewer tableViewer, EObject eObject, EStructuralFeature structuralFeature) {
- final EObject modelElement = mainSetting.getEObject();
- final EditingDomain editingDomain = getEditingDomain(mainSetting);
- editingDomain.getCommandStack().execute(
- RemoveCommand.create(editingDomain, modelElement, mainSetting.getEStructuralFeature(), deletionList));
+ @SuppressWarnings("unchecked")
+ final List<Object> deletionList = IStructuredSelection.class.cast(tableViewer.getSelection()).toList();
+ final EditingDomain editingDomain = getEditingDomain(eObject);
+
+ /* assured by #isApplicable */
+ final EReference reference = EReference.class.cast(structuralFeature);
+
+ if (reference.isContainment()) {
+ DeleteService deleteService = getViewModelContext().getService(DeleteService.class);
+ if (deleteService == null) {
+ /*
+ * #getService(Class<?>) will report to the reportservice if it could not be found
+ * Use Default
+ */
+ deleteService = new EMFDeleteServiceImpl();
+ }
+ deleteService.deleteElements(deletionList);
+ } else {
+ removeElements(editingDomain, eObject, reference, deletionList);
+ }
+ }
+
+ private void removeElements(EditingDomain editingDomain, Object source, EStructuralFeature feature,
+ Collection<Object> toRemove) {
+ final Command removeCommand = RemoveCommand.create(editingDomain, source, feature, toRemove);
+ if (removeCommand.canExecute()) {
+ if (editingDomain.getCommandStack() == null) {
+ removeCommand.execute();
+ } else {
+ editingDomain.getCommandStack().execute(removeCommand);
+ }
+ }
}
/**
diff --git a/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRendererService.java
new file mode 100644
index 0000000..898bdb4
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.control.multireference/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceSWTRendererService.java
@@ -0,0 +1,102 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.control.multireference;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * MultiReferenceSWTRendererService which provides the MultiReferenceSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class MultiReferenceSWTRendererService implements EMFFormsDIRendererService<VControl> {
+
+ private EMFFormsDatabinding databindingService;
+ private ReportService reportService;
+
+ /**
+ * Called by the initializer to set the EMFFormsDatabinding.
+ *
+ * @param databindingService The EMFFormsDatabinding
+ */
+ protected void setEMFFormsDatabinding(EMFFormsDatabinding databindingService) {
+ this.databindingService = databindingService;
+ }
+
+ /**
+ * Called by the initializer to set the ReportService.
+ *
+ * @param reportService The ReportService
+ */
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VControl.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ final VControl vControl = (VControl) vElement;
+ final VDomainModelReference domainModelReference = vControl.getDomainModelReference();
+ if (domainModelReference == null) {
+ return NOT_APPLICABLE;
+ }
+ final VControl control = (VControl) vElement;
+
+ IValueProperty valueProperty;
+ try {
+ valueProperty = databindingService
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
+ if (!feature.isMany()) {
+ return NOT_APPLICABLE;
+ }
+ if (EAttribute.class.isInstance(feature)) {
+ return NOT_APPLICABLE;
+ }
+ return 5;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VControl>> getRendererClass() {
+ return MultiReferenceSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/.project b/bundles/org.eclipse.emf.ecp.view.core.swt/.project
index 22bcad8..c085f6f 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/.project
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/.project
@@ -30,6 +30,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.core.swt/.settings/.api_filters
new file mode 100644
index 0000000..64a347b
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/.settings/.api_filters
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.emf.ecp.view.core.swt" version="2">
+ <resource path="META-INF/MANIFEST.MF">
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/core/swt/AbstractControlSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer"/>
+ <message_argument value="AbstractControlSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer"/>
+ <message_argument value="getEditingDomain(EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer"/>
+ <message_argument value="getItemPropertyDescriptor(EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer"/>
+ <message_argument value="getModelValue(EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/core/swt/ContainerSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer"/>
+ <message_argument value="ContainerSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer"/>
+ <message_argument value="ContainerSWTRenderer(SWTRendererFactory)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer"/>
+ <message_argument value="renderControl(SWTGridCell, Composite)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlJFaceViewerSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="336695337">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer"/>
+ <message_argument value="createBindings(Viewer)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="336695337">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer"/>
+ <message_argument value="createJFaceViewer(Composite)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer"/>
+ <message_argument value="SimpleControlJFaceViewerSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer"/>
+ <message_argument value="SimpleControlJFaceViewerSWTRenderer(SWTRendererFactory)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer"/>
+ <message_argument value="createBindings(Viewer, EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer"/>
+ <message_argument value="createJFaceViewer(Composite, EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlSWTControlSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="336695337">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer"/>
+ <message_argument value="createBindings(Control)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="336695337">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer"/>
+ <message_argument value="createSWTControl(Composite)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer"/>
+ <message_argument value="SimpleControlSWTControlSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer"/>
+ <message_argument value="SimpleControlSWTControlSWTRenderer(SWTRendererFactory)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer"/>
+ <message_argument value="createBindings(Control, EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer"/>
+ <message_argument value="createSWTControl(Composite, EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer"/>
+ <message_argument value="SimpleControlSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer"/>
+ <message_argument value="renderControl(SWTGridCell, Composite)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer"/>
+ <message_argument value="setControlEnabled(SWTGridCell, Control, boolean)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer"/>
+ <message_argument value="TextControlSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer"/>
+ <message_argument value="TextControlSWTRenderer(SWTRendererFactory)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer"/>
+ <message_argument value="createBindings(Control, EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer"/>
+ <message_argument value="createSWTControl(Composite, EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer"/>
+ <message_argument value="getTextMessage(EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer"/>
+ <message_argument value="setControlEnabled(SWTGridCell, Control, boolean)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.core.swt/META-INF/MANIFEST.MF
index 5d0eae7..c9ed392 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Core SWT
Bundle-SymbolicName: org.eclipse.emf.ecp.view.core.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.internal.core.swt.Activator
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
@@ -11,10 +11,19 @@
org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)",
org.eclipse.core.databinding.property;bundle-version="1.4.200",
- org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.jface.databinding.swt;version="0.0.0",
+Import-Package: org.eclipse.emfforms.spi.common.locale;version="1.6.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
org.eclipse.jface.databinding.viewers;version="0.0.0",
org.eclipse.jface.dialogs;version="0.0.0",
org.eclipse.jface.layout;version="0.0.0",
@@ -27,10 +36,12 @@
org.eclipse.swt.layout;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.internal.core.swt;version="1.
- 5.1";x-internal:=true,org.eclipse.emf.ecp.view.internal.core.swt.rend
- erer;version="1.5.1";x-friends:="org.eclipse.emf.ecp.ui.view.editor.c
+ 6.0";x-internal:=true,org.eclipse.emf.ecp.view.internal.core.swt.rend
+ erer;version="1.6.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.c
ontrols,org.eclipse.emf.ecp.view.context.test",org.eclipse.emf.ecp.vi
- ew.spi.core.swt;version="1.5.1"; uses:="org.eclipse.emf.ecp.ui.view.s
+ ew.spi.core.swt;version="1.6.0"; uses:="org.eclipse.emf.ecp.ui.view.s
wt.internal, org.eclipse.emf.ecp.view.spi.model, org.eclipse.swt.wi
dgets, org.eclipse.emf.ecp.view.spi.context",org.eclipse.emf.ecp.vie
- w.spi.core.swt.renderer;version="1.5.1"
+ w.spi.core.swt.renderer;version="1.6.0"
+Service-Component: OSGI-INF/booleanControlService.xml,OSGI-INF/dateTimeControlService.xml,OSGI-INF/enumControlService.xml,OSGI-INF/numberControlService.xml,OSGI-INF/textControlService.xml,OSGI-INF/xmlDateControlService.xml,
+ OSGI-INF/viewRendererService.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/booleanControlService.xml b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/booleanControlService.xml
new file mode 100644
index 0000000..c320c0e
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/booleanControlService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.core.swt.boolean">
+ <implementation class="org.eclipse.emf.ecp.view.internal.core.swt.renderer.BooleanControlSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+ <reference bind="setEMFFormsDatabinding" cardinality="1..1" interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding" name="EMFFormsDatabinding" policy="static"/>
+ <reference bind="setReportService" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService" policy="static"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/dateTimeControlService.xml b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/dateTimeControlService.xml
new file mode 100644
index 0000000..64ba023
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/dateTimeControlService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.core.swt.datetime">
+ <implementation class="org.eclipse.emf.ecp.view.internal.core.swt.renderer.DateTimeControlSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+ <reference bind="setEMFFormsDatabinding" cardinality="1..1" interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding" name="EMFFormsDatabinding" policy="static"/>
+ <reference bind="setReportService" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService" policy="static"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/enumControlService.xml b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/enumControlService.xml
new file mode 100644
index 0000000..24103ff
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/enumControlService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.core.swt.enum">
+ <implementation class="org.eclipse.emf.ecp.view.internal.core.swt.renderer.EnumComboViewerSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+ <reference bind="setEMFFormsDatabinding" cardinality="1..1" interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding" name="EMFFormsDatabinding" policy="static" />
+ <reference bind="setReportService" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService" policy="static" />
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..b50df7b
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,60 @@
+###############################################################################
+# Copyright (c) 2013-2015 EclipseSource.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# EclipseSource - initial API and implementation
+################################################################################
+
+AbstractTextControl_InvalidInput=Invalid input
+AbstractTextControl_InvalidInputSpace=Invalid input
+AbstractTextControl_Unset=<unset>
+
+AttributeMultiControl_NotSetClickToSet=Not set. Click to set\!
+AttributeMultiControl_Unset=Unset
+
+BooleanControl_NoBooleanSetClickToSetBoolean=No boolean set\! Click to set boolean.
+BooleanControl_UnsetBoolean=Unset boolean
+
+DateTimeControl_NoDateSetClickToSetDate=No date set\! Click to set date.
+DateTimeControl_UnsetDate=Unset Date
+DateTimeControlSWTRenderer_CleanDate=Clean Date
+DateTimeControlSWTRenderer_SelectData=Select Date
+
+EEnumControl_NoValueSetClickToSetValue=No value set\! Click to set value.
+EEnumControl_UnsetValue=Unset value
+
+LinkControl_NoLinkSetClickToSetLink=No link set\! Click to set link.
+LinkControl_NotSet=(Not Set)
+LinkControl_UnsetLink=Unset Link
+
+NumericalControl_FormatNumerical=The format is '\#'.
+NumericalControl_FormatNumericalDecimal=The format is '\#.\#'.
+NumericalControl_InvalidNumber=Invalid Number
+NumericalControl_InvalidNumberWillBeUnset=The Number you have entered is invalid. The value will be unset.
+NumericalControl_NoNumberClickToSetNumber=No number set\! Click to set number.
+NumericalControl_UnsetNumber=Unset number
+
+ReferenceMultiControl_NotSetClickToSet=Not set. Click to set\!
+ReferenceMultiControl_Unset=Unset
+
+SimpleControlSWTRenderer_Set=Set
+SimpleControlSWTRenderer_Unset=Unset
+StringControl_NoTextSetClickToSetText=No text set\! Click to set text.
+StringControl_UnsetText=Unset text
+
+TableControl_AddInstanceOf=Add an instance of
+TableControl_Delete=Delete?
+TableControl_DeleteAreYouSure=Are you sure you want to delete the selected Elements?
+TableControl_NotSetClickToSet=Not set. Click to set\!
+TableControl_RemoveSelected=Remove the selected
+TableControl_Unset=Unset
+TableControl_ValidationStatusColumn=Validation Status
+
+XmlDateControlText_InvalidNumber=Invalid Number
+XmlDateControlText_NoDateSetClickToSetDate=No date set\! Click to set date.
+XmlDateControlText_NumberInvalidValueWillBeUnset=The Number you have entered is invalid. The value will be unset.
+XmlDateControlText_UnsetDate=Unset date
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/numberControlService.xml b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/numberControlService.xml
new file mode 100644
index 0000000..e566f15
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/numberControlService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.core.swt.number">
+ <implementation class="org.eclipse.emf.ecp.view.internal.core.swt.renderer.NumberControlSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+ <reference bind="setEMFFormsDatabinding" cardinality="1..1" interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding" name="EMFFormsDatabinding" policy="static" />
+ <reference bind="setReportService" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService" policy="static" />
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/textControlService.xml b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/textControlService.xml
new file mode 100644
index 0000000..58bd88b
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/textControlService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.core.swt.text">
+ <implementation class="org.eclipse.emf.ecp.view.internal.core.swt.renderer.TextControlSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+ <reference bind="setEMFFormsDatabinding" cardinality="1..1" interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding" name="EMFFormsDatabinding" policy="static" />
+ <reference bind="setReportService" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService" policy="static" />
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/viewRendererService.xml b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/viewRendererService.xml
new file mode 100644
index 0000000..dc69e68
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/viewRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.core.swt.view">
+ <implementation class="org.eclipse.emf.ecp.view.internal.core.swt.renderer.ViewSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/xmlDateControlService.xml b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/xmlDateControlService.xml
new file mode 100644
index 0000000..fe7d776
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/OSGI-INF/xmlDateControlService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.core.swt.xmldate">
+ <implementation class="org.eclipse.emf.ecp.view.internal.core.swt.renderer.XMLDateControlSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+ <reference bind="setEMFFormsDatabinding" cardinality="1..1" interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding" name="EMFFormsDatabinding" policy="static" />
+ <reference bind="setReportService" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService" policy="static" />
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/build.properties b/bundles/org.eclipse.emf.ecp.view.core.swt/build.properties
index 461e561..d26097c 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/build.properties
@@ -1,8 +1,16 @@
-source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.xml,\
icons/,\
- about.html
+ about.html,\
+ OSGI-INF/,\
+ OSGI-INF/booleanControlService.xml,\
+ OSGI-INF/dateTimeControlService.xml,\
+ OSGI-INF/enumControlService.xml,\
+ OSGI-INF/numberControlService.xml,\
+ OSGI-INF/textControlService.xml,\
+ OSGI-INF/xmlDateControlService.xml,\
+ OSGI-INF/viewRendererService.xml
src.includes = about.html
+source.. = src/
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/icons/set_feature.png b/bundles/org.eclipse.emf.ecp.view.core.swt/icons/set_feature.png
new file mode 100644
index 0000000..6332fef
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/icons/set_feature.png
Binary files differ
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/icons/set_reference.png b/bundles/org.eclipse.emf.ecp.view.core.swt/icons/set_reference.png
new file mode 100644
index 0000000..00be352
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/icons/set_reference.png
Binary files differ
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/icons/unset_feature.png b/bundles/org.eclipse.emf.ecp.view.core.swt/icons/unset_feature.png
new file mode 100644
index 0000000..08f2493
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/icons/unset_feature.png
Binary files differ
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/icons/unset_reference.png b/bundles/org.eclipse.emf.ecp.view.core.swt/icons/unset_reference.png
new file mode 100644
index 0000000..f66e297
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/icons/unset_reference.png
Binary files differ
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/plugin.xml b/bundles/org.eclipse.emf.ecp.view.core.swt/plugin.xml
index 74ae7bf..acce579 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/plugin.xml
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/plugin.xml
@@ -5,55 +5,12 @@
<extension
point="org.eclipse.emf.ecp.ui.view.swt.renderers">
<renderer
- renderer="org.eclipse.emf.ecp.view.internal.core.swt.renderer.ViewSWTRenderer">
- <staticTest
- element="org.eclipse.emf.ecp.view.spi.model.VView"
- priority="1">
- </staticTest>
- </renderer>
- <renderer
renderer="org.eclipse.emf.ecp.view.internal.core.swt.renderer.ECPLegacyControlSWTRenderer">
<staticTest
element="org.eclipse.emf.ecp.view.spi.model.VControl"
priority="1">
</staticTest>
</renderer>
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.model.common.TextControlRendererTester">
- </dynamicTest>
- </renderer>
- <renderer
- renderer="org.eclipse.emf.ecp.view.internal.core.swt.renderer.BooleanControlSWTRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.model.common.BooleanControlRendererTester">
- </dynamicTest>
- </renderer>
- <renderer
- renderer="org.eclipse.emf.ecp.view.internal.core.swt.renderer.EnumComboViewerSWTRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.model.common.EnumComboViewerRendererTester">
- </dynamicTest>
- </renderer>
- <renderer
- renderer="org.eclipse.emf.ecp.view.internal.core.swt.renderer.NumberControlSWTRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.model.common.NumberControlRendererTester">
- </dynamicTest>
- </renderer>
- <renderer
- renderer="org.eclipse.emf.ecp.view.internal.core.swt.renderer.DateTimeControlSWTRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.model.common.DateTimeControlRendererTester">
- </dynamicTest>
- </renderer>
- <renderer
- renderer="org.eclipse.emf.ecp.view.internal.core.swt.renderer.XMLDateControlSWTRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.model.common.XMLDateControlRendererTester">
- </dynamicTest>
- </renderer>
</extension>
</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.core.swt/pom.xml
index d66e720..0f8848a 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
@@ -15,5 +15,5 @@
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/Activator.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/Activator.java
index 7d714d2..89d6f06 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/Activator.java
@@ -15,9 +15,7 @@
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.ecp.edit.spi.ECPControlFactory;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
-import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.swt.graphics.Image;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
@@ -30,8 +28,6 @@
/** The plug-in ID. */
public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.core.swt"; //$NON-NLS-1$
- private ServiceReference<ReportService> reportServiceReference;
-
// The shared instance
private static Activator plugin;
@@ -133,35 +129,83 @@
return getBundle().getBundleContext().getService(imageRegistryServiceReference);
}
- private VTViewTemplateProvider viewTemplate;
+ // private VTViewTemplateProvider viewTemplate;
+ //
+ // /**
+ // * Returns the currentInstance of the {@link VTViewTemplateProvider}.
+ // *
+ // * @return the {@link ECPControlFactory}
+ // */
+ // public VTViewTemplateProvider getVTViewTemplateProvider() {
+ // if (viewTemplate == null) {
+ // final ServiceReference<VTViewTemplateProvider> viewTemplateReference = plugin.getBundle()
+ // .getBundleContext()
+ // .getServiceReference(VTViewTemplateProvider.class);
+ // if (viewTemplateReference != null) {
+ // viewTemplate = plugin.getBundle().getBundleContext().getService(viewTemplateReference);
+ // }
+ // }
+ // return viewTemplate;
+ // }
+ //
+ // /**
+ // * Returns the {@link ReportService}.
+ // *
+ // * @return the {@link ReportService}
+ // */
+ // public ReportService getReportService() {
+ // if (reportServiceReference == null) {
+ // reportServiceReference = plugin.getBundle().getBundleContext()
+ // .getServiceReference(ReportService.class);
+ // }
+ // return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ // }
- /**
- * Returns the currentInstance of the {@link VTViewTemplateProvider}.
- *
- * @return the {@link ECPControlFactory}
- */
- public VTViewTemplateProvider getVTViewTemplateProvider() {
- if (viewTemplate == null) {
- final ServiceReference<VTViewTemplateProvider> viewTemplateReference = plugin.getBundle()
- .getBundleContext()
- .getServiceReference(VTViewTemplateProvider.class);
- if (viewTemplateReference != null) {
- viewTemplate = plugin.getBundle().getBundleContext().getService(viewTemplateReference);
- }
- }
- return viewTemplate;
- }
-
- /**
- * Returns the {@link ReportService}.
- *
- * @return the {@link ReportService}
- */
- public ReportService getReportService() {
- if (reportServiceReference == null) {
- reportServiceReference = plugin.getBundle().getBundleContext()
- .getServiceReference(ReportService.class);
- }
- return plugin.getBundle().getBundleContext().getService(reportServiceReference);
- }
+ // /**
+ // * Returns the {@link EMFFormsDatabinding} service.
+ // *
+ // * @return The {@link EMFFormsDatabinding}
+ // */
+ // public EMFFormsDatabinding getEMFFormsDatabinding() {
+ // final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ // .getServiceReference(EMFFormsDatabinding.class);
+ //
+ // final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ // .getService(serviceReference);
+ // plugin.getBundle().getBundleContext().ungetService(serviceReference);
+ //
+ // return service;
+ // }
+ //
+ // /**
+ // * Returns the {@link EMFFormsLabelProvider} service.
+ // *
+ // * @return The {@link EMFFormsLabelProvider}
+ // */
+ // public EMFFormsLabelProvider getEMFFormsLabelProvider() {
+ // final ServiceReference<EMFFormsLabelProvider> serviceReference = plugin.getBundle().getBundleContext()
+ // .getServiceReference(EMFFormsLabelProvider.class);
+ //
+ // final EMFFormsLabelProvider service = plugin.getBundle().getBundleContext()
+ // .getService(serviceReference);
+ // plugin.getBundle().getBundleContext().ungetService(serviceReference);
+ //
+ // return service;
+ // }
+ //
+ // /**
+ // * Returns the {@link EMFFormsEditSupport} service.
+ // *
+ // * @return The {@link EMFFormsEditSupport}
+ // */
+ // public EMFFormsEditSupport getEMFFormsEditSupport() {
+ // final ServiceReference<EMFFormsEditSupport> serviceReference = plugin.getBundle().getBundleContext()
+ // .getServiceReference(EMFFormsEditSupport.class);
+ //
+ // final EMFFormsEditSupport service = plugin.getBundle().getBundleContext()
+ // .getService(serviceReference);
+ // plugin.getBundle().getBundleContext().ungetService(serviceReference);
+ //
+ // return service;
+ // }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/MessageKeys.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/MessageKeys.java
new file mode 100644
index 0000000..555aa2d
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/MessageKeys.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.core.swt;
+
+/**
+ * Keys for translated strings.
+ *
+ * @author Eugen Neufeld
+ * @generated
+ */
+public interface MessageKeys {
+ String XmlDateControlText_InvalidNumber = "XmlDateControlText_InvalidNumber"; //$NON-NLS-1$
+ String XmlDateControlText_NumberInvalidValueWillBeUnset = "XmlDateControlText_NumberInvalidValueWillBeUnset"; //$NON-NLS-1$
+
+ String NumericalControl_InvalidNumber = "NumericalControl_InvalidNumber"; //$NON-NLS-1$
+ String NumericalControl_InvalidNumberWillBeUnset = "NumericalControl_InvalidNumberWillBeUnset"; //$NON-NLS-1$
+ String NumericalControl_NoNumberClickToSetNumber = "NumericalControl_NoNumberClickToSetNumber"; //$NON-NLS-1$
+ String NumericalControl_FormatNumerical = "NumericalControl_FormatNumerical"; //$NON-NLS-1$
+ String NumericalControl_FormatNumericalDecimal = "NumericalControl_FormatNumericalDecimal"; //$NON-NLS-1$
+
+ String BooleanControl_NoBooleanSetClickToSetBoolean = "BooleanControl_NoBooleanSetClickToSetBoolean"; //$NON-NLS-1$
+
+ String DateTimeControlSWTRenderer_CleanDate = "DateTimeControlSWTRenderer_CleanDate"; //$NON-NLS-1$
+ String DateTimeControlSWTRenderer_SelectData = "DateTimeControlSWTRenderer_SelectData"; //$NON-NLS-1$
+ String DateTimeControl_NoDateSetClickToSetDate = "DateTimeControl_NoDateSetClickToSetDate"; //$NON-NLS-1$
+
+ String EEnumControl_NoValueSetClickToSetValue = "EEnumControl_NoValueSetClickToSetValue"; //$NON-NLS-1$
+
+ String XmlDateControlText_NoDateSetClickToSetDate = "XmlDateControlText_NoDateSetClickToSetDate"; //$NON-NLS-1$
+
+ String SimpleControlSWTRenderer_Set = "SimpleControlSWTRenderer_Set"; //$NON-NLS-1$
+ String SimpleControlSWTRenderer_Unset = "SimpleControlSWTRenderer_Unset"; //$NON-NLS-1$
+
+ String StringControl_NoTextSetClickToSetText = "StringControl_NoTextSetClickToSetText"; //$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlSWTRenderer.java
index 6e717b3..a213486 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlSWTRenderer.java
@@ -11,10 +11,19 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
+import javax.inject.Inject;
+
import org.eclipse.core.databinding.Binding;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecp.view.internal.core.swt.MessageKeys;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
@@ -26,31 +35,34 @@
*
*/
public class BooleanControlSWTRenderer extends SimpleControlSWTControlSWTRenderer {
- /**
- * Default constructor.
- */
- public BooleanControlSWTRenderer() {
- super();
- }
/**
- * Test constructor.
+ * Default constructor.
*
- * @param factory the {@link SWTRendererFactory} to use.
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
*/
- BooleanControlSWTRenderer(SWTRendererFactory factory) {
- super(factory);
+ @Inject
+ public BooleanControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
}
@Override
- protected Binding[] createBindings(Control control, Setting setting) {
+ protected Binding[] createBindings(Control control) throws DatabindingFailedException {
final Binding binding = getDataBindingContext().bindValue(SWTObservables.observeSelection(control),
- getModelValue(setting));
+ getModelValue());
return new Binding[] { binding };
}
@Override
- protected Control createSWTControl(final Composite parent, Setting setting) {
+ protected Control createSWTControl(final Composite parent) {
final Button check = new Button(parent, SWT.CHECK);
check.setBackground(parent.getBackground());
check.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_control_boolean"); //$NON-NLS-1$
@@ -65,7 +77,8 @@
*/
@Override
protected String getUnsetText() {
- return RendererMessages.BooleanControl_NoBooleanSetClickToSetBoolean;
+ return LocalizationServiceHelper
+ .getString(getClass(), MessageKeys.BooleanControl_NoBooleanSetClickToSetBoolean);
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlSWTRendererService.java
new file mode 100644
index 0000000..90a7ba1
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlSWTRendererService.java
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * BooleanControlSWTRendererService which provides the BooleanControlSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class BooleanControlSWTRendererService implements EMFFormsDIRendererService<VControl> {
+
+ private EMFFormsDatabinding databindingService;
+ private ReportService reportService;
+
+ /**
+ * Called by the initializer to set the EMFFormsDatabinding.
+ *
+ * @param databindingService The EMFFormsDatabinding
+ */
+ protected void setEMFFormsDatabinding(EMFFormsDatabinding databindingService) {
+ this.databindingService = databindingService;
+ }
+
+ /**
+ * Called by the initializer to set the ReportService.
+ *
+ * @param reportService The ReportService
+ */
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VControl.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = databindingService.getValueProperty(control.getDomainModelReference(),
+ viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ final EStructuralFeature eStructuralFeature = EStructuralFeature.class.cast(valueProperty.getValueType());
+ if (eStructuralFeature.isMany()) {
+ return NOT_APPLICABLE;
+ }
+ if (!EAttribute.class.isInstance(eStructuralFeature)) {
+ return NOT_APPLICABLE;
+ }
+ final EAttribute eAttribute = EAttribute.class.cast(eStructuralFeature);
+
+ final Class<?> instanceClass = eAttribute.getEAttributeType().getInstanceClass();
+ if (instanceClass == null) {
+ return NOT_APPLICABLE;
+ }
+ // if the attribute class is an primitive test the primitive types
+ if (instanceClass.isPrimitive()) {
+ if (!boolean.class.equals(instanceClass)) {
+ return NOT_APPLICABLE;
+ }
+ }
+ // otherwise test the classes itself
+ else if (!Boolean.class.isAssignableFrom(instanceClass)) {
+ return NOT_APPLICABLE;
+ }
+ return 3d;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VControl>> getRendererClass() {
+ return BooleanControlSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlSWTRenderer.java
index 0cb723c..7e1ea28 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlSWTRenderer.java
@@ -14,20 +14,32 @@
import java.util.Calendar;
import java.util.Locale;
+import javax.inject.Inject;
+
import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.UpdateValueStrategy;
+import org.eclipse.core.databinding.observable.IObserving;
import org.eclipse.core.databinding.observable.value.DateAndTimeObservableValue;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.edit.spi.ViewLocaleService;
-import org.eclipse.emf.ecp.view.internal.core.swt.Activator;
+import org.eclipse.emf.ecp.view.internal.core.swt.MessageKeys;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer;
import org.eclipse.emf.ecp.view.spi.model.ModelChangeListener;
import org.eclipse.emf.ecp.view.spi.model.ModelChangeNotification;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.dialogs.IDialogLabelKeys;
import org.eclipse.jface.layout.GridDataFactory;
@@ -46,6 +58,7 @@
import org.eclipse.swt.widgets.DateTime;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
+import org.osgi.framework.FrameworkUtil;
/**
* A control which can handle {@link java.util.Date Date}.
@@ -55,6 +68,33 @@
*/
public class DateTimeControlSWTRenderer extends SimpleControlSWTControlSWTRenderer {
+ private final EMFFormsLocalizationService localizationService;
+
+ private final ImageRegistryService imageRegistryService;
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ * @param localizationService The {@link EMFFormsLocalizationService}
+ * @param imageRegistryService The {@link ImageRegistryService}
+ */
+ @Inject
+ public DateTimeControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider, EMFFormsLocalizationService localizationService,
+ ImageRegistryService imageRegistryService) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ this.localizationService = localizationService;
+ this.imageRegistryService = imageRegistryService;
+ }
+
private Label unsetLabel;
private StackLayout stackLayout;
@@ -65,29 +105,12 @@
private Shell dialog;
- private Setting setting;
+ // private Setting setting;
private ModelChangeListener domainModelChangeListener;
- /**
- * Default constructor.
- */
- public DateTimeControlSWTRenderer() {
- super();
- }
-
- /**
- * Test constructor.
- *
- * @param factory the {@link SWTRendererFactory} to use.
- */
- DateTimeControlSWTRenderer(SWTRendererFactory factory) {
- super(factory);
- }
-
@Override
- protected Binding[] createBindings(Control control, final Setting setting) {
- this.setting = setting;
+ protected Binding[] createBindings(Control control) throws DatabindingFailedException {
final DateTime date = (DateTime) ((Composite) ((Composite) ((Composite) control).getChildren()[0])
.getChildren()[0]).getChildren()[0];
@@ -101,9 +124,9 @@
final IObservableValue dateObserver = SWTObservables.observeSelection(date);
final IObservableValue timeObserver = SWTObservables.observeSelection(time);
final IObservableValue target = new DateAndTimeObservableValue(dateObserver, timeObserver);
- final Binding binding = getDataBindingContext().bindValue(target, getModelValue(setting));
+ final Binding binding = getDataBindingContext().bindValue(target, getModelValue());
- setBtn.addSelectionListener(new SetBtnSelectionAdapterExtension(setBtn, getModelValue(setting),
+ setBtn.addSelectionListener(new SetBtnSelectionAdapterExtension(setBtn, getModelValue(),
getViewModelContext()));
unsetBtn.addSelectionListener(new UnsetBtnSelectionAdapterExtension());
@@ -112,9 +135,15 @@
@Override
public void notifyChange(ModelChangeNotification notification) {
- if (setting.getEStructuralFeature().equals(notification.getStructuralFeature())) {
+ EStructuralFeature structuralFeature;
+ try {
+ structuralFeature = (EStructuralFeature) getModelValue().getValueType();
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ if (structuralFeature.equals(notification.getStructuralFeature())) {
updateChangeListener(notification.getRawNotification().getNewValue());
-
}
}
};
@@ -137,7 +166,7 @@
}
@Override
- protected Control createSWTControl(Composite parent, Setting setting) {
+ protected Control createSWTControl(Composite parent) throws DatabindingFailedException {
composite = new Composite(parent, SWT.NONE);
composite.setBackground(parent.getBackground());
GridLayoutFactory.fillDefaults().numColumns(2).spacing(2, 0).equalWidth(false)
@@ -175,17 +204,23 @@
final Button bUnset = new Button(dateTimeComposite, SWT.PUSH);
GridDataFactory.fillDefaults().grab(false, false).align(SWT.CENTER, SWT.CENTER).applyTo(bUnset);
- bUnset.setImage(Activator.getImage("icons/delete.png")); //$NON-NLS-1$
+ bUnset
+ .setImage(imageRegistryService.getImage(FrameworkUtil.getBundle(getClass()), "icons/unset_feature.png")); //$NON-NLS-1$
bUnset.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_control_dateTime_buttonUnset"); //$NON-NLS-1$
- bUnset.setToolTipText(RendererMessages.DateTimeControlSWTRenderer_CleanDate);
+ bUnset.setToolTipText(getLocalizedString(MessageKeys.DateTimeControlSWTRenderer_CleanDate));
final Button bDate = new Button(composite, SWT.PUSH);
GridDataFactory.fillDefaults().grab(false, false).align(SWT.CENTER, SWT.CENTER).applyTo(bDate);
- bDate.setImage(Activator.getImage("icons/date.png")); //$NON-NLS-1$
+ bDate.setImage(imageRegistryService.getImage(FrameworkUtil.getBundle(getClass()), "icons/date.png")); //$NON-NLS-1$
bDate.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_control_dateTime_buttonSet"); //$NON-NLS-1$
- bDate.setToolTipText(RendererMessages.DateTimeControlSWTRenderer_SelectData);
+ bDate.setToolTipText(getLocalizedString(MessageKeys.DateTimeControlSWTRenderer_SelectData));
- if (setting.isSet()) {
+ final IObservableValue observableValue = getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ observableValue.dispose();
+ if (eObject.eIsSet(structuralFeature)) {
stackLayout.topControl = dateTimeComposite;
} else {
stackLayout.topControl = unsetLabel;
@@ -212,7 +247,11 @@
*/
@Override
protected String getUnsetText() {
- return RendererMessages.DateTimeControl_NoDateSetClickToSetDate;
+ return getLocalizedString(MessageKeys.DateTimeControl_NoDateSetClickToSetDate);
+ }
+
+ private String getLocalizedString(String key) {
+ return localizationService.getString(getClass(), key);
}
/**
@@ -296,10 +335,18 @@
@Override
public void widgetSelected(SelectionEvent e) {
- final Command removeCommand = SetCommand.create(getEditingDomain(setting), setting.getEObject(),
- setting.getEStructuralFeature(), null);
- getEditingDomain(setting).getCommandStack().execute(removeCommand);
- updateChangeListener(getModelValue(setting).getValue());
+ try {
+ final EStructuralFeature structuralFeature = (EStructuralFeature) getModelValue().getValueType();
+ final EObject eObject = (EObject) ((IObserving) getModelValue()).getObserved();
+ final Command removeCommand = SetCommand.create(getEditingDomain(eObject), eObject, structuralFeature,
+ null);
+ getEditingDomain(eObject).getCommandStack().execute(removeCommand);
+ updateChangeListener(getModelValue().getValue());
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new DatabindingFailedReport(ex));
+ // Do nothing. This should not happen because if getModelValue() fails, the control will never be
+ // rendered and consequently this code will never be executed.
+ }
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlSWTRendererService.java
new file mode 100644
index 0000000..afa8fad
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlSWTRendererService.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
+
+import java.util.Date;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * DateTimeControlSWTRendererService which provides the {@link DateTimeControlSWTRenderer}.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class DateTimeControlSWTRendererService implements EMFFormsDIRendererService<VControl> {
+
+ private EMFFormsDatabinding databindingService;
+ private ReportService reportService;
+
+ /**
+ * Called by the initializer to set the EMFFormsDatabinding.
+ *
+ * @param databindingService The EMFFormsDatabinding
+ */
+ protected void setEMFFormsDatabinding(EMFFormsDatabinding databindingService) {
+ this.databindingService = databindingService;
+ }
+
+ /**
+ * Called by the initializer to set the ReportService.
+ *
+ * @param reportService The ReportService
+ */
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VControl.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = databindingService.getValueProperty(control.getDomainModelReference(),
+ viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ final EStructuralFeature eStructuralFeature = EStructuralFeature.class.cast(valueProperty.getValueType());
+ if (eStructuralFeature.isMany()) {
+ return NOT_APPLICABLE;
+ }
+ if (!EAttribute.class.isInstance(eStructuralFeature)) {
+ return NOT_APPLICABLE;
+ }
+ final EAttribute eAttribute = EAttribute.class.cast(eStructuralFeature);
+
+ final Class<?> instanceClass = eAttribute.getEAttributeType().getInstanceClass();
+ if (instanceClass == null) {
+ return NOT_APPLICABLE;
+ }
+ if (!Date.class.isAssignableFrom(instanceClass)) {
+ return NOT_APPLICABLE;
+ }
+ return 3d;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VControl>> getRendererClass() {
+ return DateTimeControlSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ECPLegacyControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ECPLegacyControlSWTRenderer.java
index bee492c..6d3ac00 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ECPLegacyControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ECPLegacyControlSWTRenderer.java
@@ -13,13 +13,21 @@
package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
import org.eclipse.core.databinding.Binding;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.edit.internal.swt.util.SWTControl;
import org.eclipse.emf.ecp.edit.spi.ECPControlFactory;
import org.eclipse.emf.ecp.view.internal.core.swt.Activator;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* Renderer for {@link org.eclipse.swt.widgets.Control Controls}.
@@ -32,10 +40,40 @@
@Deprecated
public class ECPLegacyControlSWTRenderer extends SimpleControlSWTControlSWTRenderer {
+ private static final EMFFormsDatabinding emfFormsDatabinding;
+ private static final EMFFormsLabelProvider emfFormsLabelProvider;
+ private static final VTViewTemplateProvider vtViewTemplateProvider;
+
+ static {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(ECPLegacyControlSWTRenderer.class)
+ .getBundleContext();
+ final ServiceReference<EMFFormsDatabinding> emfFormsDatabindingServiceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ emfFormsDatabinding = bundleContext.getService(emfFormsDatabindingServiceReference);
+ final ServiceReference<EMFFormsLabelProvider> emfFormsLabelProviderServiceReference = bundleContext
+ .getServiceReference(EMFFormsLabelProvider.class);
+ emfFormsLabelProvider = bundleContext.getService(emfFormsLabelProviderServiceReference);
+ final ServiceReference<VTViewTemplateProvider> vtViewTemplateProviderServiceReference = bundleContext
+ .getServiceReference(VTViewTemplateProvider.class);
+ vtViewTemplateProvider = bundleContext.getService(vtViewTemplateProviderServiceReference);
+ }
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ */
+ public ECPLegacyControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ }
+
private SWTControl control;
@Override
- protected Control createSWTControl(Composite parent, Setting setting) {
+ protected Control createSWTControl(Composite parent) {
final ECPControlFactory controlFactory = Activator.getDefault().getECPControlFactory();
if (controlFactory == null) {
@@ -43,8 +81,8 @@
return null;
}
- control = controlFactory.createControl(SWTControl.class,
- getVElement().getDomainModelReference());
+ control = controlFactory.createControl(SWTControl.class, getViewModelContext().getDomainModel(), getVElement()
+ .getDomainModelReference());
Activator.getDefault().ungetECPControlFactory();
if (control == null) {
@@ -69,7 +107,7 @@
}
@Override
- protected Binding[] createBindings(Control control, Setting setting) {
+ protected Binding[] createBindings(Control control) {
// TODO Auto-generated method stub
return null;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerSWTRenderer.java
index a0b6b4a..38b8dbc 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerSWTRenderer.java
@@ -14,13 +14,24 @@
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+
import org.eclipse.core.databinding.Binding;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EEnumLiteral;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.internal.core.swt.MessageKeys;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.databinding.viewers.ViewersObservables;
import org.eclipse.jface.viewers.ArrayContentProvider;
@@ -36,53 +47,62 @@
*
*/
public class EnumComboViewerSWTRenderer extends SimpleControlJFaceViewerSWTRenderer {
- /**
- * Default constructor.
- */
- public EnumComboViewerSWTRenderer() {
- super();
- }
+
+ private final EMFFormsEditSupport emfFormsEditSupport;
/**
- * Test constructor.
+ * Default constructor.
*
- * @param factory the {@link SWTRendererFactory} to use.
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ * @param emfFormsEditSupport The {@link EMFFormsEditSupport}
*/
- EnumComboViewerSWTRenderer(SWTRendererFactory factory) {
- super(factory);
+ @Inject
+ public EnumComboViewerSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider, EMFFormsEditSupport emfFormsEditSupport) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ this.emfFormsEditSupport = emfFormsEditSupport;
}
@Override
- protected Binding[] createBindings(Viewer viewer, Setting setting) {
+ protected Binding[] createBindings(Viewer viewer) throws DatabindingFailedException {
final Binding binding = getDataBindingContext().bindValue(ViewersObservables.observeSingleSelection(viewer),
- getModelValue(setting));
+ getModelValue());
final Binding tooltipBinding = getDataBindingContext().bindValue(
SWTObservables.observeTooltipText(viewer.getControl()),
- getModelValue(setting));
+ getModelValue());
return new Binding[] { binding, tooltipBinding };
}
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer#createJFaceViewer(org.eclipse.swt.widgets.Composite,
- * org.eclipse.emf.ecore.EStructuralFeature.Setting)
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer#createJFaceViewer(org.eclipse.swt.widgets.Composite)
*/
@Override
- protected Viewer createJFaceViewer(Composite parent, Setting setting) {
+ protected Viewer createJFaceViewer(Composite parent) throws DatabindingFailedException {
+ final IValueProperty valueProperty = getEMFFormsDatabinding()
+ .getValueProperty(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();
final ComboViewer combo = new ComboViewer(parent);
- final IItemLabelProvider labelProvider = getItemPropertyDescriptor(setting).getLabelProvider(null);
combo.setContentProvider(new ArrayContentProvider());
combo.setLabelProvider(new LabelProvider() {
@Override
public String getText(Object element) {
- return labelProvider.getText(element);
+ return getEMFFormsEditSupport()
+ .getText(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel(), element);
}
});
final List<Object> inputValues = new ArrayList<Object>();
- for (final EEnumLiteral literal : EEnum.class.cast(setting.getEStructuralFeature().getEType()).getELiterals()) {
+ for (final EEnumLiteral literal : EEnum.class.cast(structuralFeature.getEType()).getELiterals()) {
inputValues.add(literal.getInstance());
}
combo.setInput(inputValues);
@@ -97,7 +117,12 @@
*/
@Override
protected String getUnsetText() {
- return RendererMessages.EEnumControl_NoValueSetClickToSetValue;
+ return LocalizationServiceHelper
+ .getString(getClass(), MessageKeys.EEnumControl_NoValueSetClickToSetValue);
+ }
+
+ private EMFFormsEditSupport getEMFFormsEditSupport() {
+ return emfFormsEditSupport;
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerSWTRendererService.java
new file mode 100644
index 0000000..00b81a6
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerSWTRendererService.java
@@ -0,0 +1,101 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * EnumComboSWTRendererService which provides the EnumComboSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class EnumComboViewerSWTRendererService implements EMFFormsDIRendererService<VControl> {
+
+ private EMFFormsDatabinding databindingService;
+ private ReportService reportService;
+
+ /**
+ * Called by the initializer to set the EMFFormsDatabinding.
+ *
+ * @param databindingService The EMFFormsDatabinding
+ */
+ protected void setEMFFormsDatabinding(EMFFormsDatabinding databindingService) {
+ this.databindingService = databindingService;
+ }
+
+ /**
+ * Called by the initializer to set the ReportService.
+ *
+ * @param reportService The ReportService
+ */
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VControl.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = databindingService.getValueProperty(control.getDomainModelReference(),
+ viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ final EStructuralFeature eStructuralFeature = EStructuralFeature.class.cast(valueProperty.getValueType());
+ if (eStructuralFeature.isMany()) {
+ return NOT_APPLICABLE;
+ }
+ if (!EAttribute.class.isInstance(eStructuralFeature)) {
+ return NOT_APPLICABLE;
+ }
+ final EAttribute eAttribute = EAttribute.class.cast(eStructuralFeature);
+
+ if (!EcorePackage.eINSTANCE.getEEnum().isInstance(eAttribute.getEType())) {
+ return NOT_APPLICABLE;
+ }
+ return 3d;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VControl>> getRendererClass() {
+ return EnumComboViewerSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlSWTRenderer.java
index ea8118a..5dd4b21 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlSWTRenderer.java
@@ -14,22 +14,32 @@
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.ParsePosition;
-import java.util.Locale;
+
+import javax.inject.Inject;
import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.edit.internal.swt.controls.ControlMessages;
import org.eclipse.emf.ecp.edit.internal.swt.controls.NumericalHelper;
-import org.eclipse.emf.ecp.edit.spi.ViewLocaleService;
import org.eclipse.emf.ecp.edit.spi.swt.util.ECPDialogExecutor;
import org.eclipse.emf.ecp.view.internal.core.swt.Activator;
+import org.eclipse.emf.ecp.view.internal.core.swt.MessageKeys;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
import org.eclipse.jface.dialogs.IDialogLabelKeys;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.resource.JFaceResources;
@@ -44,20 +54,34 @@
*
*/
public class NumberControlSWTRenderer extends TextControlSWTRenderer {
- /**
- * Default constructor.
- */
- public NumberControlSWTRenderer() {
- super();
- }
+
+ private final EMFFormsLocalizationService localizationService;
+ private final EMFFormsLocaleProvider localeProvider;
+ private EMFFormsLocaleChangeListener emfFormsLocaleChangeListener;
/**
- * Test constructor.
+ * Default constructor.
*
- * @param factory the {@link SWTRendererFactory} to use.
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ * @param emfFormsEditSupport The {@link EMFFormsEditSupport}
+ * @param localizationService The {@link EMFFormsLocalizationService}
+ * @param localeProvider The {@link EMFFormsLocaleProvider}
*/
- NumberControlSWTRenderer(SWTRendererFactory factory) {
- super(factory);
+ @Inject
+ public NumberControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider, EMFFormsEditSupport emfFormsEditSupport,
+ EMFFormsLocalizationService localizationService, EMFFormsLocaleProvider localeProvider) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider,
+ emfFormsEditSupport);
+ this.localizationService = localizationService;
+ this.localeProvider = localeProvider;
}
@Override
@@ -75,30 +99,57 @@
}
@Override
- protected String getTextMessage(Setting setting) {
- if (NumericalHelper.isInteger(getInstanceClass(setting.getEStructuralFeature()))) {
- return ControlMessages.NumericalControl_FormatNumerical;
- } else if (NumericalHelper.isDouble(getInstanceClass(setting.getEStructuralFeature()))) {
- return ControlMessages.NumericalControl_FormatNumericalDecimal;
+ protected String getTextMessage() {
+ try {
+ final IValueProperty valueProperty = getEMFFormsDatabinding()
+ .getValueProperty(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();
+ // if (NumericalHelper.isInteger(getInstanceClass(structuralFeature))) {
+ // return localizationService.getString(getClass(), MessageKeys.NumericalControl_FormatNumerical);
+ // } else if (NumericalHelper.isDouble(getInstanceClass(structuralFeature))) {
+ // return localizationService.getString(getClass(),
+ // MessageKeys.NumericalControl_FormatNumericalDecimal);
+ // }
+ return NumericalHelper.setupFormat(localeProvider.getLocale(),
+ getInstanceClass(structuralFeature)).toPattern();
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new DatabindingFailedReport(ex));
}
-
return ""; //$NON-NLS-1$
}
@Override
- protected Binding[] createBindings(Control control, Setting setting) {
+ protected Binding[] createBindings(final Control control) throws DatabindingFailedException {
+ final EStructuralFeature structuralFeature = (EStructuralFeature) getModelValue().getValueType();
+
final NumericalTargetToModelUpdateStrategy targetToModelStrategy = new NumericalTargetToModelUpdateStrategy(
- setting.getEStructuralFeature(), getViewModelContext(), getModelValue(setting), getDataBindingContext(),
+ structuralFeature, getViewModelContext(), getModelValue(), getDataBindingContext(),
(Text) control);
final NumericalModelToTargetUpdateStrategy modelToTargetStrategy = new NumericalModelToTargetUpdateStrategy(
- getInstanceClass(setting.getEStructuralFeature()), getViewModelContext(), false);
- final Binding binding = bindValue(control, getModelValue(setting), getDataBindingContext(),
+ getInstanceClass(structuralFeature), getViewModelContext(), false);
+ final Binding binding = bindValue(control, getModelValue(), getDataBindingContext(),
targetToModelStrategy,
modelToTargetStrategy);
- final Binding tooltipBinding = createTooltipBinding(control, getModelValue(setting), getDataBindingContext(),
+ final Binding tooltipBinding = createTooltipBinding(control, getModelValue(), getDataBindingContext(),
targetToModelStrategy,
new NumericalModelToTargetUpdateStrategy(
- getInstanceClass(setting.getEStructuralFeature()), getViewModelContext(), true));
+ getInstanceClass(structuralFeature), getViewModelContext(), true));
+
+ emfFormsLocaleChangeListener = new EMFFormsLocaleChangeListener() {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener#notifyLocaleChange()
+ */
+ @Override
+ public void notifyLocaleChange() {
+ ((Text) control).setMessage(getTextMessage());
+ binding.updateModelToTarget();
+ }
+ };
+ localeProvider.addEMFFormsLocaleChangeListener(emfFormsLocaleChangeListener);
+
return new Binding[] { binding, tooltipBinding };
}
@@ -128,7 +179,7 @@
if (value == null) {
return "";
}
- final DecimalFormat format = NumericalHelper.setupFormat(getLocale(viewModelContext),
+ final DecimalFormat format = NumericalHelper.setupFormat(localeProvider.getLocale(),
instanceClass);
return format.format(value);
}
@@ -161,7 +212,7 @@
}
private DecimalFormat getFormat() {
- return NumericalHelper.setupFormat(getLocale(viewModelContext),
+ return NumericalHelper.setupFormat(localeProvider.getLocale(),
getInstanceClass(eStructuralFeature));
}
@@ -252,8 +303,9 @@
final Object result = modelValue.getValue();
final MessageDialog messageDialog = new MessageDialog(text.getShell(),
- ControlMessages.NumericalControl_InvalidNumber, null,
- ControlMessages.NumericalControl_InvalidNumberWillBeUnset, MessageDialog.ERROR,
+ localizationService.getString(getClass(), MessageKeys.NumericalControl_InvalidNumber), null,
+ localizationService.getString(getClass(), MessageKeys.NumericalControl_InvalidNumberWillBeUnset),
+ MessageDialog.ERROR,
new String[] { JFaceResources.getString(IDialogLabelKeys.OK_LABEL_KEY) }, 0);
new ECPDialogExecutor(messageDialog) {
@@ -277,14 +329,6 @@
}
}
- private Locale getLocale(ViewModelContext viewModelContext) {
- final ViewLocaleService service = viewModelContext.getService(ViewLocaleService.class);
- if (service == null) {
- return Locale.getDefault();
- }
- return service.getLocale();
- }
-
/**
* {@inheritDoc}
*
@@ -292,7 +336,18 @@
*/
@Override
protected String getUnsetText() {
- return ControlMessages.NumericalControl_NoNumberClickToSetNumber;
+ return localizationService.getString(getClass(), MessageKeys.NumericalControl_NoNumberClickToSetNumber);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#dispose()
+ */
+ @Override
+ protected void dispose() {
+ super.dispose();
+ localeProvider.removeEMFFormsLocaleChangeListener(emfFormsLocaleChangeListener);
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlSWTRendererService.java
new file mode 100644
index 0000000..3b318e1
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlSWTRendererService.java
@@ -0,0 +1,124 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * NumberControlSWTRendererService which provides the NumberControlSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class NumberControlSWTRendererService implements EMFFormsDIRendererService<VControl> {
+
+ private static final double CONSTANT_PRIORITY = 2d;
+ private EMFFormsDatabinding databindingService;
+ private ReportService reportService;
+
+ /**
+ * Called by the initializer to set the EMFFormsDatabinding.
+ *
+ * @param databindingService The EMFFormsDatabinding
+ */
+ protected void setEMFFormsDatabinding(EMFFormsDatabinding databindingService) {
+ this.databindingService = databindingService;
+ }
+
+ /**
+ * Called by the initializer to set the ReportService.
+ *
+ * @param reportService The ReportService
+ */
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VControl.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = databindingService.getValueProperty(control.getDomainModelReference(),
+ viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ final EStructuralFeature eStructuralFeature = EStructuralFeature.class.cast(valueProperty.getValueType());
+ if (eStructuralFeature.isMany()) {
+ return NOT_APPLICABLE;
+ }
+ if (!EAttribute.class.isInstance(eStructuralFeature)) {
+ return NOT_APPLICABLE;
+ }
+ final EAttribute eAttribute = EAttribute.class.cast(eStructuralFeature);
+
+ final Class<?> instanceClass = eAttribute.getEAttributeType().getInstanceClass();
+ if (instanceClass == null) {
+ return NOT_APPLICABLE;
+ }
+ // if the attribute class is an primitive test the primitive types
+ if (instanceClass.isPrimitive()) {
+ if (int.class.equals(instanceClass)) {
+ return CONSTANT_PRIORITY;
+ }
+ else if (float.class.equals(instanceClass)) {
+ return CONSTANT_PRIORITY;
+ }
+ else if (long.class.equals(instanceClass)) {
+ return CONSTANT_PRIORITY;
+ }
+ else if (double.class.equals(instanceClass)) {
+ return CONSTANT_PRIORITY;
+ }
+ else if (short.class.equals(instanceClass)) {
+ return CONSTANT_PRIORITY;
+ }
+ }
+ // otherwise test the classes itself
+ else if (Number.class.isAssignableFrom(instanceClass)) {
+ return CONSTANT_PRIORITY;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VControl>> getRendererClass() {
+ return NumberControlSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/RendererMessages.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/RendererMessages.java
deleted file mode 100644
index 0c84aff..0000000
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/RendererMessages.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 EclipseSource.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource - initial API and implementation
- *******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @generated
- * @author Jonas
- *
- */
-
-public final class RendererMessages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.view.internal.core.swt.renderer.messages"; //$NON-NLS-1$
-
- public static String AbstractTextControl_InvalidInput;
- public static String AbstractTextControl_InvalidInputSpace;
- public static String AbstractTextControl_Unset;
-
- public static String AttributeMultiControl_NotSetClickToSet;
- public static String AttributeMultiControl_Unset;
-
- public static String BooleanControl_NoBooleanSetClickToSetBoolean;
- public static String BooleanControl_UnsetBoolean;
-
- public static String DateTimeControl_NoDateSetClickToSetDate;
- public static String DateTimeControl_UnsetDate;
-
- public static String DateTimeControlSWTRenderer_CleanDate;
-
- public static String DateTimeControlSWTRenderer_SelectData;
-
- public static String EEnumControl_NoValueSetClickToSetValue;
- public static String EEnumControl_UnsetValue;
-
- public static String LinkControl_NoLinkSetClickToSetLink;
- public static String LinkControl_NotSet;
- public static String LinkControl_UnsetLink;
-
- public static String NumericalControl_FormatNumerical;
- public static String NumericalControl_FormatNumericalDecimal;
- public static String NumericalControl_InvalidNumber;
- public static String NumericalControl_InvalidNumberWillBeUnset;
- public static String NumericalControl_NoNumberClickToSetNumber;
- public static String NumericalControl_UnsetNumber;
-
- public static String ReferenceMultiControl_NotSetClickToSet;
- public static String ReferenceMultiControl_Unset;
-
- public static String SimpleControlSWTRenderer_Set;
-
- public static String SimpleControlSWTRenderer_Unset;
-
- public static String StringControl_NoTextSetClickToSetText;
- public static String StringControl_UnsetText;
-
- public static String TableControl_AddInstanceOf;
- public static String TableControl_Delete;
- public static String TableControl_DeleteAreYouSure;
- public static String TableControl_NotSetClickToSet;
- public static String TableControl_RemoveSelected;
- public static String TableControl_Unset;
- public static String TableControl_ValidationStatusColumn;
-
- public static String XmlDateControlText_InvalidNumber;
- public static String XmlDateControlText_NoDateSetClickToSetDate;
- public static String XmlDateControlText_NumberInvalidValueWillBeUnset;
- public static String XmlDateControlText_UnsetDate;
-
- private RendererMessages() {
- }
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, RendererMessages.class);
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/TextControlSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/TextControlSWTRendererService.java
new file mode 100644
index 0000000..a3b4979
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/TextControlSWTRendererService.java
@@ -0,0 +1,105 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * TextControlSWTRendererService which provides the TextControlSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class TextControlSWTRendererService implements EMFFormsDIRendererService<VControl> {
+
+ private EMFFormsDatabinding databindingService;
+ private ReportService reportService;
+
+ /**
+ * Called by the initializer to set the EMFFormsDatabinding.
+ *
+ * @param databindingService The EMFFormsDatabinding
+ */
+ protected void setEMFFormsDatabinding(EMFFormsDatabinding databindingService) {
+ this.databindingService = databindingService;
+ }
+
+ /**
+ * Called by the initializer to set the ReportService.
+ *
+ * @param reportService The ReportService
+ */
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VControl.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = databindingService.getValueProperty(control.getDomainModelReference(),
+ viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ final EStructuralFeature eStructuralFeature = EStructuralFeature.class.cast(valueProperty.getValueType());
+ if (eStructuralFeature.isMany()) {
+ return NOT_APPLICABLE;
+ }
+ if (!EAttribute.class.isInstance(eStructuralFeature)) {
+ return NOT_APPLICABLE;
+ }
+ final EAttribute eAttribute = EAttribute.class.cast(eStructuralFeature);
+
+ final Class<?> instanceClass = eAttribute.getEAttributeType().getInstanceClass();
+ if (instanceClass == null) {
+ return NOT_APPLICABLE;
+ }
+ if (String.class.isAssignableFrom(instanceClass)) {
+ return 1.1d;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VControl>> getRendererClass() {
+ return TextControlSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewSWTRenderer.java
index 989aa6e..ce789e2 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewSWTRenderer.java
@@ -15,88 +15,47 @@
import java.util.Collection;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import javax.inject.Inject;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.model.VContainedContainer;
import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
-import org.eclipse.emf.ecp.view.spi.model.VControl;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
-import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.swt.SWT;
+import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
+import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Text;
/**
* The Class ViewSWTRenderer.
*/
-public class ViewSWTRenderer extends ContainerSWTRenderer<VView> {
+public class ViewSWTRenderer extends ContainerSWTRenderer<VView> implements EMFFormsLocaleChangeListener {
+
+ private Composite renderControl;
+ private final EMFFormsLocaleProvider localeProvider;
+
/**
* Default constructor.
- */
- public ViewSWTRenderer() {
- super();
- }
-
- /**
- * Test constructor.
*
- * @param factory the {@link SWTRendererFactory} to use.
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param factory the {@link EMFFormsRendererFactory}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param localeProvider The {@link EMFFormsLocaleProvider}
*/
- ViewSWTRenderer(SWTRendererFactory factory) {
- super(factory);
- }
-
- @Override
- protected final void setLayoutDataForControl(SWTGridCell gridCell,
- SWTGridDescription controlGridDescription,
- SWTGridDescription currentRowGridDescription, SWTGridDescription fullGridDescription, VElement vElement,
- Control control) {
- if (VControl.class.isInstance(vElement)) {
- // last column of control
- if (gridCell.getColumn() + gridCell.getHorizontalSpan() == controlGridDescription.getColumns()) {
- getControlGridData(gridCell.getHorizontalSpan() + fullGridDescription.getColumns()
- - currentRowGridDescription.getColumns(), VControl.class.cast(vElement), control).applyTo(control);
- } else if (controlGridDescription.getColumns() == 3 && gridCell.getColumn() == 0) {
- GridDataFactory.fillDefaults().grab(false, false)
- .align(SWT.BEGINNING, SWT.CENTER).applyTo(control);
- } else if (controlGridDescription.getColumns() == 3 && gridCell.getColumn() == 1) {
- GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER)
- .hint(16, 17).grab(false, false).applyTo(control);
- } else if (controlGridDescription.getColumns() == 2 && gridCell.getColumn() == 0) {
- GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER)
- .hint(16, 17).grab(false, false).applyTo(control);
- }
- } else if (VContainedContainer.class.isInstance(vElement)) {
- GridDataFactory
- .fillDefaults()
- .align(gridCell.isHorizontalFill() ? SWT.FILL : SWT.BEGINNING,
- gridCell.isVerticalFill() ? SWT.FILL : SWT.CENTER)
- .grab(gridCell.isHorizontalGrab(), false)
- .span(gridCell.getHorizontalSpan() + fullGridDescription.getColumns()
- - currentRowGridDescription.getColumns(), 1).applyTo(control);
- }
- else {
- // we have some kind of container -> render with necessary span
- GridDataFactory
- .fillDefaults()
- .align(gridCell.isHorizontalFill() ? SWT.FILL : SWT.BEGINNING,
- gridCell.isVerticalFill() ? SWT.FILL : SWT.CENTER)
- .grab(gridCell.isHorizontalGrab(), gridCell.isVerticalGrab())
- .span(gridCell.getHorizontalSpan() + fullGridDescription.getColumns()
- - currentRowGridDescription.getColumns(), 1).applyTo(control);
- }
-
+ @Inject
+ public ViewSWTRenderer(VView vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding, EMFFormsLocaleProvider localeProvider) {
+ super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+ this.localeProvider = localeProvider;
+ localeProvider.addEMFFormsLocaleChangeListener(this);
}
/**
@@ -109,11 +68,6 @@
return getVElement().getChildren();
}
- @Override
- protected Layout getLayout(int numControls, boolean equalWidth) {
- return GridLayoutFactory.fillDefaults().numColumns(numControls).equalWidth(equalWidth).create();
- }
-
/**
* {@inheritDoc}
*
@@ -124,35 +78,38 @@
return "org_eclipse_emf_ecp_ui_layout_view"; //$NON-NLS-1$
}
- private GridDataFactory getControlGridData(int xSpan, VControl vControl, Control control) {
- GridDataFactory gdf =
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER)
- .grab(true, false).span(xSpan, 1);
-
- if (Text.class.isInstance(control) && vControl.getDomainModelReference() != null) {
- final Setting setting = vControl.getDomainModelReference().getIterator().next();
-
- if (isMultiLine(setting)) {
- gdf = gdf.hint(50, 200); // set x hint to enable wrapping
- }
- }
-
- return gdf;
+ /**
+ * {@inheritDoc}
+ *
+ * @see EMFFormsLocaleChangeListener#notifyLocaleChange()
+ */
+ @Override
+ public void notifyLocaleChange() {
+ renderControl.layout(true, true);
}
- private boolean isMultiLine(Setting setting) {
- final ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
- new ReflectiveItemProviderAdapterFactory(),
- new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
- final AdapterFactoryItemDelegator adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(
- composedAdapterFactory);
- final IItemPropertyDescriptor descriptor = adapterFactoryItemDelegator.getPropertyDescriptor(
- setting.getEObject(), setting.getEStructuralFeature());
- final boolean multiline = descriptor.isMultiLine(null);
-
- composedAdapterFactory.dispose();
-
- return multiline;
-
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
+ * org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Control renderControl(SWTGridCell gridCell, Composite parent) throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption {
+ renderControl = (Composite) super.renderControl(gridCell, parent);
+ return renderControl;
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#dispose()
+ */
+ @Override
+ protected void dispose() {
+ localeProvider.removeEMFFormsLocaleChangeListener(this);
+ super.dispose();
+ }
+
}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewSWTRendererService.java
new file mode 100644
index 0000000..594d138
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewSWTRendererService.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * ViewSWTRendererService which provides the ViewSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class ViewSWTRendererService implements EMFFormsDIRendererService<VView> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VView.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ return 3d;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VView>> getRendererClass() {
+ return ViewSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlSWTRenderer.java
index 06f1b26..3ded12e 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlSWTRenderer.java
@@ -19,24 +19,33 @@
import java.util.Locale;
import java.util.regex.Pattern;
+import javax.inject.Inject;
import javax.xml.datatype.XMLGregorianCalendar;
import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.edit.internal.swt.controls.ControlMessages;
import org.eclipse.emf.ecp.edit.internal.swt.util.DateUtil;
-import org.eclipse.emf.ecp.edit.spi.ViewLocaleService;
import org.eclipse.emf.ecp.edit.spi.swt.util.ECPDialogExecutor;
-import org.eclipse.emf.ecp.view.internal.core.swt.Activator;
+import org.eclipse.emf.ecp.view.internal.core.swt.MessageKeys;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer;
import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.dialogs.IDialogLabelKeys;
import org.eclipse.jface.dialogs.MessageDialog;
@@ -56,6 +65,7 @@
import org.eclipse.swt.widgets.DateTime;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
+import org.osgi.framework.FrameworkUtil;
/**
* @author Eugen
@@ -64,6 +74,38 @@
@SuppressWarnings("restriction")
public class XMLDateControlSWTRenderer extends TextControlSWTRenderer {
+ private final EMFFormsLocaleProvider localeProvider;
+ private final EMFFormsLocalizationService localizationService;
+ private final ImageRegistryService imageRegistryService;
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ * @param emfFormsEditSupport The {@link EMFFormsEditSupport}
+ * @param localizationService The {@link EMFFormsLocalizationService}
+ * @param localeProvider The {@link EMFFormsLocaleProvider}
+ * @param imageRegistryService The {@link ImageRegistryService}
+ */
+ @Inject
+ public XMLDateControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider, EMFFormsEditSupport emfFormsEditSupport,
+ EMFFormsLocalizationService localizationService, EMFFormsLocaleProvider localeProvider,
+ ImageRegistryService imageRegistryService) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider,
+ emfFormsEditSupport);
+ this.localizationService = localizationService;
+ this.localeProvider = localeProvider;
+ this.imageRegistryService = imageRegistryService;
+ }
+
private static final DateFormat CHECK_FORMAT = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH); //$NON-NLS-1$
private static final Pattern CHECK_PATTERN = Pattern.compile("^\\d{4}-\\d{2}-\\d{2}$"); //$NON-NLS-1$
@@ -101,7 +143,7 @@
final DateTime calendar = new DateTime(dialog, SWT.CALENDAR | SWT.BORDER);
final XMLGregorianCalendar gregorianCalendar = (XMLGregorianCalendar) modelValue.getValue();
- final Calendar cal = Calendar.getInstance(getLocale(viewModelContext));
+ final Calendar cal = Calendar.getInstance(localeProvider.getLocale());
if (gregorianCalendar != null) {
cal.setTime(gregorianCalendar.toGregorianCalendar().getTime());
}
@@ -230,8 +272,9 @@
final Object result = modelValue.getValue();
final MessageDialog messageDialog = new MessageDialog(text.getShell(),
- ControlMessages.XmlDateControlText_InvalidNumber, null,
- ControlMessages.XmlDateControlText_NumberInvalidValueWillBeUnset, MessageDialog.ERROR,
+ LocalizationServiceHelper.getString(getClass(), MessageKeys.XmlDateControlText_InvalidNumber), null,
+ LocalizationServiceHelper.getString(getClass(),
+ MessageKeys.XmlDateControlText_NumberInvalidValueWillBeUnset), MessageDialog.ERROR,
new String[] { JFaceResources.getString(IDialogLabelKeys.OK_LABEL_KEY) }, 0);
new ECPDialogExecutor(messageDialog) {
@@ -251,41 +294,26 @@
}
private Shell dialog;
-
- /**
- * Default constructor.
- */
- public XMLDateControlSWTRenderer() {
- super();
- }
-
- /**
- * Test constructor.
- *
- * @param factory the renderer factory
- */
- /* package */XMLDateControlSWTRenderer(SWTRendererFactory factory) {
- super(factory);
- }
+ private EMFFormsLocaleChangeListener emfFormsLocaleChangeListener;
@Override
- protected Control createSWTControl(Composite parent, Setting setting) {
+ protected Control createSWTControl(Composite parent) {
final Composite main = new Composite(parent, SWT.NONE);
main.setBackground(parent.getBackground());
GridLayoutFactory.fillDefaults().numColumns(2).applyTo(main);
GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.BEGINNING).applyTo(main);
- final Control text = super.createSWTControl(main, setting);
+ final Text text = (Text) super.createSWTControl(main);
GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.CENTER).applyTo(text);
final Button bDate = new Button(main, SWT.PUSH);
GridDataFactory.fillDefaults().grab(false, false).align(SWT.CENTER, SWT.CENTER).applyTo(bDate);
- bDate.setImage(Activator.getImage("icons/date.png")); //$NON-NLS-1$
+ bDate.setImage(imageRegistryService.getImage(FrameworkUtil.getBundle(getClass()), "icons/date.png")); //$NON-NLS-1$
bDate.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_control_xmldate"); //$NON-NLS-1$
return main;
}
@Override
- protected String getTextMessage(Setting setting) {
+ protected String getTextMessage() {
return ((SimpleDateFormat) setupFormat()).toPattern();
}
@@ -295,26 +323,43 @@
}
@Override
- protected Binding[] createBindings(Control control, Setting setting) {
+ protected Binding[] createBindings(Control control) throws DatabindingFailedException {
+ final EStructuralFeature structuralFeature = (EStructuralFeature) getModelValue().getValueType();
final Text text = (Text) ((Composite) control).getChildren()[0];
final Button button = (Button) ((Composite) control).getChildren()[1];
- button.addSelectionListener(new SelectionAdapterExtension(text, button, getModelValue(setting),
+ button.addSelectionListener(new SelectionAdapterExtension(text, button, getModelValue(),
getViewModelContext(),
- getDataBindingContext(), setting.getEStructuralFeature()));
+ getDataBindingContext(), structuralFeature));
final IObservableValue value = SWTObservables.observeText(text, SWT.FocusOut);
final DateTargetToModelUpdateStrategy targetToModelUpdateStrategy = new DateTargetToModelUpdateStrategy(
- setting.getEStructuralFeature(), getModelValue(setting), getDataBindingContext(),
+ structuralFeature, getModelValue(), getDataBindingContext(),
text);
final DateModelToTargetUpdateStrategy modelToTargetUpdateStrategy = new DateModelToTargetUpdateStrategy(false);
- final Binding binding = getDataBindingContext().bindValue(value, getModelValue(setting),
+ final Binding binding = getDataBindingContext().bindValue(value, getModelValue(),
targetToModelUpdateStrategy, modelToTargetUpdateStrategy);
- final Binding tooltipBinding = createTooltipBinding(control, getModelValue(setting), getDataBindingContext(),
+ final Binding tooltipBinding = createTooltipBinding(control, getModelValue(), getDataBindingContext(),
targetToModelUpdateStrategy, new DateModelToTargetUpdateStrategy(true));
+
+ emfFormsLocaleChangeListener = new EMFFormsLocaleChangeListener() {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener#notifyLocaleChange()
+ */
+ @Override
+ public void notifyLocaleChange() {
+ text.setMessage(getTextMessage());
+ binding.updateModelToTarget();
+ }
+ };
+ localeProvider.addEMFFormsLocaleChangeListener(emfFormsLocaleChangeListener);
+
return new Binding[] { binding, tooltipBinding };
}
@@ -324,19 +369,11 @@
* @return the {@link DateFormat}
*/
protected DateFormat setupFormat() {
- final DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM, getLocale(getViewModelContext()));
+ final DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM, localeProvider.getLocale());
df.setLenient(false);
return df;
}
- private Locale getLocale(ViewModelContext viewModelContext) {
- final ViewLocaleService service = viewModelContext.getService(ViewLocaleService.class);
- if (service == null) {
- return Locale.getDefault();
- }
- return service.getLocale();
- }
-
/**
* {@inheritDoc}
*
@@ -366,7 +403,8 @@
*/
@Override
protected String getUnsetText() {
- return RendererMessages.XmlDateControlText_NoDateSetClickToSetDate;
+ return localizationService
+ .getString(getClass(), MessageKeys.XmlDateControlText_NoDateSetClickToSetDate);
}
/**
@@ -379,6 +417,7 @@
if (dialog != null && !dialog.isDisposed()) {
dialog.dispose();
}
+ localeProvider.removeEMFFormsLocaleChangeListener(emfFormsLocaleChangeListener);
super.dispose();
}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlSWTRendererService.java
new file mode 100644
index 0000000..cc48e31
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlSWTRendererService.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
+
+import javax.xml.datatype.XMLGregorianCalendar;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * XMLDateControlSWTRendererService which provides the {@link XMLDateControlSWTRenderer}.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class XMLDateControlSWTRendererService implements EMFFormsDIRendererService<VControl> {
+
+ private EMFFormsDatabinding databindingService;
+ private ReportService reportService;
+
+ /**
+ * Called by the initializer to set the EMFFormsDatabinding.
+ *
+ * @param databindingService The EMFFormsDatabinding
+ */
+ protected void setEMFFormsDatabinding(EMFFormsDatabinding databindingService) {
+ this.databindingService = databindingService;
+ }
+
+ /**
+ * Called by the initializer to set the ReportService.
+ *
+ * @param reportService The ReportService
+ */
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VControl.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = databindingService.getValueProperty(control.getDomainModelReference(),
+ viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ final EStructuralFeature eStructuralFeature = EStructuralFeature.class.cast(valueProperty.getValueType());
+ if (eStructuralFeature.isMany()) {
+ return NOT_APPLICABLE;
+ }
+ if (!EAttribute.class.isInstance(eStructuralFeature)) {
+ return NOT_APPLICABLE;
+ }
+ final EAttribute eAttribute = EAttribute.class.cast(eStructuralFeature);
+
+ final Class<?> instanceClass = eAttribute.getEAttributeType().getInstanceClass();
+ if (instanceClass == null) {
+ return NOT_APPLICABLE;
+ }
+ if (!XMLGregorianCalendar.class.isAssignableFrom(instanceClass)) {
+ return NOT_APPLICABLE;
+ }
+ return 3d;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VControl>> getRendererClass() {
+ return XMLDateControlSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/messages.properties b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/messages.properties
deleted file mode 100644
index 866b1ac..0000000
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/messages.properties
+++ /dev/null
@@ -1,60 +0,0 @@
-###############################################################################
-# Copyright (c) 2013 EclipseSource.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# EclipseSource - initial API and implementation
-################################################################################
-
-AbstractTextControl_InvalidInput=Invalid input
-AbstractTextControl_InvalidInputSpace=Invalid input
-AbstractTextControl_Unset=<unset>
-
-AttributeMultiControl_NotSetClickToSet=Not set. Click to set\!
-AttributeMultiControl_Unset=Unset
-
-BooleanControl_NoBooleanSetClickToSetBoolean=No boolean set\! Click to set boolean.
-BooleanControl_UnsetBoolean=Unset boolean
-
-DateTimeControl_NoDateSetClickToSetDate=No date set\! Click to set date.
-DateTimeControl_UnsetDate=Unset Date
-DateTimeControlSWTRenderer_CleanDate=Clean Date
-DateTimeControlSWTRenderer_SelectData=Select Date
-
-EEnumControl_NoValueSetClickToSetValue=No value set\! Click to set value.
-EEnumControl_UnsetValue=Unset value
-
-LinkControl_NoLinkSetClickToSetLink=No link set\! Click to set link.
-LinkControl_NotSet=(Not Set)
-LinkControl_UnsetLink=Unset Link
-
-NumericalControl_FormatNumerical=The format is '\#'.
-NumericalControl_FormatNumericalDecimal=The format is '\#.\#'.
-NumericalControl_InvalidNumber=Invalid Number
-NumericalControl_InvalidNumberWillBeUnset=The Number you have entered is invalid. The value will be unset.
-NumericalControl_NoNumberClickToSetNumber=No number set\! Click to set number.
-NumericalControl_UnsetNumber=Unset number
-
-ReferenceMultiControl_NotSetClickToSet=Not set. Click to set\!
-ReferenceMultiControl_Unset=Unset
-
-SimpleControlSWTRenderer_Set=Set
-SimpleControlSWTRenderer_Unset=Unset
-StringControl_NoTextSetClickToSetText=No text set\! Click to set text.
-StringControl_UnsetText=Unset text
-
-TableControl_AddInstanceOf=Add an instance of
-TableControl_Delete=Delete?
-TableControl_DeleteAreYouSure=Are you sure you want to delete the selected Elements?
-TableControl_NotSetClickToSet=Not set. Click to set\!
-TableControl_RemoveSelected=Remove the selected
-TableControl_Unset=Unset
-TableControl_ValidationStatusColumn=Validation Status
-
-XmlDateControlText_InvalidNumber=Invalid Number
-XmlDateControlText_NoDateSetClickToSetDate=No date set\! Click to set date.
-XmlDateControlText_NumberInvalidValueWillBeUnset=The Number you have entered is invalid. The value will be unset.
-XmlDateControlText_UnsetDate=Unset date
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/AbstractControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/AbstractControlSWTRenderer.java
index f68354f..7a845d5 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/AbstractControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/AbstractControlSWTRenderer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -11,36 +11,38 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.core.swt;
-import java.util.Iterator;
-import java.util.Map.Entry;
import java.util.Set;
import org.eclipse.core.databinding.DataBindingContext;
+import org.eclipse.core.databinding.UpdateValueStrategy;
+import org.eclipse.core.databinding.observable.IObserving;
import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.observable.value.WritableValue;
-import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.databinding.EMFDataBindingContext;
-import org.eclipse.emf.databinding.edit.EMFEditProperties;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.edit.spi.swt.util.SWTValidationHelper;
-import org.eclipse.emf.ecp.view.internal.core.swt.Activator;
-import org.eclipse.emf.ecp.view.model.common.edit.provider.CustomReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.DomainModelReferenceChangeListener;
import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
import org.eclipse.emf.ecp.view.spi.model.VControl;
-import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
import org.eclipse.emf.ecp.view.template.model.VTStyleProperty;
import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.ecp.view.template.style.mandatory.model.VTMandatoryFactory;
import org.eclipse.emf.ecp.view.template.style.mandatory.model.VTMandatoryStyleProperty;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
@@ -58,37 +60,72 @@
*/
public abstract class AbstractControlSWTRenderer<VCONTROL extends VControl> extends AbstractSWTRenderer<VCONTROL> {
- private AdapterFactoryItemDelegator adapterFactoryItemDelegator;
- private ComposedAdapterFactory composedAdapterFactory;
- private DataBindingContext dataBindingContext;
+ private final EMFFormsDatabinding emfFormsDatabinding;
+ private final EMFFormsLabelProvider emfFormsLabelProvider;
+ private final VTViewTemplateProvider vtViewTemplateProvider;
+ private boolean isDisposed;
private IObservableValue modelValue;
- private final WritableValue value = new WritableValue();
- private DomainModelReferenceChangeListener domainModelReferenceChangeListener;
/**
* Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param reportService The {@link ReportService}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ * @since 1.6
*/
- public AbstractControlSWTRenderer() {
- super();
+ public AbstractControlSWTRenderer(VCONTROL vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider) {
+ super(vElement, viewContext, reportService);
+ this.emfFormsDatabinding = emfFormsDatabinding;
+ this.emfFormsLabelProvider = emfFormsLabelProvider;
+ this.vtViewTemplateProvider = vtViewTemplateProvider;
+ viewModelDBC = new EMFDataBindingContext();
+ isDisposed = false;
}
/**
- * Test constructor.
+ * The {@link EMFFormsDatabinding} to use.
*
- * @param factory the {@link SWTRendererFactory} to use.
+ * @return The EMFFormsDatabinding
+ * @since 1.6
*/
- AbstractControlSWTRenderer(SWTRendererFactory factory) {
- super(factory);
+ protected EMFFormsDatabinding getEMFFormsDatabinding() {
+ return emfFormsDatabinding;
}
+ /**
+ * The {@link EMFFormsLabelProvider} to use.
+ *
+ * @return The EMFFormsLabelProvider
+ * @since 1.6
+ */
+ protected EMFFormsLabelProvider getEMFFormsLabelProvider() {
+ return emfFormsLabelProvider;
+ }
+
+ /**
+ * The {@link VTViewTemplateProvider} to use.
+ *
+ * @return The VTViewTemplateProvider
+ * @since 1.6
+ */
+ protected VTViewTemplateProvider getVTViewTemplateProvider() {
+ return vtViewTemplateProvider;
+ }
+
+ private DataBindingContext dataBindingContext;
+ private DomainModelReferenceChangeListener domainModelReferenceChangeListener;
+ private final EMFDataBindingContext viewModelDBC;
+
+ // TODO is this needed?
@Override
protected void postInit() {
super.postInit();
- composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
- new CustomReflectiveItemProviderAdapterFactory(),
- new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
- adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(
- composedAdapterFactory);
domainModelReferenceChangeListener = new DomainModelReferenceChangeListener() {
@Override
@@ -97,39 +134,31 @@
@Override
public void run() {
- if (!value.isDisposed()) {
- updateControl();
- }
+ applyEnable();
}
});
}
};
getVElement().getDomainModelReference().getChangeListener().add(domainModelReferenceChangeListener);
- updateControl();
+ applyEnable();
}
@Override
protected void dispose() {
+ isDisposed = true;
if (getVElement().getDomainModelReference() != null) {
getVElement().getDomainModelReference().getChangeListener().remove(domainModelReferenceChangeListener);
}
domainModelReferenceChangeListener = null;
- if (value != null) {
- value.dispose();
- }
- if (composedAdapterFactory != null) {
- composedAdapterFactory.dispose();
- composedAdapterFactory = null;
- }
if (dataBindingContext != null) {
dataBindingContext.dispose();
dataBindingContext = null;
}
+ viewModelDBC.dispose();
if (modelValue != null) {
modelValue.dispose();
- modelValue = null;
}
super.dispose();
}
@@ -151,24 +180,11 @@
* @return the color to be used as a background color
*/
protected final Color getValidationBackgroundColor(int severity) {
- return SWTValidationHelper.INSTANCE
- .getValidationBackgroundColor(severity, getVElement(), getViewModelContext());
- }
-
- /**
- * Return the {@link IItemPropertyDescriptor} describing this {@link Setting}.
- *
- * @param setting the {@link Setting} to use for identifying the {@link IItemPropertyDescriptor}.
- * @return the {@link IItemPropertyDescriptor}
- */
- protected final IItemPropertyDescriptor getItemPropertyDescriptor(Setting setting) {
- if (setting == null) {
+ if (isDisposed) {
return null;
}
- final IItemPropertyDescriptor descriptor = adapterFactoryItemDelegator.getPropertyDescriptor(
- setting.getEObject(),
- setting.getEStructuralFeature());
- return descriptor;
+ return SWTValidationHelper.INSTANCE
+ .getValidationBackgroundColor(severity, getVElement(), getViewModelContext());
}
/**
@@ -184,31 +200,32 @@
}
/**
- * Returns an {@link IObservableValue} based on the provided {@link Setting}.
+ * Returns an {@link IObservableValue} based on the control's domain model reference and domain model.
*
- * @param setting the {@link Setting} to get the {@link IObservableValue} for
* @return the {@link IObservableValue}
+ * @throws DatabindingFailedException if the databinding of the domain model object fails.
+ * @since 1.6
*/
- protected final IObservableValue getModelValue(final Setting setting) {
+ protected final IObservableValue getModelValue() throws DatabindingFailedException {
if (modelValue == null) {
+ final VDomainModelReference ref = getVElement().getDomainModelReference();
+ final EObject eObject = getViewModelContext().getDomainModel();
- modelValue = EMFEditProperties.value(getEditingDomain(setting), setting.getEStructuralFeature())
- .observeDetail(
- value);
- // modelValue = EMFEditObservables.observeValue(getEditingDomain(setting),
- // setting.getEObject(), setting.getEStructuralFeature());
+ final EMFFormsDatabinding databindingService = getEMFFormsDatabinding();
+ modelValue = databindingService.getObservableValue(ref, eObject);
}
return modelValue;
}
/**
- * Returns the {@link EditingDomain} for the provided {@link Setting}.
+ * Returns the {@link EditingDomain} for the provided {@link EObject domain model}.
*
- * @param setting the provided {@link Setting}
- * @return the {@link EditingDomain} of this {@link Setting}
+ * @param domainModel The provided {@link EObject domain model}
+ * @return The {@link EditingDomain} of this {@link EObject domain model}
+ * @since 1.6
*/
- protected final EditingDomain getEditingDomain(Setting setting) {
- return AdapterFactoryEditingDomain.getEditingDomainFor(setting.getEObject());
+ protected final EditingDomain getEditingDomain(EObject domainModel) {
+ return AdapterFactoryEditingDomain.getEditingDomainFor(domainModel);
}
/**
@@ -216,38 +233,57 @@
*
* @param parent the {@link Composite} to render onto
* @return the created {@link Control} or null
- * @throws NoPropertyDescriptorFoundExeption thrown if the {@link org.eclipse.emf.ecore.EStructuralFeature
- * EStructuralFeature} of the {@link VControl} doesn't have a registered {@link IItemPropertyDescriptor}
*/
- protected final Control createLabel(final Composite parent)
- throws NoPropertyDescriptorFoundExeption {
+ protected final Control createLabel(final Composite parent) {
Label label = null;
labelRender: if (getVElement().getLabelAlignment() == LabelAlignment.LEFT) {
- if (!getVElement().getDomainModelReference().getIterator().hasNext()) {
+ final VDomainModelReference domainModelReference = getVElement().getDomainModelReference();
+ final IValueProperty valueProperty;
+ try {
+ valueProperty = getEMFFormsDatabinding().getValueProperty(domainModelReference,
+ getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new RenderingFailedReport(ex));
break labelRender;
}
- final Setting setting = getVElement().getDomainModelReference().getIterator().next();
- if (setting == null) {
- break labelRender;
- }
- final IItemPropertyDescriptor itemPropertyDescriptor = getItemPropertyDescriptor(setting);
- if (itemPropertyDescriptor == null) {
- throw new NoPropertyDescriptorFoundExeption(setting.getEObject(), setting.getEStructuralFeature());
- }
-
+ final EMFFormsLabelProvider labelProvider = getEMFFormsLabelProvider();
label = new Label(parent, SWT.NONE);
label.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_control_label"); //$NON-NLS-1$
label.setBackground(parent.getBackground());
- String extra = ""; //$NON-NLS-1$
- final VTMandatoryStyleProperty mandatoryStyle = getMandatoryStyle();
- if (mandatoryStyle.isHighliteMandatoryFields() && setting.getEStructuralFeature().getLowerBound() > 0) {
- extra = mandatoryStyle.getMandatoryMarker();
- }
- final String labelText = itemPropertyDescriptor.getDisplayName(setting.getEObject());
- if (labelText != null && labelText.trim().length() != 0) {
- label.setText(labelText + extra);
- label.setToolTipText(itemPropertyDescriptor.getDescription(setting.getEObject()));
+
+ final EObject rootObject = getViewModelContext().getDomainModel();
+ try {
+ final IObservableValue textObservable = SWTObservables.observeText(label);
+ final IObservableValue displayNameObservable = labelProvider.getDisplayName(domainModelReference,
+ rootObject);
+ viewModelDBC.bindValue(textObservable, displayNameObservable, null, new UpdateValueStrategy() {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object)
+ */
+ @Override
+ public Object convert(Object value) {
+ String extra = ""; //$NON-NLS-1$
+ final VTMandatoryStyleProperty mandatoryStyle = getMandatoryStyle();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();
+ if (mandatoryStyle.isHighliteMandatoryFields() && structuralFeature.getLowerBound() > 0) {
+ extra = mandatoryStyle.getMandatoryMarker();
+ }
+ final String result = (String) super.convert(value);
+ return result + extra;
+ }
+
+ });
+ final IObservableValue tooltipObservable = SWTObservables.observeTooltipText(label);
+ final IObservableValue descriptionObservable = labelProvider.getDescription(domainModelReference,
+ rootObject);
+ viewModelDBC.bindValue(tooltipObservable, descriptionObservable);
+ } catch (final NoLabelFoundException e) {
+ // FIXME Expectations?
+ getReportService().report(new RenderingFailedReport(e));
}
}
@@ -255,7 +291,6 @@
}
private VTMandatoryStyleProperty getMandatoryStyle() {
- final VTViewTemplateProvider vtViewTemplateProvider = Activator.getDefault().getVTViewTemplateProvider();
if (vtViewTemplateProvider == null) {
return getDefaultStyle();
}
@@ -285,16 +320,22 @@
return validationLabel;
}
- private void updateControl() {
- final Iterator<Setting> settings = getVElement().getDomainModelReference().getIterator();
- if (settings.hasNext()) {
- value.setValue(settings.next().getEObject());
- applyEnable();
- } else {
- value.setValue(null);
- for (final Entry<SWTGridCell, Control> entry : getControls().entrySet()) {
- setControlEnabled(entry.getKey(), entry.getValue(), false);
-
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#applyEnable()
+ * @since 1.6
+ */
+ @Override
+ protected void applyEnable() {
+ for (final SWTGridCell gridCell : getControls().keySet()) {
+ try {
+ final boolean observedNotNull = ((IObserving) getModelValue()).getObserved() != null;
+ final boolean enabled = observedNotNull && getVElement().isEnabled();
+ setControlEnabled(gridCell, getControls().get(gridCell), enabled);
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new DatabindingFailedReport(ex));
+ setControlEnabled(gridCell, getControls().get(gridCell), false);
}
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/ContainerSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/ContainerSWTRenderer.java
index 9328064..fd41612 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/ContainerSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/ContainerSWTRenderer.java
@@ -21,24 +21,27 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.ecp.view.internal.core.swt.Activator;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
import org.eclipse.emf.ecp.view.spi.model.VContainer;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
import org.eclipse.emf.ecp.view.spi.model.reporting.StatusReport;
import org.eclipse.emf.ecp.view.spi.model.util.ViewModelUtil;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractAdditionalSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
import org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProviderHelper;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
@@ -55,28 +58,42 @@
*
*/
public abstract class ContainerSWTRenderer<VELEMENT extends VElement> extends AbstractSWTRenderer<VELEMENT> {
- private SWTGridDescription rendererGridDescription;
+ private final EMFFormsRendererFactory factory;
+ private final EMFFormsDatabinding emfFormsDatabinding;
+
+ /**
+ * The {@link EMFFormsRendererFactory} to use.
+ *
+ * @return the {@link EMFFormsRendererFactory}
+ * @since 1.6
+ */
+ protected final EMFFormsRendererFactory getEMFFormsRendererFactory() {
+ return factory;
+ }
/**
* Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param factory the {@link EMFFormsRendererFactory}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @since 1.6
*/
- public ContainerSWTRenderer() {
- super();
+ public ContainerSWTRenderer(VELEMENT vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
+ super(vElement, viewContext, reportService);
+ this.factory = factory;
+ this.emfFormsDatabinding = emfFormsDatabinding;
}
- /**
- * Test constructor.
- *
- * @param factory the {@link SWTRendererFactory} to use.
- */
- protected ContainerSWTRenderer(SWTRendererFactory factory) {
- super(factory);
- }
+ private SWTGridDescription rendererGridDescription;
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -89,7 +106,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
* org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
*/
@Override
@@ -100,7 +117,6 @@
return null;
}
- final ReportService reportService = Activator.getDefault().getReportService();
final Composite columnComposite = getComposite(parent);
columnComposite.setData(CUSTOM_VARIANT, getCustomVariant());
columnComposite.setBackground(parent.getBackground());
@@ -112,23 +128,24 @@
for (final VContainedElement child : getChildren()) {
- if (VControl.class.isInstance(child) && (VControl.class.cast(child).getDomainModelReference() == null
- || !VControl.class.cast(child).getDomainModelReference().getIterator().hasNext())) {
+ if (!isValidElement(child)) {
continue;
}
- final AbstractSWTRenderer<VElement> renderer = getSWTRendererFactory().getRenderer(child,
- getViewModelContext());
-
- if (renderer == null) {
- reportService.report(new StatusReport(
- new Status(IStatus.INFO, Activator.PLUGIN_ID, String.format(
- "No Renderer for %s found.", child.eClass().getName())))); //$NON-NLS-1$
+ AbstractSWTRenderer<VElement> renderer;
+ try {
+ renderer = getEMFFormsRendererFactory().getRendererInstance(child,
+ getViewModelContext());
+ } catch (final EMFFormsNoRendererException ex) {
+ getReportService().report(
+ new StatusReport(
+ new Status(IStatus.INFO, Activator.PLUGIN_ID, String.format(
+ "No Renderer for %s found.", child.eClass().getName()), ex))); //$NON-NLS-1$
continue;
}
- final Collection<AbstractAdditionalSWTRenderer<VElement>> additionalRenderers = getSWTRendererFactory()
- .getAdditionalRenderer(child,
+ final Collection<AbstractAdditionalSWTRenderer<VElement>> additionalRenderers = getEMFFormsRendererFactory()
+ .getAdditionalRendererInstances(child,
getViewModelContext());
SWTGridDescription gridDescription = renderer.getGridDescription(GridDescriptionFactory.INSTANCE
.createEmptyGridDescription());
@@ -153,8 +170,7 @@
}
columnComposite.setLayout(getLayout(maximalGridDescription.getColumns(), false));
for (final VContainedElement child : getChildren()) {
- if (VControl.class.isInstance(child) && (VControl.class.cast(child).getDomainModelReference() == null
- || !VControl.class.cast(child).getDomainModelReference().getIterator().hasNext())) {
+ if (!isValidElement(child)) {
continue;
}
final SWTGridDescription gridDescription = rowGridDescription.get(child);
@@ -168,13 +184,13 @@
control = childGridCell.getRenderer().render(childGridCell,
columnComposite);
} catch (final NoRendererFoundException ex) {
- reportService.report(new RenderingFailedReport(ex));
+ getReportService().report(new RenderingFailedReport(ex));
if (ViewModelUtil.isDebugMode()) {
control = renderDiagnoseControl(columnComposite, child);
}
} catch (final NoPropertyDescriptorFoundExeption ex) {
- reportService.report(new RenderingFailedReport(ex));
+ getReportService().report(new RenderingFailedReport(ex));
if (ViewModelUtil.isDebugMode()) {
control = renderDiagnoseControl(columnComposite, child);
}
@@ -199,6 +215,33 @@
return columnComposite;
}
+ private boolean isValidElement(VContainedElement child) {
+ if (VControl.class.isInstance(child)) {
+ if (VControl.class.cast(child).getDomainModelReference() == null) {
+ return false;
+ }
+ // TODO: define behaviour that defines when a control is valid
+ // try {
+ // getEMFFormsDatabinding()
+ // .getValueProperty(VControl.class.cast(child).getDomainModelReference());
+ // } catch (final DatabindingFailedException ex) {
+ // getReportService().report(new RenderingFailedReport(ex));
+ // return false;
+ // }
+ }
+ return true;
+ }
+
+ /**
+ * Package visible method, to allow an easy replacement.
+ *
+ * @return The EMFFormsDatabinding
+ */
+ private EMFFormsDatabinding getEMFFormsDatabinding() {
+ // Method is eventually needed to check the validity of controls that are to be rendered.
+ return emfFormsDatabinding;
+ }
+
// TODO: possible duplicate code
private Control renderDiagnoseControl(Composite parent, VContainedElement child) throws NoRendererFoundException,
NoPropertyDescriptorFoundExeption {
@@ -254,9 +297,29 @@
}
/**
+ * Sets the LayoutData for the specified control.
+ *
+ * @param gridCell the {@link GridCell} used to render the control
+ * @param gridDescription the {@link GridDescription} of the parent which rendered the control
+ * @param currentRowGridDescription the {@link GridDescription} of the current row
+ * @param fullGridDescription the {@link GridDescription} of the whole container
+ * @param vElement the {@link VElement} to set the layoutData for
+ * @param control the control to set the layout to
+ * @since 1.6
+ */
+ protected void setLayoutDataForControl(SWTGridCell gridCell, SWTGridDescription gridDescription,
+ SWTGridDescription currentRowGridDescription, SWTGridDescription fullGridDescription, VElement vElement,
+ Control control) {
+
+ control.setLayoutData(LayoutProviderHelper.getLayoutData(gridCell, gridDescription, currentRowGridDescription,
+ fullGridDescription, vElement, getViewModelContext().getDomainModel(), control));
+
+ }
+
+ /**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#dispose()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#dispose()
*/
@Override
protected void dispose() {
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlJFaceViewerSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlJFaceViewerSWTRenderer.java
index dfa9a09..88a06c2 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlJFaceViewerSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlJFaceViewerSWTRenderer.java
@@ -13,8 +13,13 @@
package org.eclipse.emf.ecp.view.spi.core.swt;
import org.eclipse.core.databinding.Binding;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
@@ -31,18 +36,20 @@
/**
* Default constructor.
- */
- public SimpleControlJFaceViewerSWTRenderer() {
- super();
- }
-
- /**
- * Test constructor.
*
- * @param factory the {@link SWTRendererFactory} to use.
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ * @since 1.6
*/
- protected SimpleControlJFaceViewerSWTRenderer(SWTRendererFactory factory) {
- super(factory);
+ public SimpleControlJFaceViewerSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
}
/**
@@ -50,13 +57,12 @@
*
* @param parent the {@link Composite} to render onto
* @return the rendered control
+ * @throws DatabindingFailedException if the creation of the control fails due to failed databinding
*/
@Override
- protected final Control createControl(Composite parent) {
- final Setting setting = getVElement().getDomainModelReference().getIterator().next();
-
- final Viewer viewer = createJFaceViewer(parent, setting);
- final Binding[] bindings = createBindings(viewer, setting);
+ protected final Control createControl(Composite parent) throws DatabindingFailedException {
+ final Viewer viewer = createJFaceViewer(parent);
+ final Binding[] bindings = createBindings(viewer);
viewer.getControl().addDisposeListener(new DisposeListener() {
@@ -77,19 +83,20 @@
* Create the {@link Binding Bindings} for this controls.
*
* @param viewer the {@link Viewer} to create the binding for
- * @param setting the current {@link Setting}
* @return all the bindings created by this renderer
+ * @throws DatabindingFailedException if the creation of the bindings failed
+ * @since 1.6
*/
- protected abstract Binding[] createBindings(Viewer viewer,
- Setting setting);
+ protected abstract Binding[] createBindings(Viewer viewer) throws DatabindingFailedException;
/**
* Creates the {@link Viewer}.
*
* @param parent the {@link Composite} to use as a parent
- * @param setting the {@link Setting}
* @return the created {@link Viewer}
+ * @throws DatabindingFailedException if the databinding fails
+ * @since 1.6
*/
- protected abstract Viewer createJFaceViewer(Composite parent, Setting setting);
+ protected abstract Viewer createJFaceViewer(Composite parent) throws DatabindingFailedException;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlSWTControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlSWTControlSWTRenderer.java
index d3727e6..0cf6ba4 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlSWTControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlSWTControlSWTRenderer.java
@@ -13,8 +13,13 @@
package org.eclipse.emf.ecp.view.spi.core.swt;
import org.eclipse.core.databinding.Binding;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.widgets.Composite;
@@ -27,20 +32,23 @@
*
*/
public abstract class SimpleControlSWTControlSWTRenderer extends SimpleControlSWTRenderer {
- /**
- * Default constructor.
- */
- public SimpleControlSWTControlSWTRenderer() {
- super();
- }
/**
- * Test constructor.
+ * Default constructor.
*
- * @param factory the {@link SWTRendererFactory} to use.
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ * @since 1.6
*/
- protected SimpleControlSWTControlSWTRenderer(SWTRendererFactory factory) {
- super(factory);
+ public SimpleControlSWTControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
}
/**
@@ -48,19 +56,15 @@
*
* @param parent the {@link Composite} to render onto
* @return the rendered control
+ * @throws DatabindingFailedException if the databinding of the control fails
*/
@Override
- protected final Control createControl(Composite parent) {
- if (!getVElement().getDomainModelReference().getIterator().hasNext()) {
- return null;
- }
- final Setting setting = getVElement().getDomainModelReference().getIterator().next();
-
- final Control control = createSWTControl(parent, setting);
+ protected final Control createControl(Composite parent) throws DatabindingFailedException {
+ final Control control = createSWTControl(parent);
if (control == null) {
return null;
}
- final Binding[] bindings = createBindings(control, setting);
+ final Binding[] bindings = createBindings(control);
control.addDisposeListener(new DisposeListener() {
@Override
@@ -81,18 +85,20 @@
* Create the {@link Binding Bindings} for this controls.
*
* @param control the {@link Control} to create the binding for
- * @param setting the current {@link Setting}
* @return all the bindings created by this renderer
+ * @throws DatabindingFailedException if the creation of the bindings fails.
+ * @since 1.6
*/
- protected abstract Binding[] createBindings(Control control, Setting setting);
+ protected abstract Binding[] createBindings(Control control) throws DatabindingFailedException;
/**
* Creates the Control.
*
* @param parent the {@link Composite} to use as a parent
- * @param setting the {@link Setting}
* @return the created control
+ * @throws DatabindingFailedException if the creation of the control fails due to databinding problems
+ * @since 1.6
*/
- protected abstract Control createSWTControl(Composite parent, Setting setting);
+ protected abstract Control createSWTControl(Composite parent) throws DatabindingFailedException;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlSWTRenderer.java
index 1a7aab1..b2a242b 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/SimpleControlSWTRenderer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -11,24 +11,32 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.core.swt;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.internal.core.swt.Activator;
-import org.eclipse.emf.ecp.view.internal.core.swt.renderer.RendererMessages;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
import org.eclipse.emf.ecp.view.spi.model.VControl;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
-import org.eclipse.emf.ecp.view.spi.model.util.ViewModelUtil;
import org.eclipse.emf.ecp.view.spi.provider.ECPTooltipModifierHelper;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.swt.SWT;
@@ -47,28 +55,35 @@
*
*/
public abstract class SimpleControlSWTRenderer extends AbstractControlSWTRenderer<VControl> {
- private SWTGridDescription rendererGridDescription;
+
+ private static final String ICONS_UNSET_REFERENCE = "icons/unset_reference.png"; //$NON-NLS-1$
+ private static final String ICONS_UNSET_FEATURE = "icons/unset_feature.png"; //$NON-NLS-1$
+ private static final String ICONS_SET_REFERENCE = "icons/set_reference.png"; //$NON-NLS-1$
+ private static final String ICONS_SET_FEATURE = "icons/set_feature.png"; //$NON-NLS-1$
/**
* Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ * @since 1.6
*/
- public SimpleControlSWTRenderer() {
- super();
+ public SimpleControlSWTRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
}
- /**
- * Test constructor.
- *
- * @param factory the {@link SWTRendererFactory} to use.
- */
- SimpleControlSWTRenderer(SWTRendererFactory factory) {
- super(factory);
- }
+ private SWTGridDescription rendererGridDescription;
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
*/
@Override
public final SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -82,7 +97,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
* org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
*/
@Override
@@ -98,15 +113,23 @@
case 1:
return createValidationIcon(parent);
case 2:
- if (isUnsettable()) {
- return createUnsettableControl(parent);
+ try {
+ if (isUnsettable()) {
+ return createUnsettableControl(parent);
+ }
+ return createControl(parent);
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new RenderingFailedReport(ex));
+ final Label errorLabel = new Label(parent, SWT.NONE);
+ errorLabel.setText(ex.getMessage());
+ return errorLabel;
}
- return createControl(parent);
default:
throw new IllegalArgumentException(
String
.format(
- "The provided SWTGridCell (%1$s) cannot be used by this (%2$s) renderer.", gridCell.toString(), toString())); //$NON-NLS-1$
+ "The provided SWTGridCell (%1$s) cannot be used by this (%2$s) renderer.", gridCell.toString(), //$NON-NLS-1$
+ toString()));
}
}
@@ -114,12 +137,16 @@
* Returns true if the control is unsettable.
*
* @return true if unsettable, false otherwise
+ * @throws DatabindingFailedException if the databinding fails
*/
- protected boolean isUnsettable() {
- return getVElement().getDomainModelReference().getEStructuralFeatureIterator().next().isUnsettable();
+ protected boolean isUnsettable() throws DatabindingFailedException {
+ final IValueProperty valueProperty = getEMFFormsDatabinding()
+ .getValueProperty(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
+ return feature.isUnsettable();
}
- private Control createUnsettableControl(Composite parent) {
+ private Control createUnsettableControl(Composite parent) throws DatabindingFailedException {
final Composite composite = new Composite(parent, SWT.NONE);
composite.setBackground(parent.getBackground());
GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).applyTo(composite);
@@ -133,7 +160,6 @@
final Button unsetButton = new Button(composite, SWT.PUSH);
GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).grab(false, false).applyTo(unsetButton);
unsetButton.addSelectionListener(new SelectionAdapter() {
-
/**
* {@inheritDoc}
*
@@ -142,33 +168,43 @@
@Override
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
- final Setting setting = getVElement().getDomainModelReference().getIterator().next();
- Object value = null;
- if (!setting.isSet()) {
- sl.topControl = baseControl;
- unsetButton.setText(RendererMessages.SimpleControlSWTRenderer_Unset);
- value = setting
- .getEStructuralFeature().getDefaultValue();
+ IObservableValue observableValue;
+ try {
+ observableValue = getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(),
+ getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new DatabindingFailedReport(ex));
+ return;
}
- else {
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ observableValue.dispose();
+ Object value = null;
+ if (!eObject.eIsSet(structuralFeature)) {
+ sl.topControl = baseControl;
+ unsetButton.setImage(Activator.getImage(ICONS_UNSET_FEATURE));
+ value = structuralFeature.getDefaultValue();
+ } else {
sl.topControl = createUnsetLabel;
- unsetButton.setText(RendererMessages.SimpleControlSWTRenderer_Set);
+ unsetButton.setImage(Activator.getImage(ICONS_SET_FEATURE));
value = SetCommand.UNSET_VALUE;
}
- final EditingDomain editingDomain = getEditingDomain(setting);
+ final EditingDomain editingDomain = getEditingDomain(eObject);
editingDomain.getCommandStack().execute(
- SetCommand.create(editingDomain, setting.getEObject(), setting.getEStructuralFeature(), value));
- composite.layout();
+ SetCommand.create(editingDomain, eObject, structuralFeature, value));
+ controlComposite.layout();
}
});
- if (getVElement().getDomainModelReference().getIterator().next().isSet()) {
+ final EStructuralFeature structuralFeature = (EStructuralFeature) getModelValue().getValueType();
+ final EObject eObject = (EObject) ((IObserving) getModelValue()).getObserved();
+ if (eObject.eIsSet(structuralFeature)) {
sl.topControl = baseControl;
- unsetButton.setText(RendererMessages.SimpleControlSWTRenderer_Unset);
- }
- else {
+ unsetButton.setImage(Activator.getImage(ICONS_UNSET_FEATURE));
+ } else {
sl.topControl = createUnsetLabel;
- unsetButton.setText(RendererMessages.SimpleControlSWTRenderer_Set);
+ unsetButton.setImage(Activator.getImage(ICONS_SET_FEATURE));
}
return composite;
@@ -242,10 +278,7 @@
editControl = getControls().get(new SWTGridCell(0, 2, SimpleControlSWTRenderer.this));
break;
default:
- if (ViewModelUtil.isDebugMode()) {
- final ReportService reportService = Activator.getDefault().getReportService();
- reportService.report(new AbstractReport("Wrong number of controls!")); //$NON-NLS-1$
- }
+ getReportService().report(new AbstractReport("Wrong number of controls!")); //$NON-NLS-1$
return;
}
// triggered due to another validation rule before this control is rendered
@@ -278,13 +311,14 @@
*
* @param parent the {@link Composite} to render onto
* @return the rendered control
+ * @throws DatabindingFailedException if the databinding of the control fails
*/
- protected abstract Control createControl(Composite parent);
+ protected abstract Control createControl(Composite parent) throws DatabindingFailedException;
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#dispose()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#dispose()
*/
@Override
protected void dispose() {
diff --git a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlSWTRenderer.java
index 74a0372..7ec9cf0 100644
--- a/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.core.swt/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlSWTRenderer.java
@@ -13,28 +13,43 @@
import java.util.Set;
+import javax.inject.Inject;
+
import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.UpdateValueStrategy;
+import org.eclipse.core.databinding.observable.IObserving;
import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.databinding.EMFUpdateValueStrategy;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.view.internal.core.swt.Activator;
-import org.eclipse.emf.ecp.view.internal.core.swt.renderer.RendererMessages;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecp.view.internal.core.swt.MessageKeys;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer;
import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.provider.ECPTooltipModifierHelper;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
import org.eclipse.emf.ecp.view.template.model.VTStyleProperty;
import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.ecp.view.template.style.alignment.model.AlignmentType;
import org.eclipse.emf.ecp.view.template.style.alignment.model.VTAlignmentStyleProperty;
import org.eclipse.emf.ecp.view.template.style.textControlEnablement.model.VTTextControlEnablementStyleProperty;
import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Text;
@@ -47,52 +62,79 @@
*
*/
public class TextControlSWTRenderer extends SimpleControlSWTControlSWTRenderer {
- /**
- * Default constructor.
- */
- public TextControlSWTRenderer() {
- super();
- }
+
+ private final EMFFormsEditSupport emfFormsEditSupport;
/**
- * Test constructor.
+ * Default constructor.
*
- * @param factory the {@link SWTRendererFactory} to use.
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ * @param emfFormsEditSupport The {@link EMFFormsEditSupport}
+ * @since 1.6
*/
- protected TextControlSWTRenderer(SWTRendererFactory factory) {
- super(factory);
+ @Inject
+ public TextControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider, EMFFormsEditSupport emfFormsEditSupport) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ this.emfFormsEditSupport = emfFormsEditSupport;
}
@Override
- protected Binding[] createBindings(Control control, Setting setting) {
+ protected Binding[] createBindings(Control control) throws DatabindingFailedException {
+ final EStructuralFeature structuralFeature = (EStructuralFeature) getModelValue().getValueType();
final TargetToModelUpdateStrategy targetToModelUpdateStrategy = new TargetToModelUpdateStrategy(
- setting.getEStructuralFeature().isUnsettable());
+ structuralFeature.isUnsettable());
final ModelToTargetUpdateStrategy modelToTargetUpdateStrategy = new ModelToTargetUpdateStrategy(false);
- final Binding binding = bindValue(control, getModelValue(setting), getDataBindingContext(),
+ final Binding binding = bindValue(control, getModelValue(), getDataBindingContext(),
targetToModelUpdateStrategy,
modelToTargetUpdateStrategy);
- final Binding tooltipBinding = createTooltipBinding(control, getModelValue(setting), getDataBindingContext(),
+ final Binding tooltipBinding = createTooltipBinding(control, getModelValue(), getDataBindingContext(),
targetToModelUpdateStrategy,
new ModelToTargetUpdateStrategy(true));
return new Binding[] { binding, tooltipBinding };
}
@Override
- protected Control createSWTControl(Composite parent, Setting setting) {
+ protected Control createSWTControl(Composite parent) {
final Text text = new Text(parent, getTextWidgetStyle());
text.setData(CUSTOM_VARIANT, getTextVariantID());
- text.setMessage(getTextMessage(setting));
+ text.setMessage(getTextMessage());
+ text.addFocusListener(new FocusListener() {
+ @Override
+ public void focusLost(FocusEvent e) {
+ }
+
+ @Override
+ public void focusGained(FocusEvent e) {
+ text.selectAll();
+ }
+ });
return text;
}
/**
* Returns the text which should be set as the message text on the Text field.
*
- * @param setting the setting being shown in the text field
* @return the string to show as the message
+ * @since 1.6
*/
- protected String getTextMessage(Setting setting) {
- return getItemPropertyDescriptor(setting).getDisplayName(null);
+ protected String getTextMessage() {
+ try {
+ return (String) getEMFFormsLabelProvider()
+ .getDisplayName(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel())
+ .getValue();
+ } catch (final NoLabelFoundException ex) {
+ // FIXME Expectations?
+ getReportService().report(new RenderingFailedReport(ex));
+ }
+ return ""; //$NON-NLS-1$
}
/**
@@ -135,19 +177,23 @@
*/
protected int getTextWidgetStyle() {
int textStyle = SWT.SINGLE | SWT.BORDER;
- if (getItemPropertyDescriptor(getVElement().getDomainModelReference().getIterator().next()).isMultiLine(null)) {
+ final EMFFormsEditSupport editSupport = getEMFFormsEditSupport();
+ if (editSupport.isMultiLine(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel())) {
textStyle = SWT.MULTI | SWT.WRAP | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER;
}
textStyle |= getAlignment();
return textStyle;
}
+ private EMFFormsEditSupport getEMFFormsEditSupport() {
+ return emfFormsEditSupport;
+ }
+
private int getAlignment() {
- final VTViewTemplateProvider vtViewTemplateProvider = Activator.getDefault().getVTViewTemplateProvider();
- if (vtViewTemplateProvider == null) {
+ if (getVTViewTemplateProvider() == null) {
return getDefaultAlignment();
}
- final Set<VTStyleProperty> styleProperties = vtViewTemplateProvider
+ final Set<VTStyleProperty> styleProperties = getVTViewTemplateProvider()
.getStyleProperties(getVElement(), getViewModelContext());
for (final VTStyleProperty styleProperty : styleProperties) {
if (VTAlignmentStyleProperty.class.isInstance(styleProperty)) {
@@ -185,10 +231,8 @@
if (isDisableRenderedAsEditable()
&& (getVElement().getLabelAlignment() == LabelAlignment.NONE && gridCell.getColumn() == 1
|| getVElement().getLabelAlignment() == LabelAlignment.LEFT && gridCell.getColumn() == 2)) {
- final EStructuralFeature feature = getVElement().getDomainModelReference().getEStructuralFeatureIterator()
- .next();
Control controlToUnset = control;
- if (feature.isUnsettable()) {
+ if (isControlUnsettable()) {
// if (!setting.isSet()) {
// return;
// }
@@ -200,8 +244,22 @@
}
}
+ private boolean isControlUnsettable() {
+ IValueProperty valueProperty;
+ try {
+ valueProperty = getEMFFormsDatabinding()
+ .getValueProperty(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new RenderingFailedReport(ex));
+ return false;
+ }
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty;
+ final boolean unsettable = feature.isUnsettable();
+ return unsettable;
+ }
+
private boolean isDisableRenderedAsEditable() {
- final VTViewTemplateProvider vtViewTemplateProvider = Activator.getDefault().getVTViewTemplateProvider();
+ final VTViewTemplateProvider vtViewTemplateProvider = getVTViewTemplateProvider();
if (vtViewTemplateProvider == null) {
return false;
}
@@ -279,8 +337,17 @@
public Object convert(Object value) {
final Object converted = convertValue(value);
if (tooltip && String.class.isInstance(converted)) {
- return ECPTooltipModifierHelper.modifyString(String.class.cast(converted), getVElement()
- .getDomainModelReference().getIterator().next());
+ IObservableValue observableValue;
+ try {
+ observableValue = getModelValue();
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new DatabindingFailedReport(ex));
+ return converted;
+ }
+ final InternalEObject internalEObject = (InternalEObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ return ECPTooltipModifierHelper.modifyString(String.class.cast(converted),
+ internalEObject.eSetting(structuralFeature));
}
return converted;
}
@@ -335,7 +402,8 @@
*/
@Override
protected String getUnsetText() {
- return RendererMessages.StringControl_NoTextSetClickToSetText;
+ return LocalizationServiceHelper
+ .getString(getClass(), MessageKeys.StringControl_NoTextSetClickToSetText);
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model.edit/.gitignore b/bundles/org.eclipse.emf.ecp.view.custom.model.edit/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model.edit/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.custom.model.edit/.settings/.api_filters
index fdc8a5b..ef3cd97 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model.edit/.settings/.api_filters
@@ -7,10 +7,10 @@
<message_argument value="1.2.1"/>
</message_arguments>
</filter>
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
</message_arguments>
</filter>
</resource>
@@ -46,6 +46,30 @@
</message_arguments>
</filter>
</resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.custom.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.custom.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.custom.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/custom/model/provider/CustomItemProviderAdapterFactory.java" type="org.eclipse.emf.ecp.view.spi.custom.model.provider.CustomItemProviderAdapterFactory">
<filter comment="This is SPI" id="338755678">
<message_arguments>
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.custom.model.edit/META-INF/MANIFEST.MF
index e47d88a..61cbdd5 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.custom.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.custom.model.provider.CustomEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.custom.model.provider;ver
- sion="1.5.1"
+ sion="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.custom.model;visibility:=reexport;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.edit;visibility:=reexport;bundle-version="[2.7.0,3.0.0)",
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.custom.model.edit/pom.xml
index 6bdf4ac..cbc176a 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model.edit/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model/.gitignore b/bundles/org.eclipse.emf.ecp.view.custom.model/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model/.project b/bundles/org.eclipse.emf.ecp.view.custom.model/.project
index 3938747..0bb251f 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.model/.project
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model/.project
@@ -6,6 +6,11 @@
</projects>
<buildSpec>
<buildCommand>
+ <name>com.wuetherich.osgi.ds.annotations.dsAnnotationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
@@ -36,5 +41,6 @@
<nature>org.eclipse.pde.PluginNature</nature>
<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>
</natures>
</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.custom.model/.settings/.api_filters
index f99a690..5c71d20 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model/.settings/.api_filters
@@ -7,10 +7,10 @@
<message_argument value="1.2.1"/>
</message_arguments>
</filter>
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
</message_arguments>
</filter>
</resource>
@@ -38,6 +38,30 @@
</message_arguments>
</filter>
</resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.custom.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.custom.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.custom.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/custom/model/VCustomFactory.java" type="org.eclipse.emf.ecp.view.spi.custom.model.VCustomFactory">
<filter comment="This is SPI" id="403804204">
<message_arguments>
@@ -59,6 +83,76 @@
</filter>
</resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/custom/model/VCustomPackage.java" type="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage">
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
+ <message_argument value="CUSTOM_CONTROL_FEATURE_COUNT"/>
+ <message_argument value="10"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
+ <message_argument value="CUSTOM_CONTROL__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
+ <message_argument value="CUSTOM_CONTROL__BUNDLE_NAME"/>
+ <message_argument value="8"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
+ <message_argument value="CUSTOM_CONTROL__CLASS_NAME"/>
+ <message_argument value="9"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
+ <message_argument value="CUSTOM_CONTROL__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
+ <message_argument value="CUSTOM_CONTROL__DOMAIN_MODEL_REFERENCE"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
+ <message_argument value="CUSTOM_CONTROL__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
+ <message_argument value="CUSTOM_CONTROL__LABEL_ALIGNMENT"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
+ <message_argument value="CUSTOM_CONTROL__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
+ <message_argument value="CUSTOM_CONTROL__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
<filter comment="This is SPI" id="405864542">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.custom.model/META-INF/MANIFEST.MF
index 9c6641b..5b8c704 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model/META-INF/MANIFEST.MF
@@ -1,18 +1,24 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.emf.ecp.view.custom.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
-Bundle-ClassPath: .
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.view.spi.custom.model;version="1.5
- .1",org.eclipse.emf.ecp.view.spi.custom.model.impl;version="1.5.1",or
- g.eclipse.emf.ecp.view.spi.custom.model.util;version="1.5.1"
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecore;visibility:=reexport;bundle-version="[2.7.0,3.0.0)",
- org.eclipse.emf.ecp.view.model;visibility:=reexport;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.eclipse.emf.ecp.view.spi.custom.model.impl.Activator
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emf.ecp.view.custom.model;singleton:=true
+Bundle-Version: 1.6.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.emf.ecp.view.spi.custom.model.impl.Activator
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.emf.ecp.view.spi.custom.model;version="1.6.0",
+ org.eclipse.emf.ecp.view.spi.custom.model.impl;version="1.6.0",
+ org.eclipse.emf.ecp.view.spi.custom.model.util;version="1.6.0"
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Service-Component: OSGI-INF/org.eclipse.emf.ecp.view.spi.custom.model.impl.CustomDMRConverter.xml
+Import-Package: org.eclipse.core.databinding.property.list;version="0.0.0",
+ org.eclipse.core.databinding.property.value;version="0.0.0",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0",
+ org.osgi.service.component.annotations;version="1.2.0"
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emf.ecp.view.custom.model/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..004b399
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1 @@
+BundleNotFound_ExceptionMessage=%1$s cannot be loaded because bundle %2$s cannot be resolved!
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model/OSGI-INF/org.eclipse.emf.ecp.view.spi.custom.model.impl.CustomDMRConverter.xml b/bundles/org.eclipse.emf.ecp.view.custom.model/OSGI-INF/org.eclipse.emf.ecp.view.spi.custom.model.impl.CustomDMRConverter.xml
new file mode 100644
index 0000000..e6bac81
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model/OSGI-INF/org.eclipse.emf.ecp.view.spi.custom.model.impl.CustomDMRConverter.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emf/ecp/view/spi/custom/model/impl/CustomDMRConverter.java]-->
+<scr:component name="org.eclipse.emf.ecp.view.spi.custom.model.impl.CustomDMRConverter" activate="activate" deactivate="deactivate" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0">
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter"/>
+ </service>
+ <implementation class="org.eclipse.emf.ecp.view.spi.custom.model.impl.CustomDMRConverter"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model/build.properties b/bundles/org.eclipse.emf.ecp.view.custom.model/build.properties
index b7579f1..e54b32b 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.model/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model/build.properties
@@ -9,7 +9,8 @@
about.ini,\
about.mappings,\
about.properties,\
- modeling32.png
+ modeling32.png,\
+ OSGI-INF/
jars.compile.order = .
source.. = src/
output.. = bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.custom.model/pom.xml
index ac6f1b5..fb85315 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model/src/org/eclipse/emf/ecp/view/spi/custom/model/impl/CustomDMRConverter.java b/bundles/org.eclipse.emf.ecp.view.custom.model/src/org/eclipse/emf/ecp/view/spi/custom/model/impl/CustomDMRConverter.java
new file mode 100644
index 0000000..85dc69d
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model/src/org/eclipse/emf/ecp/view/spi/custom/model/impl/CustomDMRConverter.java
@@ -0,0 +1,181 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.custom.model.impl;
+
+import java.util.Set;
+
+import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.custom.model.ECPHardcodedReferences;
+import org.eclipse.emf.ecp.view.spi.custom.model.VCustomDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+
+/**
+ * DomainModelReferenceConverter for CustomDomainModelReferences.
+ *
+ * @author Eugen Neufeld
+ * @since 1.6
+ *
+ */
+@Component
+public class CustomDMRConverter implements DomainModelReferenceConverter {
+ private EMFFormsDatabinding emfFormsDatabinding;
+ private ServiceReference<EMFFormsDatabinding> databindingServiceReference;
+
+ /**
+ * This method is called by the OSGI framework when this {@link DomainModelReferenceConverter} is activated. It
+ * retrieves the {@link EMFFormsDatabinding EMF Forms databinding service}.
+ *
+ * @param bundleContext The {@link BundleContext} of this classes bundle.
+ */
+ @Activate
+ protected final void activate(BundleContext bundleContext) {
+ databindingServiceReference = bundleContext.getServiceReference(EMFFormsDatabinding.class);
+ emfFormsDatabinding = bundleContext.getService(databindingServiceReference);
+
+ }
+
+ /**
+ * This method is called by the OSGI framework when this {@link DomainModelReferenceConverter} is deactivated.
+ * It frees the {@link EMFFormsDatabinding EMF Forms databinding service}.
+ *
+ * @param bundleContext The {@link BundleContext} of this classes bundle.
+ */
+ @Deactivate
+ protected final void deactivate(BundleContext bundleContext) {
+ bundleContext.ungetService(databindingServiceReference);
+ emfFormsDatabinding = null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#isApplicable(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)
+ */
+ @Override
+ public double isApplicable(VDomainModelReference domainModelReference) {
+ if (VCustomDomainModelReference.class.isInstance(domainModelReference)) {
+ return 5;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)
+ */
+ @Override
+ public IValueProperty convertToValueProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (!VCustomDomainModelReference.class.isInstance(domainModelReference)) {
+ throw new IllegalArgumentException(
+ "DomainModelReference must be an instance of VTableDomainModelReference."); //$NON-NLS-1$
+ }
+
+ final VCustomDomainModelReference tableDomainModelReference = VCustomDomainModelReference.class
+ .cast(domainModelReference);
+ final ECPHardcodedReferences customControl = loadObject(tableDomainModelReference.getBundleName(),
+ tableDomainModelReference.getClassName());
+ if (customControl == null) {
+ throw new DatabindingFailedException(
+ String
+ .format(
+ "The provided ECPHardcodedReferences from Bundle %1$s Class %2$s cannot be resolved.", tableDomainModelReference.getBundleName(), tableDomainModelReference.getClassName())); //$NON-NLS-1$
+ }
+ final Set<VDomainModelReference> neededDomainModelReferences = customControl.getNeededDomainModelReferences();
+ if (neededDomainModelReferences.isEmpty())
+ {
+ throw new DatabindingFailedException(
+ String
+ .format(
+ "The provided ECPHardcodedReferences from Bundle %1$s Class %2$s doesn't define any DomainModelReferences.", tableDomainModelReference.getBundleName(), tableDomainModelReference.getClassName())); //$NON-NLS-1$
+ }
+ return emfFormsDatabinding.getValueProperty(neededDomainModelReferences.iterator().next(), object);
+ }
+
+ private static ECPHardcodedReferences loadObject(String bundleName, String clazz) throws DatabindingFailedException {
+ final Bundle bundle = Platform.getBundle(bundleName);
+ if (bundle == null) {
+ new ClassNotFoundException(String.format(LocalizationServiceHelper.getString(
+ VCustomDomainModelReferenceImpl.class, "BundleNotFound_ExceptionMessage"), clazz, bundleName)); //$NON-NLS-1$
+ return null;
+ }
+ try {
+ final Class<?> loadClass = bundle.loadClass(clazz);
+ if (!ECPHardcodedReferences.class.isAssignableFrom(loadClass)) {
+ return null;
+ }
+ return ECPHardcodedReferences.class.cast(loadClass.newInstance());
+ } catch (final ClassNotFoundException ex) {
+ throw new DatabindingFailedException(ex.getMessage());
+ } catch (final InstantiationException ex) {
+ throw new DatabindingFailedException(ex.getMessage());
+ } catch (final IllegalAccessException ex) {
+ throw new DatabindingFailedException(ex.getMessage());
+ }
+
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#convertToListProperty(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference,EObject)
+ */
+ @Override
+ public IListProperty convertToListProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (!VCustomDomainModelReference.class.isInstance(domainModelReference)) {
+ throw new IllegalArgumentException(
+ "DomainModelReference must be an instance of VTableDomainModelReference."); //$NON-NLS-1$
+ }
+
+ final VCustomDomainModelReference tableDomainModelReference = VCustomDomainModelReference.class
+ .cast(domainModelReference);
+ final ECPHardcodedReferences customControl = loadObject(tableDomainModelReference.getBundleName(),
+ tableDomainModelReference.getClassName());
+ if (customControl == null) {
+ throw new DatabindingFailedException(
+ String
+ .format(
+ "The provided ECPHardcodedReferences from Bundle %1$s Class %2$s cannot be resolved.", tableDomainModelReference.getBundleName(), tableDomainModelReference.getClassName())); //$NON-NLS-1$
+ }
+ final Set<VDomainModelReference> neededDomainModelReferences = customControl.getNeededDomainModelReferences();
+ if (neededDomainModelReferences.isEmpty())
+ {
+ throw new DatabindingFailedException(
+ String
+ .format(
+ "The provided ECPHardcodedReferences from Bundle %1$s Class %2$s doesn't define any DomainModelReferences.", tableDomainModelReference.getBundleName(), tableDomainModelReference.getClassName())); //$NON-NLS-1$
+ }
+ return emfFormsDatabinding.getListProperty(neededDomainModelReferences.iterator().next(), object);
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.model/src/org/eclipse/emf/ecp/view/spi/custom/model/impl/VCustomDomainModelReferenceImpl.java b/bundles/org.eclipse.emf.ecp.view.custom.model/src/org/eclipse/emf/ecp/view/spi/custom/model/impl/VCustomDomainModelReferenceImpl.java
index f3008dc..27ce5bc 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.model/src/org/eclipse/emf/ecp/view/spi/custom/model/impl/VCustomDomainModelReferenceImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.custom.model/src/org/eclipse/emf/ecp/view/spi/custom/model/impl/VCustomDomainModelReferenceImpl.java
@@ -15,6 +15,7 @@
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
+import java.util.Stack;
import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.common.notify.Notification;
@@ -30,7 +31,6 @@
import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.emf.ecp.internal.edit.EditMessages;
import org.eclipse.emf.ecp.view.spi.custom.model.ECPHardcodedReferences;
import org.eclipse.emf.ecp.view.spi.custom.model.VCustomDomainModelReference;
import org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage;
@@ -38,6 +38,7 @@
import org.eclipse.emf.ecp.view.spi.model.ModelChangeNotification;
import org.eclipse.emf.ecp.view.spi.model.SettingPath;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
import org.osgi.framework.Bundle;
/**
@@ -490,9 +491,8 @@
private static ECPHardcodedReferences loadObject(String bundleName, String clazz) {
final Bundle bundle = Platform.getBundle(bundleName);
if (bundle == null) {
- new ClassNotFoundException(clazz + EditMessages.CONTROLFACTROY_CANNOT_BE_LOADED
- + bundleName
- + EditMessages.CONTROLFACTORY_CANNOT_BE_RESOLVED);
+ new ClassNotFoundException(String.format(LocalizationServiceHelper.getString(
+ VCustomDomainModelReferenceImpl.class, "BundleNotFound_ExceptionMessage"), clazz, bundleName)); //$NON-NLS-1$
return null;
}
try {
@@ -547,28 +547,37 @@
* Private helper class to iterate over sub iterators.
*
* @author Eugen Neufeld
+ * @author jfaltermeier
*
* @param <T> the type to iterate over
*/
private abstract class ExistingIteratorIterator<T> implements Iterator<T> {
- private Iterator<T> currentSubIterator;
- private final Iterator<VDomainModelReference> referencesIterator = getDomainModelReferences().iterator();
+
+ private final Stack<Iterator<T>> subIterators = new Stack<Iterator<T>>();
+
+ public ExistingIteratorIterator() {
+ for (int i = getDomainModelReferences().size() - 1; i >= 0; i--) {
+ final VDomainModelReference vDomainModelReference = getDomainModelReferences().get(i);
+ final Iterator<T> subIterator = getSubIterator(vDomainModelReference);
+ if (subIterator.hasNext()) {
+ subIterators.push(subIterator);
+ }
+ }
+
+ }
@Override
public boolean hasNext() {
- return referencesIterator.hasNext() || currentSubIterator != null && currentSubIterator.hasNext();
+ return !subIterators.isEmpty() && subIterators.peek().hasNext();
}
@Override
public T next() {
- if (currentSubIterator == null) {
- currentSubIterator = getSubIterator(referencesIterator.next());
+ final T next = subIterators.peek().next();
+ if (!subIterators.peek().hasNext()) {
+ subIterators.pop();
}
- final T result = currentSubIterator.next();
- if (!currentSubIterator.hasNext()) {
- currentSubIterator = null;
- }
- return result;
+ return next;
}
@Override
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/.gitignore b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/META-INF/MANIFEST.MF
index 3d7eba8..02f6995 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Custom View SWT DI
Bundle-SymbolicName: org.eclipse.emf.ecp.view.custom.ui.swt.di;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.5.0,2.0.0)",
@@ -14,6 +14,7 @@
org.eclipse.emf.ecp.ui.view.swt.di;bundle-version="[1.5.0,2.0.0)",
org.eclipse.osgi;bundle-version="[3.10.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)"
-Import-Package: org.eclipse.swt.widgets;version="0.0.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.swt.widgets;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.custom.ui.swt.di.renderer;ver
- sion="1.5.1";x-internal:=true
+ sion="1.6.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/pom.xml b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/pom.xml
index 8308870..1d040d7 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/src/org/eclipse/emf/ecp/view/custom/ui/swt/di/renderer/DICustomControlSWT.java b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/src/org/eclipse/emf/ecp/view/custom/ui/swt/di/renderer/DICustomControlSWT.java
index 967903d..1ee9b1f 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/src/org/eclipse/emf/ecp/view/custom/ui/swt/di/renderer/DICustomControlSWT.java
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/src/org/eclipse/emf/ecp/view/custom/ui/swt/di/renderer/DICustomControlSWT.java
@@ -18,9 +18,9 @@
import org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -93,7 +93,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@SuppressWarnings("restriction")
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/src/org/eclipse/emf/ecp/view/custom/ui/swt/di/renderer/DICustomControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/src/org/eclipse/emf/ecp/view/custom/ui/swt/di/renderer/DICustomControlSWTRenderer.java
index 5a4c645..75396af 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/src/org/eclipse/emf/ecp/view/custom/ui/swt/di/renderer/DICustomControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt.di/src/org/eclipse/emf/ecp/view/custom/ui/swt/di/renderer/DICustomControlSWTRenderer.java
@@ -13,12 +13,14 @@
import org.eclipse.core.runtime.Platform;
import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.custom.model.VCustomControl;
import org.eclipse.emf.ecp.view.spi.custom.swt.CustomControlSWTRenderer;
import org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.osgi.framework.Bundle;
@@ -31,6 +33,15 @@
*/
public class DICustomControlSWTRenderer extends CustomControlSWTRenderer {
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param factory the {@link ReportService}
+ */
+ public DICustomControlSWTRenderer(VCustomControl vElement, ViewModelContext viewContext, ReportService factory) {
+ super(vElement, viewContext, factory);
+ }
+
private IEclipseContext eclipseContext;
/**
@@ -78,7 +89,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.custom.swt.CustomControlSWTRenderer#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emf.ecp.view.spi.custom.swt.CustomControlSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@SuppressWarnings("restriction")
@@ -86,7 +97,7 @@
protected Control renderControl(SWTGridCell cell, Composite parent) throws NoRendererFoundException,
NoPropertyDescriptorFoundExeption {
org.eclipse.emf.ecp.ui.view.swt.di.util.SWTContextUtil.setAbstractSWTRendererObjects(eclipseContext,
- getVElement(), getViewModelContext(), getSWTRendererFactory(), parent);
+ getVElement(), getViewModelContext(), parent);
eclipseContext.set(SWTGridCell.class, cell);
return super.renderControl(cell, parent);
}
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/.gitignore b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/.settings/.api_filters
index 6d10dd1..9adb169 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/.settings/.api_filters
@@ -7,10 +7,10 @@
<message_argument value="1.2.1"/>
</message_arguments>
</filter>
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.edit.swt"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
</message_arguments>
</filter>
</resource>
@@ -22,6 +22,26 @@
</message_arguments>
</filter>
</resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/custom/swt/CustomControlSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.custom.swt.CustomControlSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.swt.CustomControlSWTRenderer"/>
+ <message_argument value="CustomControlSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.swt.CustomControlSWTRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.swt.CustomControlSWTRenderer"/>
+ <message_argument value="renderControl(SWTGridCell, Composite)"/>
+ </message_arguments>
+ </filter>
+ </resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/custom/swt/ECPAbstractCustomControlSWT.java" type="org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT">
<filter comment="This is SPI" id="336695337">
<message_arguments>
@@ -71,12 +91,24 @@
<message_argument value="createControls(Composite)"/>
</message_arguments>
</filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT"/>
+ <message_argument value="createSimpleGrid(int, int)"/>
+ </message_arguments>
+ </filter>
<filter comment="This is SPI" id="338792546">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT"/>
<message_argument value="createValidationLabel(Composite)"/>
</message_arguments>
</filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT"/>
+ <message_argument value="getGridDescription()"/>
+ </message_arguments>
+ </filter>
<filter comment="This is SPI" id="338792546">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT"/>
@@ -107,6 +139,12 @@
<message_argument value="handleValidation(Diagnostic)"/>
</message_arguments>
</filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT"/>
+ <message_argument value="renderControl(SWTGridCell, Composite)"/>
+ </message_arguments>
+ </filter>
<filter comment="This is SPI" id="338792546">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT"/>
@@ -119,6 +157,12 @@
<message_argument value="resetValidation()"/>
</message_arguments>
</filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT"/>
+ <message_argument value="setControlEnabled(SWTGridCell, Control, boolean)"/>
+ </message_arguments>
+ </filter>
<filter comment="This is SPI" id="338792546">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT"/>
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/META-INF/MANIFEST.MF
index fb46541..b405152 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Custom View SWT
Bundle-SymbolicName: org.eclipse.emf.ecp.view.custom.ui.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.internal.custom.swt.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)",
@@ -10,10 +10,17 @@
org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Import-Package: org.eclipse.jface.databinding.viewers;version="0.0.0",
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.emfforms.spi.swt.core;version="1.6.0",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.databinding.viewers;version="0.0.0",
org.eclipse.jface.dialogs;version="0.0.0",
org.eclipse.jface.layout;version="0.0.0",
org.eclipse.jface.resource;version="0.0.0",
@@ -24,6 +31,6 @@
org.eclipse.swt.layout;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.internal.custom.swt;version="
- 1.5.1";x-friends:="org.eclipse.emf.ecp.view.custom.ui.swt.test",org.e
- clipse.emf.ecp.view.spi.custom.swt;version="1.5.1"
+ 1.6.0";x-friends:="org.eclipse.emf.ecp.view.custom.ui.swt.test",org.e
+ clipse.emf.ecp.view.spi.custom.swt;version="1.6.0"
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..004b399
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1 @@
+BundleNotFound_ExceptionMessage=%1$s cannot be loaded because bundle %2$s cannot be resolved!
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/build.properties b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/build.properties
index e0e105b..4b106d9 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/build.properties
@@ -3,5 +3,6 @@
bin.includes = META-INF/,\
.,\
plugin.xml,\
- about.html
+ about.html,\
+ OSGI-INF/
src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/pom.xml
index c486160..8de7a85 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/internal/custom/swt/Activator.java b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/internal/custom/swt/Activator.java
index 41b3999..c95de3d 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/internal/custom/swt/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/internal/custom/swt/Activator.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -15,6 +15,9 @@
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.ecp.edit.spi.ECPControlFactory;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.swt.graphics.Image;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
@@ -91,6 +94,8 @@
private ServiceReference<ECPControlFactory> controlFactoryReference;
+ private ServiceReference<ReportService> reportServiceReference;
+
/**
* Returns the {@link ECPControlFactory}.
*
@@ -114,4 +119,49 @@
plugin.getBundle().getBundleContext().ungetService(controlFactoryReference);
controlFactoryReference = null;
}
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+
+ /**
+ * Returns the {@link EMFFormsLabelProvider} service.
+ *
+ * @return The {@link EMFFormsLabelProvider}
+ */
+ public EMFFormsLabelProvider getEMFFormsLabelProvider() {
+ final ServiceReference<EMFFormsLabelProvider> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsLabelProvider.class);
+
+ final EMFFormsLabelProvider service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/spi/custom/swt/CustomControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/spi/custom/swt/CustomControlSWTRenderer.java
index 02b73a6..b1f0ac8 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/spi/custom/swt/CustomControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/spi/custom/swt/CustomControlSWTRenderer.java
@@ -13,13 +13,15 @@
import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.ecp.edit.spi.swt.util.SWTValidationHelper;
-import org.eclipse.emf.ecp.internal.edit.EditMessages;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.custom.model.VCustomControl;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
@@ -34,15 +36,27 @@
* @author Eugen Neufeld
* @since 1.3
*/
-@SuppressWarnings("restriction")
public class CustomControlSWTRenderer extends AbstractSWTRenderer<VCustomControl> {
+ /**
+ * Default Constructor.
+ *
+ * @param vElement the view element to be rendered
+ * @param viewContext The view model context
+ * @param reportService the ReportService to use
+ * @since 1.6
+ */
+ public CustomControlSWTRenderer(final VCustomControl vElement, final ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
private ECPAbstractCustomControlSWT swtCustomControl;
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#preInit()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#preInit()
*/
@Override
protected void preInit() {
@@ -82,9 +96,10 @@
private static ECPAbstractCustomControlSWT loadObject(String bundleName, String clazz) {
final Bundle bundle = Platform.getBundle(bundleName);
if (bundle == null) {
- new ClassNotFoundException(clazz + EditMessages.CONTROLFACTROY_CANNOT_BE_LOADED
- + bundleName
- + EditMessages.CONTROLFACTORY_CANNOT_BE_RESOLVED);
+ // why do we create a class not found exception without doing anything with it
+ new ClassNotFoundException(
+ String.format(LocalizationServiceHelper.getString(CustomControlSWTRenderer.class,
+ "BundleNotFound_ExceptionMessage"), clazz, bundleName)); //$NON-NLS-1$
return null;
}
try {
@@ -106,7 +121,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#dispose()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#dispose()
*/
@Override
protected void dispose() {
@@ -117,7 +132,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -132,7 +147,7 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@Override
diff --git a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/spi/custom/swt/ECPAbstractCustomControlSWT.java b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/spi/custom/swt/ECPAbstractCustomControlSWT.java
index d64ed66..af2de70 100644
--- a/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/spi/custom/swt/ECPAbstractCustomControlSWT.java
+++ b/bundles/org.eclipse.emf.ecp.view.custom.ui.swt/src/org/eclipse/emf/ecp/view/spi/custom/swt/ECPAbstractCustomControlSWT.java
@@ -12,17 +12,20 @@
package org.eclipse.emf.ecp.view.spi.custom.swt;
import java.util.Collections;
-import java.util.Iterator;
import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.UpdateValueStrategy;
+import org.eclipse.core.databinding.observable.IObserving;
import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
@@ -32,14 +35,17 @@
import org.eclipse.emf.databinding.edit.EMFEditObservables;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecp.edit.spi.ECPAbstractControl;
import org.eclipse.emf.ecp.edit.spi.ECPControlFactory;
import org.eclipse.emf.ecp.view.internal.custom.swt.Activator;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.custom.model.ECPCustomControlChangeListener;
+import org.eclipse.emf.ecp.view.spi.custom.model.ECPHardcodedReferences;
import org.eclipse.emf.ecp.view.spi.custom.model.VCustomControl;
import org.eclipse.emf.ecp.view.spi.custom.model.VCustomDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.custom.model.impl.VCustomDomainModelReferenceImpl;
import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
@@ -47,15 +53,21 @@
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
+import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.databinding.viewers.ViewerSupport;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.swt.SWT;
@@ -63,6 +75,7 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
+import org.osgi.framework.Bundle;
/**
* Extend this class in order to provide an own implementation of an {@link ECPAbstractCustomControlSWT}.
@@ -72,8 +85,7 @@
*
*/
@SuppressWarnings("deprecation")
-public abstract class ECPAbstractCustomControlSWT
-{
+public abstract class ECPAbstractCustomControlSWT {
/**
* Variant constant for indicating RAP controls.
*
@@ -106,6 +118,7 @@
private AdapterFactoryItemDelegator adapterFactoryItemDelegator;
private VCustomControl customControl;
private DataBindingContext dataBindingContext;
+ private final EMFDataBindingContext viewModelDBC = new EMFDataBindingContext();
/**
* Called by the framework to trigger an initialization.
@@ -133,6 +146,45 @@
* @since 1.3
*/
protected void postInit() {
+ if (!VCustomDomainModelReference.class.isInstance(customControl.getDomainModelReference())) {
+ return;
+ }
+ final VCustomDomainModelReference customDomainModelReference = VCustomDomainModelReference.class
+ .cast(customControl.getDomainModelReference());
+
+ final ECPHardcodedReferences hardcodedReferences = loadObject(customDomainModelReference.getBundleName(),
+ customDomainModelReference.getClassName());
+ if (!customDomainModelReference.isControlChecked()) {
+ // read stuff from control
+ final Set<VDomainModelReference> controlReferences = new LinkedHashSet<VDomainModelReference>();
+ controlReferences.addAll(hardcodedReferences.getNeededDomainModelReferences());
+ controlReferences.addAll(customDomainModelReference.getDomainModelReferences());
+ customDomainModelReference.getDomainModelReferences().clear();
+ customDomainModelReference.getDomainModelReferences().addAll(controlReferences);
+ customDomainModelReference.setControlChecked(true);
+ }
+ }
+
+ private static ECPHardcodedReferences loadObject(String bundleName, String clazz) {
+ final Bundle bundle = Platform.getBundle(bundleName);
+ if (bundle == null) {
+ new ClassNotFoundException(String.format(LocalizationServiceHelper.getString(
+ VCustomDomainModelReferenceImpl.class, "BundleNotFound_ExceptionMessage"), clazz, bundleName)); //$NON-NLS-1$
+ return null;
+ }
+ try {
+ final Class<?> loadClass = bundle.loadClass(clazz);
+ if (!ECPHardcodedReferences.class.isAssignableFrom(loadClass)) {
+ return null;
+ }
+ return ECPHardcodedReferences.class.cast(loadClass.newInstance());
+ } catch (final ClassNotFoundException ex) {
+ return null;
+ } catch (final InstantiationException ex) {
+ return null;
+ } catch (final IllegalAccessException ex) {
+ return null;
+ }
}
@@ -140,13 +192,13 @@
* Is called by the framework to trigger a dispose of the control.
*/
public final void dispose() {
- viewModelContext = null;
if (composedAdapterFactory != null) {
composedAdapterFactory.dispose();
}
if (dataBindingContext != null) {
dataBindingContext.dispose();
}
+ viewModelDBC.dispose();
customControl = null;
if (adapterMap != null) {
for (final VDomainModelReference domainModelReference : adapterMap.keySet()) {
@@ -162,6 +214,7 @@
}
controlMap.clear();
}
+ viewModelContext = null;
Activator.getDefault().ungetECPControlFactory();
controlFactory = null;
@@ -254,7 +307,7 @@
case ADD_IMAGE:
return Activator.getImage("icons/add.png"); //$NON-NLS-1$
case DELETE_IMAGE:
- return Activator.getImage("icons/delete.png"); //$NON-NLS-1$
+ return Activator.getImage("icons/unset_reference.png"); //$NON-NLS-1$
default:
return null;
}
@@ -273,27 +326,60 @@
throws NoPropertyDescriptorFoundExeption {
Label label = null;
labelRender: if (getCustomControl().getLabelAlignment() == LabelAlignment.LEFT) {
- final Setting setting = getCustomControl().getDomainModelReference().getIterator().next();
- if (setting == null) {
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator
+ .getDefault()
+ .getEMFFormsDatabinding()
+ .getValueProperty(getCustomControl().getDomainModelReference(),
+ getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
break labelRender;
}
- final IItemPropertyDescriptor itemPropertyDescriptor = getItemPropertyDescriptor(setting);
-
- if (itemPropertyDescriptor == null) {
- throw new NoPropertyDescriptorFoundExeption(setting.getEObject(), setting.getEStructuralFeature());
- }
+ final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();
label = new Label(parent, SWT.NONE);
label.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_control_label"); //$NON-NLS-1$
label.setBackground(parent.getBackground());
- String extra = ""; //$NON-NLS-1$
- if (setting.getEStructuralFeature().getLowerBound() > 0) {
- extra = "*"; //$NON-NLS-1$
- }
- final String labelText = itemPropertyDescriptor.getDisplayName(setting.getEObject());
- if (labelText != null && labelText.trim().length() != 0) {
- label.setText(labelText + extra);
- label.setToolTipText(itemPropertyDescriptor.getDescription(setting.getEObject()));
+
+ try {
+ viewModelDBC.bindValue(
+ SWTObservables.observeText(label),
+ Activator
+ .getDefault()
+ .getEMFFormsLabelProvider()
+ .getDisplayName(getCustomControl().getDomainModelReference(),
+ getViewModelContext().getDomainModel()),
+ null, new UpdateValueStrategy() {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object)
+ */
+ @Override
+ public Object convert(Object value) {
+ final String labelText = (String) super.convert(value);
+ String extra = ""; //$NON-NLS-1$
+ if (structuralFeature.getLowerBound() > 0) {
+ extra = "*"; //$NON-NLS-1$
+ }
+ return labelText + extra;
+ }
+
+ });
+ viewModelDBC.bindValue(
+ SWTObservables.observeTooltipText(label),
+ Activator
+ .getDefault()
+ .getEMFFormsLabelProvider()
+ .getDescription(getCustomControl().getDomainModelReference(),
+ getViewModelContext().getDomainModel()));
+ } catch (final NoLabelFoundException e) {
+ Activator.getDefault().getReportService().report(new RenderingFailedReport(e));
+ label.setText(e.getMessage());
+ label.setToolTipText(e.toString());
}
}
@@ -323,9 +409,13 @@
*/
protected final void createViewerBinding(VDomainModelReference customControlFeature, StructuredViewer viewer,
IValueProperty[] labelProperties) {
-
- final IObservableList list = getObservableList(customControlFeature);
- ViewerSupport.bind(viewer, list, labelProperties);
+ try {
+ final IObservableList list = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableList(customControlFeature, getViewModelContext().getDomainModel());
+ ViewerSupport.bind(viewer, list, labelProperties);
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ }
}
/**
@@ -334,12 +424,14 @@
* @param domainModelReference the {@link VDomainModelReference} to use
* @return the {@link IObservableList}
* @since 1.3
+ * @deprecated This method is deprecated and must not be used anymore. Use the
+ * {@link org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding
+ * databinding service} instead.
*/
+ @Deprecated
protected final IObservableList getObservableList(VDomainModelReference domainModelReference) {
- final Setting setting = domainModelReference.getIterator().next();
- return EMFEditObservables.observeList(
- getEditingDomain(setting),
- setting.getEObject(), setting.getEStructuralFeature());
+ throw new UnsupportedOperationException(
+ "This method is deprecated and must not be used anymore. Use the databinding service instead."); //$NON-NLS-1$
}
/**
@@ -358,24 +450,20 @@
* @return the setting or throws an {@link IllegalStateException} if too many or too few elements are found.
*/
private Setting getFirstSetting(VDomainModelReference modelFeature) {
- final Iterator<Setting> iterator = modelFeature.getIterator();
- int numElments = 0;
- Setting setting = null;
- while (iterator.hasNext()) {
- setting = iterator.next();
- numElments++;
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(modelFeature, getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ throw new IllegalStateException("The databinding failed due to an incorrect VDomainModelReference: " //$NON-NLS-1$
+ + ex.getMessage());
}
- if (numElments == 0) {
- throw new IllegalStateException("The VDomainModelReference was not initialised."); //$NON-NLS-1$
- }
- else if (numElments > 1) {
- throw new IllegalStateException(
- "The VDomainModelReference is ambigous, please use VDomainModelReference which resolve to exactly one setting."); //$NON-NLS-1$
- }
- // if (!isEditable()) {
- // throw new IllegalArgumentException("Feature is not registered as editable");
- // }
- return setting;
+ final InternalEObject internalEObject = (InternalEObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+
+ return internalEObject.eSetting(structuralFeature);
}
/**
@@ -390,20 +478,26 @@
*/
protected final <T extends ECPAbstractControl> T getControl(Class<T> clazz,
VDomainModelReference domainModelReference) {
- final T createControl = controlFactory.createControl(clazz, domainModelReference);
+ final T createControl = controlFactory.createControl(clazz, getViewModelContext().getDomainModel(),
+ domainModelReference);
final VControl vControl = VViewFactory.eINSTANCE.createControl();
final VDomainModelReference modelReference = EcoreUtil.copy(domainModelReference);
modelReference.init(getViewModelContext().getDomainModel());
vControl.setDomainModelReference(modelReference);
vControl.setDiagnostic(VViewFactory.eINSTANCE.createDiagnostic());
createControl.init(getViewModelContext(), vControl);
- final Iterator<Setting> iterator = domainModelReference.getIterator();
- final boolean hasNext = iterator.hasNext();
- if (hasNext) {
- controlMap.put(iterator.next().getEStructuralFeature(), createControl);
- return createControl;
+
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(domainModelReference, getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return null;
}
- return null;
+ final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();
+ controlMap.put(structuralFeature, createControl);
+ return createControl;
}
/**
@@ -501,7 +595,7 @@
* @since 1.3
*/
protected final EditingDomain getEditingDomain() {
- return getEditingDomain(getCustomControl().getDomainModelReference().getIterator().next());
+ return getEditingDomain(getFirstSetting(getCustomControl().getDomainModelReference()));
}
/**
@@ -619,7 +713,7 @@
* Returns the GridDescription for this Renderer.
*
* @return the GridDescription
- * @since 1.3
+ * @since 1.6
*/
public abstract SWTGridDescription getGridDescription();
@@ -631,7 +725,7 @@
* @return the rendered {@link Control}
* @throws NoRendererFoundException this is thrown when a renderer cannot be found
* @throws NoPropertyDescriptorFoundExeption this is thrown when no property descriptor can be found
- * @since 1.3
+ * @since 1.6
*/
public abstract Control renderControl(SWTGridCell cell, Composite parent) throws NoRendererFoundException,
NoPropertyDescriptorFoundExeption;
@@ -672,7 +766,7 @@
* @param gridCell the {@link SWTGridCell} to enable/disable
* @param control the {@link Control} to enable/disable
* @param enabled true if the control should be enabled false otherwise
- * @since 1.3
+ * @since 1.6
*/
protected void setControlEnabled(SWTGridCell gridCell, Control control, boolean enabled) {
// ignore labels as they are readonly per definition
@@ -714,7 +808,7 @@
* @param rows the number of rows
* @param columns the number of columns
* @return the {@link GridDescription}
- * @since 1.3
+ * @since 1.6
*/
protected final SWTGridDescription createSimpleGrid(int rows, int columns) {
return GridDescriptionFactory.INSTANCE.createSimpleGrid(rows, columns, null);
diff --git a/bundles/org.eclipse.emf.ecp.view.edapt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.edapt/META-INF/MANIFEST.MF
index fc95ab5..82d6171 100644
--- a/bundles/org.eclipse.emf.ecp.view.edapt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.edapt/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
Bundle-ManifestVersion: 2
Bundle-Name: Edapt
Bundle-SymbolicName: org.eclipse.emf.ecp.view.edapt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.emf.ecp.view.migrator;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.edapt.history;bundle-version="[1.0.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.view.edapt;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.edapt;version="1.6.0"
Bundle-Activator: org.eclipse.emf.ecp.view.edapt.Activator
diff --git a/bundles/org.eclipse.emf.ecp.view.edapt/pom.xml b/bundles/org.eclipse.emf.ecp.view.edapt/pom.xml
index 15f3a21..f7666dd 100644
--- a/bundles/org.eclipse.emf.ecp.view.edapt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.edapt/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.edapt</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.edapt/src/org/eclipse/emf/ecp/view/edapt/CustomMigrationClassLoader.java b/bundles/org.eclipse.emf.ecp.view.edapt/src/org/eclipse/emf/ecp/view/edapt/CustomMigrationClassLoader.java
index 00c6b46..722ae4a 100644
--- a/bundles/org.eclipse.emf.ecp.view.edapt/src/org/eclipse/emf/ecp/view/edapt/CustomMigrationClassLoader.java
+++ b/bundles/org.eclipse.emf.ecp.view.edapt/src/org/eclipse/emf/ecp/view/edapt/CustomMigrationClassLoader.java
@@ -19,7 +19,6 @@
* @author jfaltermeier
*
*/
-@SuppressWarnings("restriction")
public class CustomMigrationClassLoader implements IClassLoader {
@SuppressWarnings("unchecked")
diff --git a/bundles/org.eclipse.emf.ecp.view.edapt/src/org/eclipse/emf/ecp/view/edapt/EdaptViewModelMigrator.java b/bundles/org.eclipse.emf.ecp.view.edapt/src/org/eclipse/emf/ecp/view/edapt/EdaptViewModelMigrator.java
index 0317e13..6569c10 100644
--- a/bundles/org.eclipse.emf.ecp.view.edapt/src/org/eclipse/emf/ecp/view/edapt/EdaptViewModelMigrator.java
+++ b/bundles/org.eclipse.emf.ecp.view.edapt/src/org/eclipse/emf/ecp/view/edapt/EdaptViewModelMigrator.java
@@ -367,7 +367,7 @@
*/
private List<String> getNamespaceURIs(URI resourceURI) {
@SuppressWarnings("restriction")
- final File file = org.eclipse.emf.edapt.common.URIUtils.getJavaFile(resourceURI);
+ final File file = org.eclipse.emf.edapt.internal.common.URIUtils.getJavaFile(resourceURI);
// read all namespaces from root element with SAX
final NameSpaceHandler handler = new NameSpaceHandler();
executeContentHandler(file, handler);
@@ -380,7 +380,7 @@
*/
private String getRootPackageURI(URI resourceURI) {
@SuppressWarnings("restriction")
- final File file = org.eclipse.emf.edapt.common.URIUtils.getJavaFile(resourceURI);
+ final File file = org.eclipse.emf.edapt.internal.common.URIUtils.getJavaFile(resourceURI);
// read root package namespace uri with SAX
final RootPackageHandler handler = new RootPackageHandler();
executeContentHandler(file, handler);
@@ -441,9 +441,9 @@
+ migrationPath, true);
try {
MigratorRegistry.getInstance().registerMigrator(migratorURI,
- new org.eclipse.emf.edapt.internal.migration.execution.BundleClassLoader(bundle));
+ new org.eclipse.emf.edapt.internal.migration.execution.internal.BundleClassLoader(bundle));
} catch (final MigrationException e) {
- org.eclipse.emf.edapt.common.LoggingUtils.logError(MigrationPlugin.getPlugin(), e);
+ org.eclipse.emf.edapt.internal.common.LoggingUtils.logError(MigrationPlugin.getPlugin(), e);
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.group.model.edit/.gitignore b/bundles/org.eclipse.emf.ecp.view.group.model.edit/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.model.edit/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.group.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.group.model.edit/.settings/.api_filters
index 209e672..02fadb3 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.group.model.edit/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.group.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model.edit"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.group.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.group.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.group.model.edit_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.model.edit/META-INF/MANIFEST.MF
index d2a202d..81f535f 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.group.model.provider.GroupEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.group.model.provider;vers
- ion="1.5.1"
+ ion="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.group.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.group.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.group.model.edit/pom.xml
index 8340216..41298b7 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.group.model.edit/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.model.edit/src/org/eclipse/emf/ecp/view/spi/group/model/provider/GroupItemProvider.java b/bundles/org.eclipse.emf.ecp.view.group.model.edit/src/org/eclipse/emf/ecp/view/spi/group/model/provider/GroupItemProvider.java
index 8a416ed..6c7b62a 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.model.edit/src/org/eclipse/emf/ecp/view/spi/group/model/provider/GroupItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.group.model.edit/src/org/eclipse/emf/ecp/view/spi/group/model/provider/GroupItemProvider.java
@@ -19,6 +19,8 @@
import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
import org.eclipse.emf.ecp.view.spi.group.model.VGroupFactory;
import org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.ecp.view.spi.model.provider.ContainedContainerItemProvider;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
@@ -165,12 +167,15 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object)
{
- final String label = ((VGroup) object).getName();
+ String label = ((VGroup) object).getLabel();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_Group_type") : //$NON-NLS-1$
getString("_UI_Group_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.view.group.model/.gitignore b/bundles/org.eclipse.emf.ecp.view.group.model/.gitignore
index ae3c172..ff3e254 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.model/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.view.group.model/.gitignore
@@ -1 +1,2 @@
/bin/
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.group.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.group.model/.settings/.api_filters
index 147d821..7756a03 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.group.model/.settings/.api_filters
@@ -13,10 +13,34 @@
<message_argument value="1.3.0"/>
</message_arguments>
</filter>
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.group.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.group.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.group.model_1.5.0"/>
</message_arguments>
</filter>
</resource>
@@ -82,7 +106,17 @@
</message_arguments>
</filter>
</resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/group/model/VGroupPackage.java">
+ <filter comment="Changes due to new label field in 1.6" id="0"/>
+ </resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/group/model/VGroupPackage.java" type="org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage">
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage"/>
+ <message_argument value="GROUP_FEATURE_COUNT"/>
+ <message_argument value="10"/>
+ </message_arguments>
+ </filter>
<filter comment="This is SPI" id="388194388">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage"/>
@@ -104,6 +138,69 @@
<message_argument value="1"/>
</message_arguments>
</filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage"/>
+ <message_argument value="GROUP__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage"/>
+ <message_argument value="GROUP__CHILDREN"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage"/>
+ <message_argument value="GROUP__COLLAPSED"/>
+ <message_argument value="9"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage"/>
+ <message_argument value="GROUP__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage"/>
+ <message_argument value="GROUP__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage"/>
+ <message_argument value="GROUP__GROUP_TYPE"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage"/>
+ <message_argument value="GROUP__LABEL_ALIGNMENT"/>
+ <message_argument value="8"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage"/>
+ <message_argument value="GROUP__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage"/>
+ <message_argument value="GROUP__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
<filter id="405864542">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage"/>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.model/META-INF/MANIFEST.MF
index a17fb6e..dbc356d 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.model/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.view.spi.group.model;version="1.5.
- 1",org.eclipse.emf.ecp.view.spi.group.model.impl;version="1.5.1",org.
- eclipse.emf.ecp.view.spi.group.model.util;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.spi.group.model;version="1.6.
+ 0",org.eclipse.emf.ecp.view.spi.group.model.impl;version="1.6.0",org.
+ eclipse.emf.ecp.view.spi.group.model.util;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport
diff --git a/bundles/org.eclipse.emf.ecp.view.group.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.group.model/pom.xml
index ce8aa24..1e1b829 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.group.model/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/.gitignore b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/.project b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/.project
index fdcd0cc..c0dbf10 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/.project
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/.project
@@ -25,6 +25,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/META-INF/MANIFEST.MF
index 146a5a3..68e0cd1 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/META-INF/MANIFEST.MF
@@ -1,8 +1,8 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Collapsable Group
-Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.swt.collapsable;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.swt.collapsable
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)",
@@ -10,11 +10,19 @@
org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.group.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)"
-Import-Package: org.eclipse.swt;version="0.0.0",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
+Import-Package: javax.inject;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0",
+ org.eclipse.swt;version="0.0.0",
org.eclipse.swt.events;version="0.0.0",
org.eclipse.swt.graphics;version="0.0.0",
org.eclipse.swt.layout;version="0.0.0",
- org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.6.0"
Export-Package: org.eclipse.emf.ecp.view.group.swt.internal.collapsabl
- e;version="1.5.1";x-internal:=true
+ e;version="1.6.0";x-internal:=true
+Bundle-ActivationPolicy: lazy
+Service-Component: OSGI-INF/collapsableGroupRendererService.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/OSGI-INF/collapsableGroupRendererService.xml b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/OSGI-INF/collapsableGroupRendererService.xml
new file mode 100644
index 0000000..bd44fa9
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/OSGI-INF/collapsableGroupRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.group.swt.collapsable.rendererService">
+ <implementation class="org.eclipse.emf.ecp.view.group.swt.internal.collapsable.CollapsableGroupSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/build.properties b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/build.properties
index e5a949c..0565497 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/build.properties
@@ -2,6 +2,6 @@
output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.xml,\
- about.html
+ about.html,\
+ OSGI-INF/
src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/plugin.xml b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/plugin.xml
deleted file mode 100644
index f9f72e4..0000000
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.view.group.swt.internal.collapsable.CollapsableGroupSWTRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.group.swt.internal.collapsable.CollapsableGroupTester">
- </dynamicTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/pom.xml b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/pom.xml
index 9f5a406..11050e9 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRenderer.java
index e6ae989..6a07dec 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRenderer.java
@@ -11,11 +11,17 @@
*/
package org.eclipse.emf.ecp.view.group.swt.internal.collapsable;
+import javax.inject.Inject;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ExpandEvent;
import org.eclipse.swt.events.ExpandListener;
@@ -35,18 +41,33 @@
*/
public class CollapsableGroupSWTRenderer extends ContainerSWTRenderer<VGroup> {
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param factory the {@link EMFFormsRendererFactory}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ */
+ @Inject
+ public CollapsableGroupSWTRenderer(VGroup vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
+ super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+ }
+
private static final int MARGIN = 5;
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@Override
protected Control renderControl(SWTGridCell gridCell, final Composite parent) throws NoRendererFoundException,
NoPropertyDescriptorFoundExeption {
- final ExpandBar bar = new ExpandBar(parent, SWT.V_SCROLL);
+ final ExpandBar bar = new ExpandBar(parent, SWT.NONE);
bar.setBackground(parent.getBackground());
// First item
@@ -74,6 +95,7 @@
updateLayoutData(layoutData, item0.getHeaderHeight() + 2 * MARGIN);
parent.layout(true, true);
getVElement().setCollapsed(true);
+ postCollapsed();
}
@Override
@@ -84,6 +106,7 @@
+ 2 * MARGIN);
parent.layout(true, true);
getVElement().setCollapsed(false);
+ postExpanded();
}
// XXX relayout upon expand/collapse will only work properly when the grid data is adjusted
@@ -100,6 +123,20 @@
return bar;
}
+ /**
+ * This method gets called after the group has been expanded. Default implementation does nothing.
+ */
+ protected void postExpanded() {
+ // no op
+ }
+
+ /**
+ * This method gets called after the group has been collapsed. Default implementation does nothing.
+ */
+ protected void postCollapsed() {
+ // no op
+ }
+
private int computeHeight(Composite composite) {
// XXX +1 because last pixel gets cut off on windows 7 64
return composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y + 1;
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRendererService.java
new file mode 100644
index 0000000..4020a97
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupSWTRendererService.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.group.swt.internal.collapsable;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.group.model.GroupType;
+import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * CollapsableGroupSWTRendererService which provides the CollapsableGroupSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class CollapsableGroupSWTRendererService implements EMFFormsDIRendererService<VGroup> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VGroup.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ if (VGroup.class.cast(vElement).getGroupType() == GroupType.COLLAPSIBLE) {
+ return 5;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VGroup>> getRendererClass() {
+ return CollapsableGroupSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupTester.java b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupTester.java
deleted file mode 100644
index 71dc534..0000000
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsable/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsable/CollapsableGroupTester.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.group.swt.internal.collapsable;
-
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.group.model.GroupType;
-import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-
-/**
- * Tester for an embedded group renderer.
- *
- * @author Eugen
- *
- */
-public class CollapsableGroupTester implements ECPRendererTester {
-
- @Override
- public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
- if (!VGroup.class.isInstance(vElement)) {
- return NOT_APPLICABLE;
- }
- if (VGroup.class.cast(vElement).getGroupType() == GroupType.COLLAPSIBLE) {
- return 5;
- }
- return NOT_APPLICABLE;
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/.gitignore b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/.project b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/.project
index 5ff4d5b..a024dc6 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/.project
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/.project
@@ -30,6 +30,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/META-INF/MANIFEST.MF
index e3f0f46..4e1fc2f 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/META-INF/MANIFEST.MF
@@ -2,15 +2,22 @@
Bundle-ManifestVersion: 2
Bundle-Name: Collapsible Group Renderer using PGroup
Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.group.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)"
-Import-Package: org.eclipse.nebula.widgets.pgroup;version="0.0.0",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
+Import-Package: javax.inject;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.nebula.widgets.pgroup;version="0.0.0",
org.eclipse.swt;version="0.0.0",
org.eclipse.swt.events;version="0.0.0",
- org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.6.0"
Export-Package: org.eclipse.emf.ecp.view.group.swt.internal.collapsibl
- e.pgroup;version="1.5.1";x-internal:=true
+ e.pgroup;version="1.6.0";x-internal:=true
+Service-Component: OSGI-INF/pGroupRendererService.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/OSGI-INF/pGroupRendererService.xml b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/OSGI-INF/pGroupRendererService.xml
new file mode 100644
index 0000000..8e34753
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/OSGI-INF/pGroupRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.rendererService">
+ <implementation class="org.eclipse.emf.ecp.view.group.swt.internal.collapsible.pgroup.PGroupRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.ini b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/about.ini
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.ini
rename to bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/about.ini
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/about.mappings b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/about.mappings
new file mode 100644
index 0000000..f2954d5
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+0=${BUILD_ID}
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/about.properties b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/about.properties
new file mode 100644
index 0000000..83be450
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/about.properties
@@ -0,0 +1,31 @@
+# Copyright (c) 2011, 2015 Eclipsesource Munich GmbH and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Johannes Faltermeier - initial API and implementation
+
+# NLS_MESSAGEFORMAT_VAR
+
+# ==============================================================================
+# Do not change the properties between this line and the last line containing:
+# %%% END OF TRANSLATED PROPERTIES %%%
+# Instead, either redefine an existing property, or create a new property,
+# append it to the end of the file, and change the code to use the new name.
+# ==============================================================================
+
+featureName = ECP EMF Client Platform
+featureText = ECP EMF Client Platform\n\
+Version: {featureVersion}\n\
+Build id: {0}\n\
+\n\
+Copyright (c) 2011, 2015 Eclipsesource Munich GmbH and others. All rights reserved.\n\
+\n\
+Visit http://www.eclipse.org/ecp
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/build.properties b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/build.properties
index 101ae79..bdb0500 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/build.properties
@@ -1,7 +1,11 @@
-source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
about.html,\
- plugin.xml
+ OSGI-INF/,\
+ about.ini,\
+ about.mappings,\
+ about.properties,\
+ modeling32.png
src.includes = about.html
+source.. = src/
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/modeling32.png b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/modeling32.png
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.template.controls.swt/modeling32.png
rename to bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/modeling32.png
Binary files differ
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/plugin.xml b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/plugin.xml
deleted file mode 100644
index 941fedc..0000000
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.view.group.swt.internal.collapsible.pgroup.PGroupRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.group.swt.internal.collapsible.pgroup.PGroupRendererTester">
- </dynamicTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/pom.xml b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/pom.xml
index 17c7717..8ab251d 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsible/pgroup/PGroupRenderer.java b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsible/pgroup/PGroupRenderer.java
index 9875662..2793307 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsible/pgroup/PGroupRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsible/pgroup/PGroupRenderer.java
@@ -15,9 +15,15 @@
import java.util.Collection;
+import javax.inject.Inject;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
import org.eclipse.nebula.widgets.pgroup.PGroup;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ExpandEvent;
@@ -32,6 +38,21 @@
*/
public class PGroupRenderer extends ContainerSWTRenderer<VGroup> {
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param factory the {@link EMFFormsRendererFactory}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ */
+ @Inject
+ public PGroupRenderer(VGroup vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
+ super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+ }
+
@Override
protected Collection<VContainedElement> getChildren() {
return getVElement().getChildren();
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsible/pgroup/PGroupRendererService.java b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsible/pgroup/PGroupRendererService.java
new file mode 100644
index 0000000..6e966f6
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsible/pgroup/PGroupRendererService.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.group.swt.internal.collapsible.pgroup;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.group.model.GroupType;
+import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * GroupSWTRendererService which provides the GroupSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class PGroupRendererService implements EMFFormsDIRendererService<VGroup> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VGroup.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ if (VGroup.class.cast(vElement).getGroupType() == GroupType.COLLAPSIBLE) {
+ return 5;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VGroup>> getRendererClass() {
+ return PGroupRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsible/pgroup/PGroupRendererTester.java b/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsible/pgroup/PGroupRendererTester.java
deleted file mode 100644
index 6bbcbff..0000000
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup/src/org/eclipse/emf/ecp/view/group/swt/internal/collapsible/pgroup/PGroupRendererTester.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Johannes Faltermeier - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.group.swt.internal.collapsible.pgroup;
-
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.group.model.GroupType;
-import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-
-/**
- * {@link ECPRendererTester} for the {@link PGroupRenderer}.
- *
- * @author jfaltermeier
- *
- */
-public class PGroupRendererTester implements ECPRendererTester {
-
- @Override
- public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
- if (!VGroup.class.isInstance(vElement)) {
- return NOT_APPLICABLE;
- }
- if (VGroup.class.cast(vElement).getGroupType() == GroupType.COLLAPSIBLE) {
- return 5;
- }
- return NOT_APPLICABLE;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/.gitignore b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/.project b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/.project
index 32e568e..ed01c61 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/.project
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/.project
@@ -30,6 +30,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/META-INF/MANIFEST.MF
index 9b0a572..7e02f96 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/META-INF/MANIFEST.MF
@@ -2,14 +2,21 @@
Bundle-ManifestVersion: 2
Bundle-Name: AlignmentGroup SWT
Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.swt.embedded;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.group.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)"
-Import-Package: org.eclipse.swt;version="0.0.0",
- org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
+Import-Package: javax.inject;version="0.0.0",
+ org.eclipse.core.runtime;version="3.4.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.6.0"
Export-Package: org.eclipse.emf.ecp.view.alignmentgroup.internal.swt;v
- ersion="1.5.1";x-internal:=true
+ ersion="1.6.0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
+Service-Component: OSGI-INF/embeddedGroupRendererService.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/OSGI-INF/embeddedGroupRendererService.xml b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/OSGI-INF/embeddedGroupRendererService.xml
new file mode 100644
index 0000000..aec527e
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/OSGI-INF/embeddedGroupRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.group.swt.embedded.rendererService">
+ <implementation class="org.eclipse.emf.ecp.view.alignmentgroup.internal.swt.EmbeddedGroupSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/build.properties b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/build.properties
index e5a949c..5689bc7 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/build.properties
@@ -1,7 +1,7 @@
-source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.xml,\
- about.html
+ about.html,\
+ OSGI-INF/
src.includes = about.html
+source.. = src/
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/plugin.xml b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/plugin.xml
deleted file mode 100644
index b62d917..0000000
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.view.alignmentgroup.internal.swt.EmbeddedGroupSWTRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.alignmentgroup.internal.swt.EmbeddedGroupTester">
- </dynamicTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/pom.xml b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/pom.xml
index c1dc5c7..0e04390 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/src/org/eclipse/emf/ecp/view/alignmentgroup/internal/swt/EmbeddedGroupSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/src/org/eclipse/emf/ecp/view/alignmentgroup/internal/swt/EmbeddedGroupSWTRenderer.java
index 012d965..8239770 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/src/org/eclipse/emf/ecp/view/alignmentgroup/internal/swt/EmbeddedGroupSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/src/org/eclipse/emf/ecp/view/alignmentgroup/internal/swt/EmbeddedGroupSWTRenderer.java
@@ -17,16 +17,25 @@
import java.util.List;
import java.util.Map;
+import javax.inject.Inject;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.reporting.StatusReport;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractAdditionalSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -40,6 +49,23 @@
*/
public class EmbeddedGroupSWTRenderer extends AbstractSWTRenderer<VGroup> {
+ private final EMFFormsRendererFactory rendererFactory;
+
+ /**
+ * Default Constructor.
+ *
+ * @param vElement the view element to be rendered
+ * @param viewContext The view model context
+ * @param reportService the ReportService to use
+ * @param rendererFactory the EMFFormsRendererFactory to use
+ */
+ @Inject
+ public EmbeddedGroupSWTRenderer(final VGroup vElement, final ViewModelContext viewContext,
+ ReportService reportService, EMFFormsRendererFactory rendererFactory) {
+ super(vElement, viewContext, reportService);
+ this.rendererFactory = rendererFactory;
+ }
+
private SWTGridDescription currentGridDescription;
@Override
@@ -53,10 +79,19 @@
final Map<Integer, List<SWTGridCell>> gridCellsPerRow = new LinkedHashMap<Integer, List<SWTGridCell>>();
for (final VContainedElement containedElement : getVElement().getChildren()) {
gridCellsPerRow.put(row, new ArrayList<SWTGridCell>());
- final AbstractSWTRenderer<VElement> renderer = getSWTRendererFactory().getRenderer(containedElement,
- getViewModelContext());
- final Collection<AbstractAdditionalSWTRenderer<VElement>> additionalRenderers = getSWTRendererFactory()
- .getAdditionalRenderer(containedElement, getViewModelContext());
+ AbstractSWTRenderer<VElement> renderer;
+ try {
+ renderer = rendererFactory.getRendererInstance(containedElement,
+ getViewModelContext());
+ } catch (final EMFFormsNoRendererException ex) {
+ getReportService().report(
+ new StatusReport(
+ new Status(IStatus.INFO, "org.eclipse.emf.ecp.view.group.swt.embedded", String.format( //$NON-NLS-1$
+ "No Renderer for %s found.", containedElement.eClass().getName()), ex))); //$NON-NLS-1$
+ continue;
+ }
+ final Collection<AbstractAdditionalSWTRenderer<VElement>> additionalRenderers = rendererFactory
+ .getAdditionalRendererInstances(containedElement, getViewModelContext());
SWTGridDescription rendererGridDescription = renderer.getGridDescription(GridDescriptionFactory.INSTANCE
.createEmptyGridDescription());
for (final AbstractAdditionalSWTRenderer<VElement> additionalRenderer : additionalRenderers) {
@@ -96,7 +131,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.GridCell,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.GridCell,
* org.eclipse.swt.widgets.Composite)
*/
@Override
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/src/org/eclipse/emf/ecp/view/alignmentgroup/internal/swt/EmbeddedGroupSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/src/org/eclipse/emf/ecp/view/alignmentgroup/internal/swt/EmbeddedGroupSWTRendererService.java
new file mode 100644
index 0000000..6edfd6a
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/src/org/eclipse/emf/ecp/view/alignmentgroup/internal/swt/EmbeddedGroupSWTRendererService.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.alignmentgroup.internal.swt;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.group.model.GroupType;
+import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * EmbeddedGroupSWTRendererService which provides the EmbeddedGroupSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class EmbeddedGroupSWTRendererService implements EMFFormsDIRendererService<VGroup> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VGroup.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ if (VGroup.class.cast(vElement).getGroupType() == GroupType.EMBEDDED) {
+ return 5;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VGroup>> getRendererClass() {
+ return EmbeddedGroupSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/src/org/eclipse/emf/ecp/view/alignmentgroup/internal/swt/EmbeddedGroupTester.java b/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/src/org/eclipse/emf/ecp/view/alignmentgroup/internal/swt/EmbeddedGroupTester.java
deleted file mode 100644
index 13369ab..0000000
--- a/bundles/org.eclipse.emf.ecp.view.group.swt.embedded/src/org/eclipse/emf/ecp/view/alignmentgroup/internal/swt/EmbeddedGroupTester.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.alignmentgroup.internal.swt;
-
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.group.model.GroupType;
-import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-
-/**
- * Tester for an embedded group renderer.
- *
- * @author Eugen
- *
- */
-public class EmbeddedGroupTester implements ECPRendererTester {
-
- @Override
- public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
- if (!VGroup.class.isInstance(vElement)) {
- return NOT_APPLICABLE;
- }
- if (VGroup.class.cast(vElement).getGroupType() == GroupType.EMBEDDED) {
- return 5;
- }
- return NOT_APPLICABLE;
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/.gitignore b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/.project b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/.project
index f5afc12..30935ab 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/.project
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/.project
@@ -30,6 +30,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/.settings/.api_filters
index fd9eae0..e19e9e4 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/.settings/.api_filters
@@ -7,10 +7,10 @@
<message_argument value="1.2.1"/>
</message_arguments>
</filter>
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.core.swt"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
</message_arguments>
</filter>
</resource>
@@ -22,4 +22,18 @@
</message_arguments>
</filter>
</resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/group/swt/GroupSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.group.swt.GroupSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.group.swt.GroupSWTRenderer"/>
+ <message_argument value="GroupSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.group.swt.GroupSWTRenderer"/>
+ <message_argument value="GroupSWTRenderer(SWTRendererFactory)"/>
+ </message_arguments>
+ </filter>
+ </resource>
</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/META-INF/MANIFEST.MF
index 458e1b0..10c2700 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/META-INF/MANIFEST.MF
@@ -2,18 +2,28 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Model Group UI SWT
Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.ui.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.group.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Import-Package: org.eclipse.jface.layout;version="0.0.0",
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.layout;version="0.0.0",
org.eclipse.swt;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
-Export-Package: org.eclipse.emf.ecp.view.spi.group.swt;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.spi.group.swt;version="1.6.0"
+ ,org.eclipse.emfforms.internal.group.swt;version="1.6.0";x-internal:=
+ true
Bundle-Vendor: Eclipse Modeling Project
+Service-Component: OSGI-INF/groupRendererService.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/OSGI-INF/groupRendererService.xml b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/OSGI-INF/groupRendererService.xml
new file mode 100644
index 0000000..cfeb7f0
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/OSGI-INF/groupRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.group.ui.swt.rendererService">
+ <implementation class="org.eclipse.emfforms.internal.group.swt.GroupSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/build.properties b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/build.properties
index e0e105b..5689bc7 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/build.properties
@@ -1,7 +1,7 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- about.html
-src.includes = about.html
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html,\
+ OSGI-INF/
+src.includes = about.html
+source.. = src/
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/plugin.xml b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/plugin.xml
deleted file mode 100644
index aa98323..0000000
--- a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.group.swt.GroupSWTRenderer">
- <staticTest
- element="org.eclipse.emf.ecp.view.spi.group.model.VGroup"
- priority="1">
- </staticTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/pom.xml
index 75b7420..f0a8e61 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emf/ecp/view/spi/group/swt/GroupSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emf/ecp/view/spi/group/swt/GroupSWTRenderer.java
index f2e93bb..451b0d8 100644
--- a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emf/ecp/view/spi/group/swt/GroupSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emf/ecp/view/spi/group/swt/GroupSWTRenderer.java
@@ -13,10 +13,21 @@
import java.util.Collection;
+import javax.inject.Inject;
+
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.databinding.EMFDataBindingContext;
+import org.eclipse.emf.databinding.edit.EMFEditObservables;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emfforms.internal.group.swt.GroupTextProperty;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
@@ -28,23 +39,26 @@
*
*/
public class GroupSWTRenderer extends ContainerSWTRenderer<VGroup> {
- private static final String CONTROL_GROUP = "org_eclipse_emf_ecp_ui_control_group"; //$NON-NLS-1$
/**
* Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param factory the {@link EMFFormsRendererFactory}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @since 1.6
*/
- public GroupSWTRenderer() {
- super();
+ @Inject
+ public GroupSWTRenderer(VGroup vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
+ super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+ dbc = new EMFDataBindingContext();
}
- /**
- * Test constructor.
- *
- * @param factory the {@link SWTRendererFactory} to use.
- */
- protected GroupSWTRenderer(SWTRendererFactory factory) {
- super(factory);
- }
+ private static final String CONTROL_GROUP = "org_eclipse_emf_ecp_ui_control_group"; //$NON-NLS-1$
+ private final EMFDataBindingContext dbc;
/**
* {@inheritDoc}
@@ -75,10 +89,27 @@
@Override
protected Composite getComposite(Composite parent) {
final Group group = new Group(parent, SWT.TITLE);
- if (getVElement().getName() != null) {
- group.setText(getVElement().getName());
- }
+ final IObservableValue modelValue = EMFEditObservables.observeValue(
+ AdapterFactoryEditingDomain.getEditingDomainFor(getVElement()), getVElement(),
+ VViewPackage.eINSTANCE.getElement_Label());
+ final IObservableValue targetValue = new GroupTextProperty().observe(group);
+ // FIXME fixed with JFace-Databinding 4.5
+ // final IObservableValue targetValue = SWTObservables.observeText(group);
+
+ dbc.bindValue(targetValue, modelValue);
+
return group;
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#dispose()
+ */
+ @Override
+ protected void dispose() {
+ dbc.dispose();
+ super.dispose();
+ }
+
}
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emfforms/internal/group/swt/GroupSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emfforms/internal/group/swt/GroupSWTRendererService.java
new file mode 100644
index 0000000..503b264
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emfforms/internal/group/swt/GroupSWTRendererService.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.group.swt;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
+import org.eclipse.emf.ecp.view.spi.group.swt.GroupSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * GroupSWTRendererService which provides the GroupSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class GroupSWTRendererService implements EMFFormsDIRendererService<VGroup> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VGroup.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ return 1d;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VGroup>> getRendererClass() {
+ return GroupSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emfforms/internal/group/swt/GroupTextProperty.java b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emfforms/internal/group/swt/GroupTextProperty.java
new file mode 100644
index 0000000..2d7c235
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.group.ui.swt/src/org/eclipse/emfforms/internal/group/swt/GroupTextProperty.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.group.swt;
+
+import org.eclipse.jface.databinding.swt.WidgetValueProperty;
+import org.eclipse.swt.widgets.Group;
+
+/**
+ * Databinding Property for SWT Groups.
+ *
+ * @author Eugen Neufeld
+ * @generated
+ */
+public class GroupTextProperty extends WidgetValueProperty {
+ // better use WidgetStringValueProperty
+ public GroupTextProperty() {
+ super();
+ }
+
+ GroupTextProperty(int event) {
+ super(event);
+ }
+
+ GroupTextProperty(int[] events) {
+ super(events);
+ }
+
+ GroupTextProperty(int[] events, int[] staleEvents) {
+ super(events, staleEvents);
+ }
+
+ @Override
+ public Object getValueType() {
+ return String.class;
+ }
+
+ @Override
+ protected Object doGetValue(Object source) {
+ return doGetStringValue(source);
+ }
+
+ @Override
+ protected void doSetValue(Object source, Object value) {
+ doSetStringValue(source, (String) value);
+ }
+
+ // end of copied code
+
+ String doGetStringValue(Object source) {
+ return ((Group) source).getText();
+ }
+
+ void doSetStringValue(Object source, String value) {
+ ((Group) source).setText(value == null ? "" : value); //$NON-NLS-1$
+ }
+
+ @Override
+ public String toString() {
+ return "Group.text <String>"; //$NON-NLS-1$
+ }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/META-INF/MANIFEST.MF
index 303742e..da377de 100644
--- a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.groupedgrid.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.groupedgrid.model.provider.GroupedGridEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.groupedgrid.model.provide
- r;version="1.5.1"
+ r;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.edit;visibility:=reexport;bundle-version="[2.7.0,3.0.0)",
org.eclipse.emf.ecore;visibility:=reexport;bundle-version="[2.7.0,3.0.0)",
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/pom.xml
index 43b5460..aab48ee 100644
--- a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.groupedgrid.model.edit</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/src/org/eclipse/emf/ecp/view/spi/groupedgrid/model/provider/GroupedGridItemProvider.java b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/src/org/eclipse/emf/ecp/view/spi/groupedgrid/model/provider/GroupedGridItemProvider.java
index c65dc38..f29fd02 100644
--- a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/src/org/eclipse/emf/ecp/view/spi/groupedgrid/model/provider/GroupedGridItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model.edit/src/org/eclipse/emf/ecp/view/spi/groupedgrid/model/provider/GroupedGridItemProvider.java
@@ -20,6 +20,8 @@
import org.eclipse.emf.ecp.view.spi.groupedgrid.model.VGroupedGrid;
import org.eclipse.emf.ecp.view.spi.groupedgrid.model.VGroupedGridFactory;
import org.eclipse.emf.ecp.view.spi.groupedgrid.model.VGroupedGridPackage;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.ecp.view.spi.model.provider.ContainedElementItemProvider;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
@@ -125,12 +127,15 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object)
{
- final String label = ((VGroupedGrid) object).getName();
+ String label = ((VGroupedGrid) object).getLabel();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_GroupedGrid_type") : //$NON-NLS-1$
getString("_UI_GroupedGrid_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/.gitignore b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/META-INF/MANIFEST.MF
index 6ccf341..fb7f832 100644
--- a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.groupedgrid.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.groupedgrid.model;version
- ="1.5.1",org.eclipse.emf.ecp.view.spi.groupedgrid.model.impl;version=
- "1.5.1",org.eclipse.emf.ecp.view.spi.groupedgrid.model.util;version="
- 1.5.1"
+ ="1.6.0",org.eclipse.emf.ecp.view.spi.groupedgrid.model.impl;version=
+ "1.6.0",org.eclipse.emf.ecp.view.spi.groupedgrid.model.util;version="
+ 1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;visibility:=reexport;bundle-version="[2.7.0,3.0.0)",
org.eclipse.emf.ecp.view.model;visibility:=reexport;bundle-version="[1.5.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/pom.xml
index be8f426..37f849f 100644
--- a/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.model/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.groupedgrid.model</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/META-INF/MANIFEST.MF
index f045e86..e2a2198 100644
--- a/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/META-INF/MANIFEST.MF
@@ -2,17 +2,19 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Model Grouped Grid UI SWT
Bundle-SymbolicName: org.eclipse.emf.ecp.view.groupedgrid.ui.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.groupedgrid.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.ecp.view.spi.groupedgrid.swt;version="
- 1.5.1"
-Import-Package: org.eclipse.jface.layout;version="0.0.0",
+ 1.6.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.jface.layout;version="0.0.0",
org.eclipse.swt;version="0.0.0",
org.eclipse.swt.layout;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/pom.xml
index f318ba8..aaff315 100644
--- a/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/src/org/eclipse/emf/ecp/view/spi/groupedgrid/swt/GroupedGridSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/src/org/eclipse/emf/ecp/view/spi/groupedgrid/swt/GroupedGridSWTRenderer.java
index c6b6f10..bbc1e16 100644
--- a/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/src/org/eclipse/emf/ecp/view/spi/groupedgrid/swt/GroupedGridSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.groupedgrid.ui.swt/src/org/eclipse/emf/ecp/view/spi/groupedgrid/swt/GroupedGridSWTRenderer.java
@@ -11,6 +11,7 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.groupedgrid.swt;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.groupedgrid.model.VGroup;
import org.eclipse.emf.ecp.view.spi.groupedgrid.model.VGroupedGrid;
import org.eclipse.emf.ecp.view.spi.groupedgrid.model.VRow;
@@ -20,10 +21,14 @@
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.swt.SWT;
@@ -31,6 +36,9 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* @author Eugen Neufeld
@@ -38,12 +46,24 @@
*
*/
public class GroupedGridSWTRenderer extends AbstractSWTRenderer<VGroupedGrid> {
+ /**
+ * Default Constructor.
+ *
+ * @param vElement the view element to be rendered
+ * @param viewContext The view model context
+ * @param reportService the ReportService to use
+ */
+ public GroupedGridSWTRenderer(final VGroupedGrid vElement, final ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
private SWTGridDescription rendererGridDescription;
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -56,7 +76,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#dispose()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#dispose()
*/
@Override
protected void dispose() {
@@ -67,7 +87,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@Override
@@ -102,15 +122,17 @@
for (final org.eclipse.emf.ecp.view.spi.model.VContainedElement child : row.getChildren()) {
final int hSpan = getHSpanOfComposite(child);
- final AbstractSWTRenderer<VElement> renderer = getSWTRendererFactory().getRenderer(child,
- getViewModelContext());
+ AbstractSWTRenderer<VElement> renderer;
+ try {
+ renderer = getEMFFormsRendererFactory().getRendererInstance(child,
+ getViewModelContext());
+ } catch (final EMFFormsNoRendererException ex) {
+ getReportService().report(new RenderingFailedReport(ex));
+ continue;
+ }
final Control childRender = renderer.render(new SWTGridCell(0, 0, this),
columnComposite);
- // TOOD; when does this case apply?
- if (childRender == null) {
- continue;
- }
childRender.setBackground(parent.getBackground());
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).indent(0, 0)
.span(hSpan, 1).applyTo(childRender);
@@ -180,4 +202,12 @@
}
+ private EMFFormsRendererFactory getEMFFormsRendererFactory() {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<EMFFormsRendererFactory> serviceReference = bundleContext
+ .getServiceReference(EMFFormsRendererFactory.class);
+ final EMFFormsRendererFactory rendererFactory = bundleContext.getService(serviceReference);
+ bundleContext.ungetService(serviceReference);
+ return rendererFactory;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/.settings/.api_filters
index ea69282..ab4f891 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/.settings/.api_filters
@@ -1,6 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.horizontal.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
<filter comment="Fixed versions" id="927989779">
<message_arguments>
<message_argument value="1.4.0"/>
@@ -14,4 +20,28 @@
</message_arguments>
</filter>
</resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.horizontal.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.horizontal.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.horizontal.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/META-INF/MANIFEST.MF
index 0bd99d8..fbc1732 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.horizontal.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.horizontal.model.provider.HorizontalEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.horizontal.model.provider
- ;version="1.5.1"
+ ;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/pom.xml
index e359c85..7de171c 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.horizontal.model.edit</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/src/org/eclipse/emf/ecp/view/spi/horizontal/model/provider/HorizontalLayoutItemProvider.java b/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/src/org/eclipse/emf/ecp/view/spi/horizontal/model/provider/HorizontalLayoutItemProvider.java
index c56b405..c13ff43 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/src/org/eclipse/emf/ecp/view/spi/horizontal/model/provider/HorizontalLayoutItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.model.edit/src/org/eclipse/emf/ecp/view/spi/horizontal/model/provider/HorizontalLayoutItemProvider.java
@@ -18,6 +18,8 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalFactory;
import org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalLayout;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.ecp.view.spi.model.provider.ContainedContainerItemProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -84,12 +86,15 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object)
{
- final String label = ((VHorizontalLayout) object).getName();
+ String label = ((VHorizontalLayout) object).getName();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_HorizontalLayout_type") : //$NON-NLS-1$
getString("_UI_HorizontalLayout_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.horizontal.model/.settings/.api_filters
index f51930a..99aca4f 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.model/.settings/.api_filters
@@ -1,10 +1,85 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.horizontal.model" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.horizontal.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.horizontal.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.horizontal.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/horizontal/model/VHorizontalPackage.java" type="org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalPackage">
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalPackage"/>
+ <message_argument value="HORIZONTAL_LAYOUT_FEATURE_COUNT"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalPackage"/>
+ <message_argument value="HORIZONTAL_LAYOUT__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalPackage"/>
+ <message_argument value="HORIZONTAL_LAYOUT__CHILDREN"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalPackage"/>
+ <message_argument value="HORIZONTAL_LAYOUT__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalPackage"/>
+ <message_argument value="HORIZONTAL_LAYOUT__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalPackage"/>
+ <message_argument value="HORIZONTAL_LAYOUT__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalPackage"/>
+ <message_argument value="HORIZONTAL_LAYOUT__VISIBLE"/>
+ <message_argument value="1"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.horizontal.model/META-INF/MANIFEST.MF
index ad523a2..e4ee095 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.model/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
Bundle-ManifestVersion: 2
Bundle-Name: Horizontal View Model
Bundle-SymbolicName: org.eclipse.emf.ecp.view.horizontal.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: Eclipse Modeling Project
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.horizontal.model;version=
- "1.5.1",org.eclipse.emf.ecp.view.spi.horizontal.model.impl;version="1
- .5.1",org.eclipse.emf.ecp.view.spi.horizontal.model.util;version="1.5
- .1"
+ "1.6.0",org.eclipse.emf.ecp.view.spi.horizontal.model.impl;version="1
+ .6.0",org.eclipse.emf.ecp.view.spi.horizontal.model.util;version="1.6
+ .0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.horizontal.model/pom.xml
index a058639..33da40d 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.model/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.horizontal.model</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/.project b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/.project
index a068caa..d183602 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/.project
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/.project
@@ -30,6 +30,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/.settings/.api_filters
index d975a10..50aa4d7 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/.settings/.api_filters
@@ -7,8 +7,32 @@
<message_argument value="1.2.1"/>
</message_arguments>
</filter>
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
</resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/horizontal/swt/HorizontalLayoutSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.horizontal.swt.HorizontalLayoutSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.horizontal.swt.HorizontalLayoutSWTRenderer"/>
+ <message_argument value="HorizontalLayoutSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.horizontal.swt.HorizontalLayoutSWTRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.horizontal.swt.HorizontalLayoutSWTRenderer"/>
+ <message_argument value="renderControl(SWTGridCell, Composite)"/>
+ </message_arguments>
+ </filter>
<filter comment="This is SPI" id="338792546">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.horizontal.swt.HorizontalLayoutSWTRenderer"/>
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/META-INF/MANIFEST.MF
index 300f979..c67b5eb 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/META-INF/MANIFEST.MF
@@ -1,21 +1,24 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: View Model Horizontal UI SWT
-Bundle-SymbolicName: org.eclipse.emf.ecp.view.horizontal.ui.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-SymbolicName: org.eclipse.emf.ecp.view.horizontal.ui.swt
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.ecp.view.internal.horizontal.swt;versi
- on="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.spi.horizontal.s
- wt;version="1.5.1"
+ on="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.spi.horizontal.s
+ wt;version="1.6.0"
Import-Package: org.eclipse.emf.ecp.view.internal.core.swt;version="1.1.1",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
org.eclipse.jface.layout;version="0.0.0",
org.eclipse.swt;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
-Bundle-Activator: org.eclipse.emf.ecp.view.internal.horizontal.swt.Activator
+Service-Component: OSGI-INF/horizontalLayoutRendererService.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/OSGI-INF/horizontalLayoutRendererService.xml b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/OSGI-INF/horizontalLayoutRendererService.xml
new file mode 100644
index 0000000..a60c20a
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/OSGI-INF/horizontalLayoutRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.horizontal.swt.rendererService">
+ <implementation class="org.eclipse.emf.ecp.view.internal.horizontal.swt.HorizontalLayoutSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/build.properties b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/build.properties
index e5a949c..0565497 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/build.properties
@@ -2,6 +2,6 @@
output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.xml,\
- about.html
+ about.html,\
+ OSGI-INF/
src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/plugin.xml b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/plugin.xml
deleted file mode 100644
index f9b412e..0000000
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.horizontal.swt.HorizontalLayoutSWTRenderer">
- <staticTest
- element="org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalLayout"
- priority="1">
- </staticTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/pom.xml
index ebfbfc3..af984b5 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/src/org/eclipse/emf/ecp/view/internal/horizontal/swt/Activator.java b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/src/org/eclipse/emf/ecp/view/internal/horizontal/swt/Activator.java
deleted file mode 100644
index 1108270..0000000
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/src/org/eclipse/emf/ecp/view/internal/horizontal/swt/Activator.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.horizontal.swt;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-/**
- * The activator class controls the plug-in life cycle.
- */
-public class Activator extends Plugin {
-
- /** The plug-in ID. */
- public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.horizontal.swt"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator plugin;
-
- /**
- * The constructor.
- */
- public Activator() {
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance.
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- /**
- * Returns the {@link ReportService}.
- *
- * @return the {@link ReportService}
- */
- public ReportService getReportService() {
- final BundleContext bundleContext = getBundle().getBundleContext();
- final ServiceReference<ReportService> serviceReference =
- bundleContext.getServiceReference(ReportService.class);
- return bundleContext.getService(serviceReference);
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/src/org/eclipse/emf/ecp/view/internal/horizontal/swt/HorizontalLayoutSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/src/org/eclipse/emf/ecp/view/internal/horizontal/swt/HorizontalLayoutSWTRendererService.java
new file mode 100644
index 0000000..83516a7
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/src/org/eclipse/emf/ecp/view/internal/horizontal/swt/HorizontalLayoutSWTRendererService.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.horizontal.swt;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalLayout;
+import org.eclipse.emf.ecp.view.spi.horizontal.swt.HorizontalLayoutSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * EmbeddedGroupSWTRendererService which provides the EmbeddedGroupSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class HorizontalLayoutSWTRendererService implements EMFFormsDIRendererService<VHorizontalLayout> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (VHorizontalLayout.class.isInstance(vElement)) {
+ return 1;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VHorizontalLayout>> getRendererClass() {
+ return HorizontalLayoutSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/src/org/eclipse/emf/ecp/view/spi/horizontal/swt/HorizontalLayoutSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/src/org/eclipse/emf/ecp/view/spi/horizontal/swt/HorizontalLayoutSWTRenderer.java
index 6381bf7..6ac5ba1 100644
--- a/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/src/org/eclipse/emf/ecp/view/spi/horizontal/swt/HorizontalLayoutSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.horizontal.ui.swt/src/org/eclipse/emf/ecp/view/spi/horizontal/swt/HorizontalLayoutSWTRenderer.java
@@ -15,20 +15,26 @@
import java.util.LinkedHashMap;
import java.util.Map;
+import javax.inject.Inject;
+
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.ecp.view.internal.horizontal.swt.Activator;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalLayout;
import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.reporting.StatusReport;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
import org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProviderHelper;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -42,13 +48,31 @@
*/
public class HorizontalLayoutSWTRenderer extends AbstractSWTRenderer<VHorizontalLayout> {
+ private final EMFFormsRendererFactory rendererFactory;
+
+ /**
+ * Default Constructor.
+ *
+ * @param vElement the view element to be rendered
+ * @param viewContext The view model context
+ * @param reportService the ReportService to use
+ * @param rendererFactory the EMFFormsRendererFactory to use
+ * @since 1.6
+ */
+ @Inject
+ public HorizontalLayoutSWTRenderer(final VHorizontalLayout vElement, final ViewModelContext viewContext,
+ ReportService reportService, EMFFormsRendererFactory rendererFactory) {
+ super(vElement, viewContext, reportService);
+ this.rendererFactory = rendererFactory;
+ }
+
private static final String CONTROL_COLUMN_COMPOSITE = "org_eclipse_emf_ecp_ui_layout_horizontal"; //$NON-NLS-1$
private SWTGridDescription rendererGridDescription;
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#dispose()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#dispose()
*/
@Override
protected void dispose() {
@@ -59,12 +83,13 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
if (rendererGridDescription == null) {
rendererGridDescription = GridDescriptionFactory.INSTANCE.createSimpleGrid(1, 1, this);
+ rendererGridDescription.getGrid().get(0).setVerticalGrab(false);
}
return rendererGridDescription;
}
@@ -72,7 +97,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
* org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
*/
@Override
@@ -88,15 +113,14 @@
final Map<VContainedElement, AbstractSWTRenderer<VElement>> elementRendererMap = new LinkedHashMap<VContainedElement, AbstractSWTRenderer<VElement>>();
for (final VContainedElement child : getVElement().getChildren()) {
- final AbstractSWTRenderer<VElement> renderer = getSWTRendererFactory().getRenderer(child,
- getViewModelContext());
- if (renderer == null) {
- Activator
- .getDefault()
- .getLog()
- .log(
- new Status(IStatus.INFO, Activator.PLUGIN_ID, String.format(
- "No Renderer for %s found.", child.eClass().getName()))); //$NON-NLS-1$
+ AbstractSWTRenderer<VElement> renderer;
+ try {
+ renderer = rendererFactory.getRendererInstance(child,
+ getViewModelContext());
+ } catch (final EMFFormsNoRendererException ex) {
+ getReportService().report(new StatusReport(
+ new Status(IStatus.INFO, "org.eclipse.emf.ecp.view.horizontal.ui.swt",//$NON-NLS-1$
+ String.format("No Renderer for %s found.", child.eClass().getName())))); //$NON-NLS-1$
continue;
}
elementRendererMap.put(child, renderer);
@@ -123,15 +147,14 @@
}
// TODO who should apply the layout
control.setLayoutData(LayoutProviderHelper.getLayoutData(childGridCell, gridDescription,
- gridDescription,
- gridDescription, childGridCell.getRenderer().getVElement(),
- control));
+ gridDescription, gridDescription, childGridCell.getRenderer().getVElement(),
+ getViewModelContext().getDomainModel(), control));
}
for (final SWTGridCell childGridCell : gridDescription.getGrid()) {
childGridCell.getRenderer().finalizeRendering(column);
}
} catch (final NoPropertyDescriptorFoundExeption e) {
- Activator.getDefault().getReportService().report(new RenderingFailedReport(e));
+ getReportService().report(new RenderingFailedReport(e));
continue;
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.project b/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.project
deleted file mode 100644
index 292e235..0000000
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.project
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.ecp.view.indexdmr.databinding</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ds.core.builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/META-INF/MANIFEST.MF
deleted file mode 100644
index 8b71fc0..0000000
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: EMF Forms Index DMR Databinding
-Bundle-SymbolicName: org.eclipse.emf.ecp.view.indexdmr.databinding
-Bundle-Version: 1.5.1.qualifier
-Bundle-Vendor: Eclipse Modeling Project
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: org.eclipse.emf.databinding,
- org.eclipse.core.databinding.property;bundle-version="1.4.200",
- org.eclipse.emf.ecp.view.model.common,
- org.eclipse.emf.ecp.view.model,
- org.eclipse.emf.ecp.view.indexdmr.model
-Import-Package: org.osgi.framework
-Service-Component: OSGI-INF/indexDatabindingProvider.xml
-Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/OSGI-INF/indexDatabindingProvider.xml b/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/OSGI-INF/indexDatabindingProvider.xml
deleted file mode 100644
index 7c2666c..0000000
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/OSGI-INF/indexDatabindingProvider.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.indexdmr.databinding">
- <implementation class="org.eclipse.emf.ecp.view.indexdmr.databinding.IndexDatabindingProviderService"/>
- <service>
- <provide interface="org.eclipse.emf.ecp.view.model.common.spi.databinding.DatabindingProviderService"/>
- </service>
- <property name="domainModelReference" type="String" value="org.eclipse.emf.ecp.view.spi.indexdmr.model.impl.VIndexDomainModelReferenceImpl"/>
-</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/pom.xml b/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/pom.xml
deleted file mode 100644
index 7e0dec8..0000000
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/pom.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.emf.ecp</groupId>
- <artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
- <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
- </parent>
-
- <artifactId>org.eclipse.emf.ecp.view.indexdmr.databinding</artifactId>
- <packaging>eclipse-plugin</packaging>
-
-</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/src/org/eclipse/emf/ecp/view/indexdmr/databinding/EMFIndexedValueProperty.java b/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/src/org/eclipse/emf/ecp/view/indexdmr/databinding/EMFIndexedValueProperty.java
deleted file mode 100644
index 5e72a92..0000000
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/src/org/eclipse/emf/ecp/view/indexdmr/databinding/EMFIndexedValueProperty.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.indexdmr.databinding;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.databinding.internal.EMFValueProperty;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * This class provides a ValueProperty for EClass Mappings.
- *
- * @author Eugen Neufeld
- *
- */
-@SuppressWarnings("restriction")
-public class EMFIndexedValueProperty extends EMFValueProperty {
-
- private final int index;
-
- /**
- * Constructor for a EClassMapping ValueProperty.
- *
- * @param mappedEClass
- * the EClass being mapped
- * @param eStructuralFeature
- * the {@link EStructuralFeature} of the map
- */
- public EMFIndexedValueProperty(int index,
- EStructuralFeature eStructuralFeature) {
- super(eStructuralFeature);
- this.index = index;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected Object doGetValue(Object source) {
- final Object result = super.doGetValue(source);
- final EList<Object> list = (EList<Object>) result;
- return list.get(index);
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected void doSetValue(Object source, Object value) {
- final Object result = super.doGetValue(source);
- final EList<Object> list = (EList<Object>) result;
- list.add(index, value);
- }
-
- @Override
- public String toString() {
- String s = super.toString();
- s += " index " + index; //$NON-NLS-1$
- return s;
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/src/org/eclipse/emf/ecp/view/indexdmr/databinding/IndexDatabindingProviderService.java b/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/src/org/eclipse/emf/ecp/view/indexdmr/databinding/IndexDatabindingProviderService.java
deleted file mode 100644
index a7a7145..0000000
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/src/org/eclipse/emf/ecp/view/indexdmr/databinding/IndexDatabindingProviderService.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.indexdmr.databinding;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.core.databinding.observable.IObservable;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.property.IProperty;
-import org.eclipse.core.databinding.property.value.IValueProperty;
-import org.eclipse.emf.ecp.view.model.common.internal.databinding.FeaturePathDatabindingProviderService;
-import org.eclipse.emf.ecp.view.model.common.spi.databinding.DatabindingProviderService;
-import org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.model.ModelReferenceHelper;
-import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.FrameworkUtil;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
-
-/**
- * The {@link DatabindingProviderService} for a
- * {@link VIndexDomainModelReference}.
- *
- * @author Eugen Neufeld
- *
- */
-@SuppressWarnings("restriction")
-public class IndexDatabindingProviderService extends
- FeaturePathDatabindingProviderService {
-
- @SuppressWarnings("unchecked")
- @Override
- public <O extends IObservable> O getObservable(
- VFeaturePathDomainModelReference domainModelReference,
- Class<O> observableClass) {
- final IObservableValue value = (IObservableValue) super.getObservable(
- domainModelReference, observableClass);
-
- return (O) value;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public <P extends IProperty> P getProperty(
- VFeaturePathDomainModelReference domainModelReference,
- Class<P> propertyClass) {
- final VIndexDomainModelReference indexDomainModelReference = (VIndexDomainModelReference) domainModelReference;
-
- final EMFIndexedValueProperty valueProperty = new EMFIndexedValueProperty(
- indexDomainModelReference.getIndex(),
- domainModelReference.getDomainModelEFeature());
- final IValueProperty value = valueProperty
- .value(getPropertyOfChild(indexDomainModelReference
- .getTargetDMR()));
-
- if(domainModelReference.getDomainModelEReferencePath().isEmpty())
- return (P) value;
-
- VFeaturePathDomainModelReference subDMR = (VFeaturePathDomainModelReference)ModelReferenceHelper.createDomainModelReference(domainModelReference.getDomainModelEReferencePath().get(domainModelReference.getDomainModelEReferencePath().size()-1), domainModelReference.getDomainModelEReferencePath().subList(0, domainModelReference.getDomainModelEReferencePath().size()-1));
- IValueProperty property=(IValueProperty) super.getProperty(subDMR, propertyClass);
- // property.value(valueProperty);
- return (P) property.value(value);
- }
-
- @SuppressWarnings({ "rawtypes", "unchecked" })
- private IValueProperty getPropertyOfChild(
- VDomainModelReference domainModelReference) {
- final BundleContext bundleContext = FrameworkUtil.getBundle(getClass())
- .getBundleContext();
- ServiceReference<DatabindingProviderService> databindingProviderServiceReference = null;
- try {
- final Collection<ServiceReference<DatabindingProviderService>> serviceReferences = bundleContext
- .getServiceReferences(
- DatabindingProviderService.class,
- String.format(
- "(domainModelReference=%s)", domainModelReference.getClass().getName())); //$NON-NLS-1$
- final Iterator<ServiceReference<DatabindingProviderService>> iterator = serviceReferences
- .iterator();
- if (iterator.hasNext()) {
- databindingProviderServiceReference = iterator.next();
- }
- if (databindingProviderServiceReference == null) {
- throw new IllegalStateException(
- "No DatabindingProviderService available."); //$NON-NLS-1$
- }
- } catch (final InvalidSyntaxException e) {
- throw new IllegalStateException(e);
- }
- final DatabindingProviderService<VDomainModelReference> service = bundleContext
- .getService(databindingProviderServiceReference);
-
- final IValueProperty property = service.getProperty(
- domainModelReference, IValueProperty.class);
-
- bundleContext.ungetService(databindingProviderServiceReference);
-
- return property;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/.gitignore b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/.settings/.api_filters
new file mode 100644
index 0000000..2bf1fa1
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/.settings/.api_filters
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.emf.ecp.view.indexdmr.model.edit" version="2">
+ <resource path="META-INF/MANIFEST.MF">
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.indexdmr.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.indexdmr.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.indexdmr.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/META-INF/MANIFEST.MF
index 3d972e5..db35e7b 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,13 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.indexdmr.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.indexdmr.model.provider.IndexdmrEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.view.spi.indexdmr.model.provider;v
- ersion="1.5.1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.spi.indexdmr.model.provider;version="1.6.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/icons/full/ctool16/CreateIndexDomainModelReference_prefixDMR_FeaturePathDomainModelReference.gif b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/icons/full/ctool16/CreateIndexDomainModelReference_prefixDMR_FeaturePathDomainModelReference.gif
new file mode 100644
index 0000000..a9c3b04
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/icons/full/ctool16/CreateIndexDomainModelReference_prefixDMR_FeaturePathDomainModelReference.gif
Binary files differ
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/icons/full/ctool16/CreateIndexDomainModelReference_prefixDMR_IndexDomainModelReference.gif b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/icons/full/ctool16/CreateIndexDomainModelReference_prefixDMR_IndexDomainModelReference.gif
new file mode 100644
index 0000000..fad8ece
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/icons/full/ctool16/CreateIndexDomainModelReference_prefixDMR_IndexDomainModelReference.gif
Binary files differ
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/plugin.properties b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/plugin.properties
index 9bc858d..1bedd87 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/plugin.properties
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/plugin.properties
@@ -9,7 +9,7 @@
# Eugen Neufeld - initial API and implementation
pluginName = Indexdmr Edit Support
-providerName = www.example.org
+providerName = Eclipse Modeling Project
_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
@@ -29,3 +29,4 @@
_UI_IndexDomainModelReference_index_feature = Index
_UI_Unknown_feature = Unspecified
+_UI_IndexDomainModelReference_prefixDMR_feature = Prefix DMR
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/pom.xml
index 31fa28a..4a45950 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/provider/IndexDomainModelReferenceItemProvider.java b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/provider/IndexDomainModelReferenceItemProvider.java
index 074c69d..30e70e5 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/provider/IndexDomainModelReferenceItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/provider/IndexDomainModelReferenceItemProvider.java
@@ -59,13 +59,40 @@
{
super.getPropertyDescriptors(object);
- addTargetDMRPropertyDescriptor(object);
+ addPrefixDMRPropertyDescriptor(object);
addIndexPropertyDescriptor(object);
+ addTargetDMRPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
+ * This adds a property descriptor for the Prefix DMR feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addPrefixDMRPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors
+ .add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_IndexDomainModelReference_prefixDMR_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_IndexDomainModelReference_prefixDMR_feature", "_UI_IndexDomainModelReference_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ VIndexdmrPackage.Literals.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR,
+ true,
+ false,
+ false,
+ null,
+ null,
+ null));
+ }
+
+ /**
* This adds a property descriptor for the Target DMR feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -129,6 +156,7 @@
if (childrenFeatures == null)
{
super.getChildrenFeatures(object);
+ childrenFeatures.add(VIndexdmrPackage.Literals.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR);
childrenFeatures.add(VIndexdmrPackage.Literals.INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR);
}
return childrenFeatures;
@@ -189,6 +217,7 @@
case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__INDEX:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
+ case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR:
case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
@@ -210,6 +239,16 @@
newChildDescriptors.add
(createChildParameter
+ (VIndexdmrPackage.Literals.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR,
+ VIndexdmrFactory.eINSTANCE.createIndexDomainModelReference()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (VIndexdmrPackage.Literals.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR,
+ VViewFactory.eINSTANCE.createFeaturePathDomainModelReference()));
+
+ newChildDescriptors.add
+ (createChildParameter
(VIndexdmrPackage.Literals.INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR,
VIndexdmrFactory.eINSTANCE.createIndexDomainModelReference()));
@@ -219,4 +258,29 @@
VViewFactory.eINSTANCE.createFeaturePathDomainModelReference()));
}
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection)
+ {
+ final Object childFeature = feature;
+ final Object childObject = child;
+
+ final boolean qualify =
+ childFeature == VIndexdmrPackage.Literals.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR ||
+ childFeature == VIndexdmrPackage.Literals.INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR;
+
+ if (qualify)
+ {
+ return getString("_UI_CreateChild_text2", //$NON-NLS-1$
+ new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
}
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/.gitignore b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/.settings/.api_filters
new file mode 100644
index 0000000..e7e4269
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/.settings/.api_filters
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.emf.ecp.view.indexdmr.model" version="2">
+ <resource path="META-INF/MANIFEST.MF">
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.indexdmr.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.indexdmr.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.indexdmr.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/indexdmr/model/VIndexDomainModelReference.java" type="org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference">
+ <filter comment="SPI Changes for 1.6" id="403804204">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference"/>
+ <message_argument value="getPrefixDMR()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Changes for 1.6" id="403804204">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference"/>
+ <message_argument value="setPrefixDMR(VDomainModelReference)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/indexdmr/model/VIndexdmrPackage.java" type="org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexdmrPackage">
+ <filter comment="SPI Changes for 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexdmrPackage"/>
+ <message_argument value="INDEX_DOMAIN_MODEL_REFERENCE_FEATURE_COUNT"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Changes for 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexdmrPackage"/>
+ <message_argument value="INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter id="403767336">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexdmrPackage"/>
+ <message_argument value="INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Changes for 1.6" id="403804204">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexdmrPackage"/>
+ <message_argument value="getIndexDomainModelReference_PrefixDMR()"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/indexdmr/model/VIndexdmrPackage.java" type="org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexdmrPackage$Literals">
+ <filter comment="SPI Changes for 1.6" id="403767336">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexdmrPackage.Literals"/>
+ <message_argument value="INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/META-INF/MANIFEST.MF
index 988ea12..88d5019 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/META-INF/MANIFEST.MF
@@ -2,15 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.indexdmr.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.view.spi.indexdmr.model;version="1
- .5.1",org.eclipse.emf.ecp.view.spi.indexdmr.model.impl;version="1.5.1
- ";x-internal:=true,org.eclipse.emf.ecp.view.spi.indexdmr.model.util;v
- ersion="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.spi.indexdmr.model;version="1.6.0",
+ org.eclipse.emf.ecp.view.spi.indexdmr.model.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.indexdmr.model.util;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/model/indexdmr.ecore b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/model/indexdmr.ecore
index da07bf3..2d4235a 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/model/indexdmr.ecore
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/model/indexdmr.ecore
@@ -6,9 +6,12 @@
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="resolveable"/>
</eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="targetDMR" lowerBound="1"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="prefixDMR" lowerBound="1"
eType="ecore:EClass ../../org.eclipse.emf.ecp.view.model/model/view.ecore#//DomainModelReference"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="index" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targetDMR" lowerBound="1"
+ eType="ecore:EClass ../../org.eclipse.emf.ecp.view.model/model/view.ecore#//DomainModelReference"
+ containment="true"/>
</eClassifiers>
</ecore:EPackage>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/model/indexdmr.genmodel b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/model/indexdmr.genmodel
index d5ac925..81ff06d 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/model/indexdmr.genmodel
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/model/indexdmr.genmodel
@@ -14,8 +14,9 @@
testsPackageSuffix="model.tests" extensibleProviderFactory="true" childCreationExtenders="true"
ecorePackage="indexdmr.ecore#/">
<genClasses ecoreClass="indexdmr.ecore#//IndexDomainModelReference">
- <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference indexdmr.ecore#//IndexDomainModelReference/targetDMR"/>
+ <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference indexdmr.ecore#//IndexDomainModelReference/prefixDMR"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute indexdmr.ecore#//IndexDomainModelReference/index"/>
+ <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference indexdmr.ecore#//IndexDomainModelReference/targetDMR"/>
</genClasses>
</genPackages>
</genmodel:GenModel>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/plugin.properties b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/plugin.properties
index 78c238e..8c7d54f 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/plugin.properties
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/plugin.properties
@@ -9,4 +9,4 @@
# Eugen Neufeld - initial API and implementation
pluginName = Indexdmr Model
-providerName = www.example.org
+providerName = Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/pom.xml
index c4d977c..2f79c5c 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/VIndexDomainModelReference.java b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/VIndexDomainModelReference.java
index f1828db..f06a216 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/VIndexDomainModelReference.java
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/VIndexDomainModelReference.java
@@ -22,8 +22,9 @@
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference#getTargetDMR <em>Target DMR</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference#getPrefixDMR <em>Prefix DMR</em>}</li>
* <li>{@link org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference#getIndex <em>Index</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference#getTargetDMR <em>Target DMR</em>}</li>
* </ul>
* </p>
*
@@ -34,6 +35,40 @@
public interface VIndexDomainModelReference extends VFeaturePathDomainModelReference
{
/**
+ * Returns the value of the '<em><b>Prefix DMR</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Prefix DMR</em>' containment reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Prefix DMR</em>' containment reference.
+ * @see #setPrefixDMR(VDomainModelReference)
+ * @see org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexdmrPackage#getIndexDomainModelReference_PrefixDMR()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ VDomainModelReference getPrefixDMR();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference#getPrefixDMR <em>Prefix DMR</em>}'
+ * containment reference.
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @param value the new value of the '<em>Prefix DMR</em>' containment reference.
+ * @see #getPrefixDMR()
+ * @generated
+ */
+ void setPrefixDMR(VDomainModelReference value);
+
+ /**
* Returns the value of the '<em><b>Target DMR</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/VIndexdmrPackage.java b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/VIndexdmrPackage.java
index 87b429a..c76624f 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/VIndexdmrPackage.java
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/VIndexdmrPackage.java
@@ -115,14 +115,16 @@
int INDEX_DOMAIN_MODEL_REFERENCE__DOMAIN_MODEL_EREFERENCE_PATH = VViewPackage.FEATURE_PATH_DOMAIN_MODEL_REFERENCE__DOMAIN_MODEL_EREFERENCE_PATH;
/**
- * The feature id for the '<em><b>Target DMR</b></em>' containment reference.
+ * The feature id for the '<em><b>Prefix DMR</b></em>' containment reference.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
*
* @generated
* @ordered
*/
- int INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR = VViewPackage.FEATURE_PATH_DOMAIN_MODEL_REFERENCE_FEATURE_COUNT + 0;
+ int INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR = VViewPackage.FEATURE_PATH_DOMAIN_MODEL_REFERENCE_FEATURE_COUNT + 0;
/**
* The feature id for the '<em><b>Index</b></em>' attribute.
@@ -135,6 +137,16 @@
int INDEX_DOMAIN_MODEL_REFERENCE__INDEX = VViewPackage.FEATURE_PATH_DOMAIN_MODEL_REFERENCE_FEATURE_COUNT + 1;
/**
+ * The feature id for the '<em><b>Target DMR</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR = VViewPackage.FEATURE_PATH_DOMAIN_MODEL_REFERENCE_FEATURE_COUNT + 2;
+
+ /**
* The number of structural features of the '<em>Index Domain Model Reference</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -142,7 +154,7 @@
* @generated
* @ordered
*/
- int INDEX_DOMAIN_MODEL_REFERENCE_FEATURE_COUNT = VViewPackage.FEATURE_PATH_DOMAIN_MODEL_REFERENCE_FEATURE_COUNT + 2;
+ int INDEX_DOMAIN_MODEL_REFERENCE_FEATURE_COUNT = VViewPackage.FEATURE_PATH_DOMAIN_MODEL_REFERENCE_FEATURE_COUNT + 3;
/**
* Returns the meta object for class '{@link org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference
@@ -158,6 +170,21 @@
/**
* Returns the meta object for the containment reference '
+ * {@link org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference#getPrefixDMR <em>Prefix DMR</em>}'.
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Prefix DMR</em>'.
+ * @see org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference#getPrefixDMR()
+ * @see #getIndexDomainModelReference()
+ * @generated
+ */
+ EReference getIndexDomainModelReference_PrefixDMR();
+
+ /**
+ * Returns the meta object for the containment reference '
* {@link org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference#getTargetDMR <em>Target DMR</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -221,6 +248,17 @@
EClass INDEX_DOMAIN_MODEL_REFERENCE = eINSTANCE.getIndexDomainModelReference();
/**
+ * The meta object literal for the '<em><b>Prefix DMR</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR = eINSTANCE.getIndexDomainModelReference_PrefixDMR();
+
+ /**
* The meta object literal for the '<em><b>Target DMR</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/impl/VIndexDomainModelReferenceImpl.java b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/impl/VIndexDomainModelReferenceImpl.java
index e78cff7..7ffbf54 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/impl/VIndexDomainModelReferenceImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/impl/VIndexDomainModelReferenceImpl.java
@@ -38,9 +38,11 @@
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.ecp.view.spi.indexdmr.model.impl.VIndexDomainModelReferenceImpl#getTargetDMR <em>Target
+ * <li>{@link org.eclipse.emf.ecp.view.spi.indexdmr.model.impl.VIndexDomainModelReferenceImpl#getPrefixDMR <em>Prefix
* DMR</em>}</li>
* <li>{@link org.eclipse.emf.ecp.view.spi.indexdmr.model.impl.VIndexDomainModelReferenceImpl#getIndex <em>Index</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.indexdmr.model.impl.VIndexDomainModelReferenceImpl#getTargetDMR <em>Target
+ * DMR</em>}</li>
* </ul>
* </p>
*
@@ -50,15 +52,15 @@
VIndexDomainModelReference
{
/**
- * The cached value of the '{@link #getTargetDMR() <em>Target DMR</em>}' containment reference.
+ * The cached value of the '{@link #getPrefixDMR() <em>Prefix DMR</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @see #getTargetDMR()
+ * @see #getPrefixDMR()
* @generated
* @ordered
*/
- protected VDomainModelReference targetDMR;
+ protected VDomainModelReference prefixDMR;
/**
* The default value of the '{@link #getIndex() <em>Index</em>}' attribute.
@@ -83,6 +85,17 @@
protected int index = INDEX_EDEFAULT;
/**
+ * The cached value of the '{@link #getTargetDMR() <em>Target DMR</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getTargetDMR()
+ * @generated
+ * @ordered
+ */
+ protected VDomainModelReference targetDMR;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
@@ -112,6 +125,72 @@
* @generated
*/
@Override
+ public VDomainModelReference getPrefixDMR()
+ {
+ return prefixDMR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetPrefixDMR(VDomainModelReference newPrefixDMR, NotificationChain msgs)
+ {
+ final VDomainModelReference oldPrefixDMR = prefixDMR;
+ prefixDMR = newPrefixDMR;
+ if (eNotificationRequired())
+ {
+ final ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR, oldPrefixDMR, newPrefixDMR);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setPrefixDMR(VDomainModelReference newPrefixDMR)
+ {
+ if (newPrefixDMR != prefixDMR)
+ {
+ NotificationChain msgs = null;
+ if (prefixDMR != null) {
+ msgs = ((InternalEObject) prefixDMR).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR, null, msgs);
+ }
+ if (newPrefixDMR != null) {
+ msgs = ((InternalEObject) newPrefixDMR).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
+ - VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR, null, msgs);
+ }
+ msgs = basicSetPrefixDMR(newPrefixDMR, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR, newPrefixDMR, newPrefixDMR));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public VDomainModelReference getTargetDMR()
{
return targetDMR;
@@ -211,6 +290,8 @@
{
switch (featureID)
{
+ case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR:
+ return basicSetPrefixDMR(null, msgs);
case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR:
return basicSetTargetDMR(null, msgs);
}
@@ -228,10 +309,12 @@
{
switch (featureID)
{
- case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR:
- return getTargetDMR();
+ case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR:
+ return getPrefixDMR();
case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__INDEX:
return getIndex();
+ case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR:
+ return getTargetDMR();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -247,12 +330,15 @@
{
switch (featureID)
{
- case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR:
- setTargetDMR((VDomainModelReference) newValue);
+ case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR:
+ setPrefixDMR((VDomainModelReference) newValue);
return;
case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__INDEX:
setIndex((Integer) newValue);
return;
+ case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR:
+ setTargetDMR((VDomainModelReference) newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -268,12 +354,15 @@
{
switch (featureID)
{
- case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR:
- setTargetDMR((VDomainModelReference) null);
+ case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR:
+ setPrefixDMR((VDomainModelReference) null);
return;
case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__INDEX:
setIndex(INDEX_EDEFAULT);
return;
+ case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR:
+ setTargetDMR((VDomainModelReference) null);
+ return;
}
super.eUnset(featureID);
}
@@ -289,10 +378,12 @@
{
switch (featureID)
{
- case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR:
- return targetDMR != null;
+ case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR:
+ return prefixDMR != null;
case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__INDEX:
return index != INDEX_EDEFAULT;
+ case VIndexdmrPackage.INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR:
+ return targetDMR != null;
}
return super.eIsSet(featureID);
}
@@ -330,14 +421,32 @@
if (getIndex() < 0) {
return false;
}
- final boolean init = super.init(eObject);
- final List<EObject> list = (List<EObject>) lastResolvedEObject.eGet(getDomainModelEFeature());
- if (list.size() <= getIndex() && getIndex() != 0) {
+ boolean init;
+ if (getPrefixDMR() == null) {
+ init = super.init(eObject);
+ } else {
+ init = getPrefixDMR().init(eObject);
+ }
+
+ List<EObject> list;
+ if (getPrefixDMR() == null) {
+ list = (List<EObject>) lastResolvedEObject.eGet(getDomainModelEFeature());
+ } else {
+ list = (List<EObject>) getPrefixDMR().getIterator().next().get(true);
+ }
+
+ if (list.size() < getIndex() && getIndex() != 0) {
return false;
}
EObject foundChild = null;
- if (list.size() == 0) {
- final EReference eReference = (EReference) getDomainModelEFeature();
+ if (list.size() == getIndex()) {
+ EReference eReference;
+ if (getPrefixDMR() == null) {
+ eReference = (EReference) getDomainModelEFeature();
+ }
+ else {
+ eReference = (EReference) getPrefixDMR().getEStructuralFeatureIterator().next();
+ }
foundChild = EcoreUtil.create(eReference.getEReferenceType());
list.add(foundChild);
}
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/impl/VIndexdmrPackageImpl.java b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/impl/VIndexdmrPackageImpl.java
index 53f27f1..301ee62 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/impl/VIndexdmrPackageImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.model/src/org/eclipse/emf/ecp/view/spi/indexdmr/model/impl/VIndexdmrPackageImpl.java
@@ -141,7 +141,7 @@
* @generated
*/
@Override
- public EReference getIndexDomainModelReference_TargetDMR()
+ public EReference getIndexDomainModelReference_PrefixDMR()
{
return (EReference) indexDomainModelReferenceEClass.getEStructuralFeatures().get(0);
}
@@ -153,6 +153,18 @@
* @generated
*/
@Override
+ public EReference getIndexDomainModelReference_TargetDMR()
+ {
+ return (EReference) indexDomainModelReferenceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public EAttribute getIndexDomainModelReference_Index()
{
return (EAttribute) indexDomainModelReferenceEClass.getEStructuralFeatures().get(1);
@@ -195,8 +207,9 @@
// Create classes and their features
indexDomainModelReferenceEClass = createEClass(INDEX_DOMAIN_MODEL_REFERENCE);
- createEReference(indexDomainModelReferenceEClass, INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR);
+ createEReference(indexDomainModelReferenceEClass, INDEX_DOMAIN_MODEL_REFERENCE__PREFIX_DMR);
createEAttribute(indexDomainModelReferenceEClass, INDEX_DOMAIN_MODEL_REFERENCE__INDEX);
+ createEReference(indexDomainModelReferenceEClass, INDEX_DOMAIN_MODEL_REFERENCE__TARGET_DMR);
}
/**
@@ -241,14 +254,19 @@
initEClass(indexDomainModelReferenceEClass, VIndexDomainModelReference.class,
"IndexDomainModelReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(
- getIndexDomainModelReference_TargetDMR(),
+ getIndexDomainModelReference_PrefixDMR(),
theViewPackage.getDomainModelReference(),
null,
- "targetDMR", null, 1, 1, VIndexDomainModelReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ "prefixDMR", null, 1, 1, VIndexDomainModelReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(
getIndexDomainModelReference_Index(),
ecorePackage.getEInt(),
"index", null, 0, 1, VIndexDomainModelReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(
+ getIndexDomainModelReference_TargetDMR(),
+ theViewPackage.getDomainModelReference(),
+ null,
+ "targetDMR", null, 1, 1, VIndexDomainModelReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
// Create resource
createResource(eNS_URI);
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/.gitignore b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/META-INF/MANIFEST.MF
index 109885e..5f500e4 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: EMFForms Index DMR Tooling
Bundle-SymbolicName: org.eclipse.emf.ecp.view.indexdmr.tooling;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
@@ -15,10 +15,19 @@
org.eclipse.emf.ecp.ui;bundle-version="[1.5.0,2.0.0)",
org.eclipse.core.databinding;bundle-version="[1.3.0,2.0.0)",
org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.common.ui;bundle-version="[1.5.0,2.0.0)"
-Import-Package: org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
org.eclipse.jface.window;version="0.0.0",
org.eclipse.jface.wizard;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
-Export-Package: org.eclipse.emf.ecp.view.indexdmr.tooling;version="1.5
- .1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.indexdmr.tooling;version="1.6
+ .0";x-internal:=true
+Bundle-Activator: org.eclipse.emf.ecp.view.indexdmr.tooling.Activator
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/pom.xml b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/pom.xml
index 853d318..f2eb290 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/src/org/eclipse/emf/ecp/view/indexdmr/tooling/Activator.java b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/src/org/eclipse/emf/ecp/view/indexdmr/tooling/Activator.java
new file mode 100644
index 0000000..f1193cd
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/src/org/eclipse/emf/ecp/view/indexdmr/tooling/Activator.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.indexdmr.tooling;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ *
+ * @author Lucas Koehler
+ */
+public class Activator extends Plugin {
+
+ /** The plug-in ID. */
+ public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.indexdmr.tooling"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ private ServiceReference<ReportService> reportServiceReference;
+
+ /**
+ * The constructor.
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/src/org/eclipse/emf/ecp/view/indexdmr/tooling/FeaturePathDMRReferenceTester.java b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/src/org/eclipse/emf/ecp/view/indexdmr/tooling/FeaturePathDMRReferenceTester.java
index 29049b2..e6cdd1f 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/src/org/eclipse/emf/ecp/view/indexdmr/tooling/FeaturePathDMRReferenceTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/src/org/eclipse/emf/ecp/view/indexdmr/tooling/FeaturePathDMRReferenceTester.java
@@ -11,16 +11,19 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.indexdmr.tooling;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference;
import org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexdmrPackage;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
- * A Tester for the FeaturePathControl which is added as a child of a {@link VIndexDomainModelReference}.
+ * A Tester for the FeaturePathControl which is added as a child of a
+ * {@link org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference VIndexDomainModelReference}.
*
* @author Eugen Neufeld
*
@@ -34,13 +37,17 @@
if (!VControl.class.isInstance(vElement)) {
return NOT_APPLICABLE;
}
-
final VControl control = (VControl) vElement;
- final Setting setting = control.getDomainModelReference().getIterator()
- .next();
- if (VIndexDomainModelReference.class.isInstance(setting.getEObject())
- && VIndexdmrPackage.eINSTANCE.getIndexDomainModelReference_TargetDMR() == setting
- .getEStructuralFeature()) {
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
+ if (VIndexdmrPackage.eINSTANCE.getIndexDomainModelReference_TargetDMR() == feature) {
return 6;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/src/org/eclipse/emf/ecp/view/indexdmr/tooling/TargetDMRControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/src/org/eclipse/emf/ecp/view/indexdmr/tooling/TargetDMRControlSWTRenderer.java
index f0bf17e..f97e4b1 100644
--- a/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/src/org/eclipse/emf/ecp/view/indexdmr/tooling/TargetDMRControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.indexdmr.tooling/src/org/eclipse/emf/ecp/view/indexdmr/tooling/TargetDMRControlSWTRenderer.java
@@ -14,19 +14,26 @@
import java.util.Collection;
import java.util.HashSet;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.common.spi.EMFUtils;
import org.eclipse.emf.ecp.internal.ui.Messages;
import org.eclipse.emf.ecp.spi.common.ui.CompositeFactory;
import org.eclipse.emf.ecp.spi.common.ui.composites.SelectionComposite;
import org.eclipse.emf.ecp.view.internal.editor.controls.EditableEReferenceLabelControlSWTRenderer;
import org.eclipse.emf.ecp.view.internal.editor.handler.CreateDomainModelReferenceWizard;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.widgets.Shell;
@@ -42,11 +49,31 @@
public class TargetDMRControlSWTRenderer extends
EditableEReferenceLabelControlSWTRenderer {
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param factory the {@link ReportService}
+ */
+ public TargetDMRControlSWTRenderer(VControl vElement, ViewModelContext viewContext, ReportService factory) {
+ super(vElement, viewContext, factory);
+ }
+
@Override
protected void linkValue(Shell shell) {
- final Setting setting = getVElement().getDomainModelReference().getIterator().next();
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ showLinkValueFailedMessageDialog(shell, ex);
+ return;
+ }
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+
final VIndexDomainModelReference mappingDomainModelReference = VIndexDomainModelReference.class
- .cast(setting.getEObject());
+ .cast(eObject);
final EClass eclass = EReference.class.cast(mappingDomainModelReference.getDomainModelEFeature())
.getEReferenceType();
@@ -55,11 +82,11 @@
.getDomainModelReference());
final CreateDomainModelReferenceWizard wizard = new CreateDomainModelReferenceWizard(
- setting, getEditingDomain(setting), eclass, "New Reference Element", //$NON-NLS-1$
+ eObject, structuralFeature, getEditingDomain(eObject), eclass, "New Reference Element", //$NON-NLS-1$
Messages.NewModelElementWizard_WizardTitle_AddModelElement,
Messages.NewModelElementWizard_PageTitle_AddModelElement,
Messages.NewModelElementWizard_PageDescription_AddModelElement,
- (VDomainModelReference) setting.get(true));
+ (VDomainModelReference) eObject.eGet(structuralFeature, true));
final SelectionComposite<TreeViewer> helper = CompositeFactory.getSelectModelClassComposite(
new HashSet<EPackage>(),
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/.gitignore b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/.settings/.api_filters
index 46f2840..92c1688 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.keyattributedmr.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model.edit"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.keyattributedmr.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.keyattributedmr.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.keyattributedmr.model.edit_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/META-INF/MANIFEST.MF
index 2b6f3d6..f464299 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.keyattributedmr.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.keyattributedmr.model.provider.KeyattributedmrEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.keyattributedmr.model.pro
- vider;version="1.5.1";x-internal:=true
+ vider;version="1.6.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/pom.xml
index f262adb..2b4d26e 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model.edit/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/.gitignore b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/.settings/.api_filters
index ef1ae2e..8a17323 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.keyattributedmr.model" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.keyattributedmr.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.keyattributedmr.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.keyattributedmr.model_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/META-INF/MANIFEST.MF
index bd8542d..7ce1975 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.keyattributedmr.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.keyattributedmr.model;ver
- sion="1.5.1",org.eclipse.emf.ecp.view.spi.keyattributedmr.model.impl;
- version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.spi.keyattr
- ibutedmr.model.util;version="1.5.1"
+ sion="1.6.0",org.eclipse.emf.ecp.view.spi.keyattributedmr.model.impl;
+ version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.spi.keyattr
+ ibutedmr.model.util;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/pom.xml
index 94da972..f18f054 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.model/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/.gitignore b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/META-INF/MANIFEST.MF
index 04dd5a9..5c42be2 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: EMF Forms Key Attribute DMR Tooling
Bundle-SymbolicName: org.eclipse.emf.ecp.view.keyattributedmr.tooling;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.5.0,2.0.0)",
@@ -16,11 +16,20 @@
org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.keyattributedmr.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.common.ui;bundle-version="[1.5.0,2.0.0)"
-Import-Package: org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.jface.dialogs;version="0.0.0",
+ org.eclipse.jface.resource;version="0.0.0",
org.eclipse.jface.viewers;version="0.0.0",
org.eclipse.jface.window;version="0.0.0",
org.eclipse.jface.wizard;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.keyattributedmr.tooling;versi
- on="1.5.1";x-internal:=true
+ on="1.6.0";x-internal:=true
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.emf.ecp.view.keyattributedmr.tooling.Activator
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/pom.xml b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/pom.xml
index e40493a..1db0e51 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/Activator.java b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/Activator.java
new file mode 100644
index 0000000..584eafe
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/Activator.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.keyattributedmr.tooling;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class Activator extends Plugin {
+ /** The plug-in ID. */
+ public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.keyattributedmr.tooling"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ private ServiceReference<ReportService> reportServiceReference;
+
+ /**
+ * The constructor.
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/FeaturePathDMRControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/FeaturePathDMRControlSWTRenderer.java
index 2ec3888..9cbb0dc 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/FeaturePathDMRControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/FeaturePathDMRControlSWTRenderer.java
@@ -14,19 +14,26 @@
import java.util.Collection;
import java.util.HashSet;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.common.spi.EMFUtils;
import org.eclipse.emf.ecp.internal.ui.Messages;
import org.eclipse.emf.ecp.spi.common.ui.CompositeFactory;
import org.eclipse.emf.ecp.spi.common.ui.composites.SelectionComposite;
import org.eclipse.emf.ecp.view.internal.editor.controls.EditableEReferenceLabelControlSWTRenderer;
import org.eclipse.emf.ecp.view.internal.editor.handler.CreateDomainModelReferenceWizard;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.keyattributedmr.model.VKeyAttributeDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.widgets.Shell;
@@ -42,11 +49,32 @@
public class FeaturePathDMRControlSWTRenderer extends
EditableEReferenceLabelControlSWTRenderer {
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public FeaturePathDMRControlSWTRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ // TODO Auto-generated constructor stub
+ }
+
@Override
protected void linkValue(Shell shell) {
- final Setting setting = getVElement().getDomainModelReference().getIterator().next();
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ showLinkValueFailedMessageDialog(shell, ex);
+ return;
+ }
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+
final VKeyAttributeDomainModelReference mappingDomainModelReference = VKeyAttributeDomainModelReference.class
- .cast(setting.getEObject());
+ .cast(eObject);
final EClass eclass = EReference.class.cast(mappingDomainModelReference.getDomainModelEFeature())
.getEReferenceType();
@@ -55,11 +83,11 @@
.getDomainModelReference());
final CreateDomainModelReferenceWizard wizard = new CreateDomainModelReferenceWizard(
- setting, getEditingDomain(setting), eclass, "New Reference Element", //$NON-NLS-1$
+ eObject, structuralFeature, getEditingDomain(eObject), eclass, "New Reference Element", //$NON-NLS-1$
Messages.NewModelElementWizard_WizardTitle_AddModelElement,
Messages.NewModelElementWizard_PageTitle_AddModelElement,
Messages.NewModelElementWizard_PageDescription_AddModelElement,
- (VDomainModelReference) setting.get(true));
+ (VDomainModelReference) eObject.eGet(structuralFeature, true));
final SelectionComposite<TreeViewer> helper = CompositeFactory.getSelectModelClassComposite(
new HashSet<EPackage>(),
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/FeaturePathDMRReferenceTester.java b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/FeaturePathDMRReferenceTester.java
index 57a850e..c33be97 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/FeaturePathDMRReferenceTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/FeaturePathDMRReferenceTester.java
@@ -11,16 +11,20 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.keyattributedmr.tooling;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.keyattributedmr.model.VKeyAttributeDomainModelReference;
import org.eclipse.emf.ecp.view.spi.keyattributedmr.model.VKeyattributedmrPackage;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
- * A Tester for the FeaturePathControl which is added as a child of a {@link VKeyAttributeDomainModelReference}.
+ * A Tester for the FeaturePathControl which is added as a child of a
+ * {@link org.eclipse.emf.ecp.view.spi.keyattributedmr.model.VKeyAttributeDomainModelReference
+ * VKeyAttributeDomainModelReference}.
*
* @author Eugen Neufeld
*
@@ -36,23 +40,20 @@
}
final VControl control = (VControl) vElement;
- final Setting setting = control.getDomainModelReference().getIterator()
- .next();
- // if (VKeyAttributeDomainModelReference.class.isInstance(setting.getEObject()
- // .eContainer())
- // && VViewPackage.eINSTANCE
- // .getFeaturePathDomainModelReference_DomainModelEFeature() == setting
- // .getEStructuralFeature()) {
- // return 6;
- // }
- if (VKeyAttributeDomainModelReference.class.isInstance(setting.getEObject())
- && VKeyattributedmrPackage.eINSTANCE.getKeyAttributeDomainModelReference_KeyDMR() == setting
- .getEStructuralFeature()) {
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
+
+ if (VKeyattributedmrPackage.eINSTANCE.getKeyAttributeDomainModelReference_KeyDMR() == feature) {
return 6;
}
- if (VKeyAttributeDomainModelReference.class.isInstance(setting.getEObject())
- && VKeyattributedmrPackage.eINSTANCE.getKeyAttributeDomainModelReference_ValueDMR() == setting
- .getEStructuralFeature()) {
+ if (VKeyattributedmrPackage.eINSTANCE.getKeyAttributeDomainModelReference_ValueDMR() == feature) {
return 6;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/KeyValueControlRenderer.java b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/KeyValueControlRenderer.java
index e839d4c..3b5c73a 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/KeyValueControlRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/KeyValueControlRenderer.java
@@ -14,14 +14,18 @@
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.view.internal.editor.controls.ExpectedValueControlRenderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.keyattributedmr.model.VKeyAttributeDomainModelReference;
import org.eclipse.emf.ecp.view.spi.keyattributedmr.model.VKeyattributedmrPackage;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Label;
@@ -32,11 +36,24 @@
@SuppressWarnings("restriction")
public class KeyValueControlRenderer extends ExpectedValueControlRenderer {
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public KeyValueControlRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
@Override
protected void onSelectButton(Label control) {
- final Setting setting = getSetting(getVElement());
-
- final VKeyAttributeDomainModelReference condition = (VKeyAttributeDomainModelReference) setting.getEObject();
+ VKeyAttributeDomainModelReference condition;
+ try {
+ condition = (VKeyAttributeDomainModelReference) getObservedEObject();
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
if (!VFeaturePathDomainModelReference.class.isInstance(condition.getKeyDMR())) {
MessageDialog.openError(control.getShell(), "No Feature Path Domain Model Reference found", //$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/KeyValueControlTester.java b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/KeyValueControlTester.java
index 5c945c3..50d0cd4 100644
--- a/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/KeyValueControlTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.keyattributedmr.tooling/src/org/eclipse/emf/ecp/view/keyattributedmr/tooling/KeyValueControlTester.java
@@ -11,16 +11,20 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.keyattributedmr.tooling;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.keyattributedmr.model.VKeyAttributeDomainModelReference;
import org.eclipse.emf.ecp.view.spi.keyattributedmr.model.VKeyattributedmrPackage;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
- * A Tester for the KeyValue Control which is added as a child of a {@link VKeyAttributeDomainModelReference}.
+ * A Tester for the KeyValue Control which is added as a child of a
+ * {@link org.eclipse.emf.ecp.view.spi.keyattributedmr.model.VKeyAttributeDomainModelReference
+ * VKeyAttributeDomainModelReference}.
*
* @author Eugen Neufeld
*
@@ -36,11 +40,17 @@
}
final VControl control = (VControl) vElement;
- final Setting setting = control.getDomainModelReference().getIterator()
- .next();
- if (VKeyAttributeDomainModelReference.class.isInstance(setting.getEObject())
- && VKeyattributedmrPackage.eINSTANCE.getKeyAttributeDomainModelReference_KeyValue() == setting
- .getEStructuralFeature()) {
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
+
+ if (VKeyattributedmrPackage.eINSTANCE.getKeyAttributeDomainModelReference_KeyValue() == feature) {
return 6;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.label.model.edit/.gitignore b/bundles/org.eclipse.emf.ecp.view.label.model.edit/.gitignore
index ae3c172..ff3e254 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.model.edit/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.view.label.model.edit/.gitignore
@@ -1 +1,2 @@
/bin/
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.label.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.label.model.edit/.settings/.api_filters
index e7995ca..c5c7b9a 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.label.model.edit/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.label.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model.edit"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.label.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.label.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.label.model.edit_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.label.model.edit/META-INF/MANIFEST.MF
index b8c18fa..c5fe6dc 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.label.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.label.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.label.model.provider.LabelEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.label.model.provider;vers
- ion="1.5.1"
+ ion="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.label.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.label.model.edit/pom.xml
index 2935f78..84da310 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.label.model.edit/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.label.model.edit</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.model.edit/src/org/eclipse/emf/ecp/view/spi/label/model/provider/LabelItemProvider.java b/bundles/org.eclipse.emf.ecp.view.label.model.edit/src/org/eclipse/emf/ecp/view/spi/label/model/provider/LabelItemProvider.java
index 91c6ce1..b09afd1 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.model.edit/src/org/eclipse/emf/ecp/view/spi/label/model/provider/LabelItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.label.model.edit/src/org/eclipse/emf/ecp/view/spi/label/model/provider/LabelItemProvider.java
@@ -18,6 +18,8 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecp.view.spi.label.model.VLabel;
import org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.model.provider.ContainedElementItemProvider;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
@@ -136,12 +138,15 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object)
{
- final String label = ((VLabel) object).getName();
+ String label = ((VLabel) object).getName();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_Label_type") : //$NON-NLS-1$
getString("_UI_Label_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.view.label.model/.gitignore b/bundles/org.eclipse.emf.ecp.view.label.model/.gitignore
index ae3c172..ff3e254 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.model/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.view.label.model/.gitignore
@@ -1 +1,2 @@
/bin/
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.label.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.label.model/.settings/.api_filters
index 965d9b0..2e39a33 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.label.model/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.label.model" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.label.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.label.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.label.model_1.5.0"/>
</message_arguments>
</filter>
</resource>
@@ -30,6 +54,62 @@
<message_argument value="7"/>
</message_arguments>
</filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage"/>
+ <message_argument value="LABEL_FEATURE_COUNT"/>
+ <message_argument value="8"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage"/>
+ <message_argument value="LABEL__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage"/>
+ <message_argument value="LABEL__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage"/>
+ <message_argument value="LABEL__DOMAIN_MODEL_REFERENCE"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage"/>
+ <message_argument value="LABEL__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage"/>
+ <message_argument value="LABEL__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage"/>
+ <message_argument value="LABEL__STYLE"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage"/>
+ <message_argument value="LABEL__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
<filter comment="spi" id="403767336">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage"/>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.label.model/META-INF/MANIFEST.MF
index d67c33f..8d5ef04 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.label.model/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.label.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.view.spi.label.model;version="1.5.
- 1",org.eclipse.emf.ecp.view.spi.label.model.impl;version="1.5.1",org.
- eclipse.emf.ecp.view.spi.label.model.util;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.spi.label.model;version="1.6.
+ 0",org.eclipse.emf.ecp.view.spi.label.model.impl;version="1.6.0",org.
+ eclipse.emf.ecp.view.spi.label.model.util;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport
diff --git a/bundles/org.eclipse.emf.ecp.view.label.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.label.model/pom.xml
index 5c490c4..8ff865c 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.label.model/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.label.model</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/.project b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/.project
index c3afdec..f2a4f21 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/.project
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/.project
@@ -25,6 +25,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/META-INF/MANIFEST.MF
index 2f7c648..1d4f073 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/META-INF/MANIFEST.MF
@@ -1,17 +1,22 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: View Model Label Rap
-Bundle-SymbolicName: org.eclipse.emf.ecp.view.label.rap;singleton:=true
-Bundle-Version: 1.5.1.qualifier
-Bundle-Activator: org.eclipse.emf.ecp.view.label.rap.Activator
+Bundle-SymbolicName: org.eclipse.emf.ecp.view.label.rap
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.view.label.ui.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.label.model;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Bundle-Vendor: Eclipse Modeling Project
-Import-Package: org.eclipse.swt;version="0.0.0",
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0",
+ org.eclipse.emfforms.spi.swt.core;version="1.6.0",
+ org.eclipse.swt;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
-Export-Package: org.eclipse.emf.ecp.view.label.rap;version="1.5.1";x-i
+Export-Package: org.eclipse.emf.ecp.view.label.rap;version="1.6.0";x-i
nternal:=true
+Service-Component: OSGI-INF/labelRAPRendererService.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/OSGI-INF/labelRAPRendererService.xml b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/OSGI-INF/labelRAPRendererService.xml
new file mode 100644
index 0000000..2bc6a30
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/OSGI-INF/labelRAPRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.label.rap.rendererService">
+ <implementation class="org.eclipse.emf.ecp.view.label.rap.LabelRAPRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/build.properties b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/build.properties
index e9863e2..6210e84 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/build.properties
@@ -1,5 +1,5 @@
-source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.xml
+ OSGI-INF/
+source.. = src/
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/plugin.xml b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/plugin.xml
deleted file mode 100644
index ef65b3d..0000000
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.view.label.rap.LabelRapRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.label.rap.LabelRapRendererTester">
- </dynamicTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/pom.xml b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/pom.xml
index ae365f0..955bd0c 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.label.rap</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/src/org/eclipse/emf/ecp/view/label/rap/Activator.java b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/src/org/eclipse/emf/ecp/view/label/rap/Activator.java
deleted file mode 100644
index 015ca04..0000000
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/src/org/eclipse/emf/ecp/view/label/rap/Activator.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alexandra Buzila - initial API and implementation
- */
-package org.eclipse.emf.ecp.view.label.rap;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
- // The plug-in ID
- public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.label.rap"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator plugin;
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/src/org/eclipse/emf/ecp/view/label/rap/LabelRAPRendererService.java b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/src/org/eclipse/emf/ecp/view/label/rap/LabelRAPRendererService.java
new file mode 100644
index 0000000..2e8036c
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/src/org/eclipse/emf/ecp/view/label/rap/LabelRAPRendererService.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.label.rap;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.label.model.VLabel;
+import org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+import org.eclipse.swt.widgets.Display;
+import org.osgi.framework.FrameworkUtil;
+
+/**
+ * GroupSWTRendererService which provides the GroupSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class LabelRAPRendererService implements EMFFormsDIRendererService<VLabel> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VLabelPackage.eINSTANCE.getLabel().isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ if (!FrameworkUtil.getBundle(Display.class).getSymbolicName()
+ .contains(".rwt")) { //$NON-NLS-1$
+ return NOT_APPLICABLE;
+ }
+
+ return 3;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VLabel>> getRendererClass() {
+ return LabelRapRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/src/org/eclipse/emf/ecp/view/label/rap/LabelRapRenderer.java b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/src/org/eclipse/emf/ecp/view/label/rap/LabelRapRenderer.java
index 34e84f6..82a6de1 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/src/org/eclipse/emf/ecp/view/label/rap/LabelRapRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/src/org/eclipse/emf/ecp/view/label/rap/LabelRapRenderer.java
@@ -11,7 +11,14 @@
*/
package org.eclipse.emf.ecp.view.label.rap;
+import javax.inject.Inject;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.label.model.VLabel;
import org.eclipse.emf.ecp.view.spi.label.swt.LabelSWTRenderer;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
import org.eclipse.swt.widgets.Label;
/**
@@ -20,6 +27,21 @@
*/
public class LabelRapRenderer extends LabelSWTRenderer {
+ /**
+ * Default Constructor.
+ *
+ * @param vElement the view element to be rendered
+ * @param viewContext The view model context
+ * @param reportService the ReportService to use
+ * @param emfFormsDatabinding the EMFFormsDatabinding to use
+ * @param vtViewTemplateProvider the VTViewTemplateProvider to use
+ */
+ @Inject
+ public LabelRapRenderer(final VLabel vElement, final ViewModelContext viewContext, ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, VTViewTemplateProvider vtViewTemplateProvider) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, vtViewTemplateProvider);
+ }
+
/*
* (non-Javadoc)
* @see org.eclipse.emf.ecp.view.spi.label.swt.LabelSWTRenderer#applyStyle(org.eclipse.swt.widgets.Label)
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/src/org/eclipse/emf/ecp/view/label/rap/LabelRapRendererTester.java b/bundles/org.eclipse.emf.ecp.view.label.ui.rap/src/org/eclipse/emf/ecp/view/label/rap/LabelRapRendererTester.java
deleted file mode 100644
index 67ab6b1..0000000
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.rap/src/org/eclipse/emf/ecp/view/label/rap/LabelRapRendererTester.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alexandra Buzila - initial API and implementation
- */
-package org.eclipse.emf.ecp.view.label.rap;
-
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.swt.widgets.Display;
-import org.osgi.framework.FrameworkUtil;
-
-/**
- * @author Alexandra Buzila
- *
- */
-public class LabelRapRendererTester implements ECPRendererTester {
-
- /**
- *
- */
- public LabelRapRendererTester() {
- // TODO Auto-generated constructor stub
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.emf.ecp.view.model.common.SimpleControlRendererTester#
- * isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
- * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
- */
- @Override
- public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
- if (!VLabelPackage.eINSTANCE.getLabel().isInstance(vElement)) {
- return NOT_APPLICABLE;
- }
- if (!FrameworkUtil.getBundle(Display.class).getSymbolicName()
- .contains(".rwt")) { //$NON-NLS-1$
- return NOT_APPLICABLE;
- }
-
- return 3;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/.project b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/.project
index ebbe9ff..4c09a1d 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/.project
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/.project
@@ -30,6 +30,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/.settings/.api_filters
index 5541b5a..f31002d 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/.settings/.api_filters
@@ -7,6 +7,20 @@
<message_argument value="1.2.1"/>
</message_arguments>
</filter>
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.label.swt.Activator">
+ <filter comment="SPI Change in 1.6" id="305324134">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.label.swt.Activator"/>
+ <message_argument value="org.eclipse.emf.ecp.view.label.ui.swt_1.6.0"/>
+ </message_arguments>
+ </filter>
</resource>
<resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.label.swt.SWTLabelRenderer">
<filter comment="This is SPI" id="305324134">
@@ -16,4 +30,24 @@
</message_arguments>
</filter>
</resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/label/swt/LabelSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.label.swt.LabelSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.label.swt.LabelSWTRenderer"/>
+ <message_argument value="LabelSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.label.swt.LabelSWTRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.label.swt.LabelSWTRenderer"/>
+ <message_argument value="renderControl(SWTGridCell, Composite)"/>
+ </message_arguments>
+ </filter>
+ </resource>
</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/META-INF/MANIFEST.MF
index 713d007..9aec830 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/META-INF/MANIFEST.MF
@@ -1,21 +1,28 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: View Model Label UI SWT
-Bundle-SymbolicName: org.eclipse.emf.ecp.view.label.ui.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-SymbolicName: org.eclipse.emf.ecp.view.label.ui.swt
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.view.label.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.view.spi.label.swt;version="1.5.1"
-Import-Package: org.eclipse.jface.databinding.swt;version="0.0.0",
+Export-Package: org.eclipse.emf.ecp.view.internal.label.swt;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.label.swt;version="1.6.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
org.eclipse.jface.layout;version="0.0.0",
org.eclipse.swt;version="0.0.0",
org.eclipse.swt.events;version="0.0.0",
org.eclipse.swt.graphics;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
-Bundle-Activator: org.eclipse.emf.ecp.view.spi.label.swt.Activator
+Service-Component: OSGI-INF/labelRendererService.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/OSGI-INF/labelRendererService.xml b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/OSGI-INF/labelRendererService.xml
new file mode 100644
index 0000000..9d02391
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/OSGI-INF/labelRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.label.ui.swt.rendererService">
+ <implementation class="org.eclipse.emf.ecp.view.internal.label.swt.LabelSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/build.properties b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/build.properties
index e0e105b..5689bc7 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/build.properties
@@ -1,7 +1,7 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- about.html
-src.includes = about.html
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html,\
+ OSGI-INF/
+src.includes = about.html
+source.. = src/
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/plugin.xml b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/plugin.xml
deleted file mode 100644
index 5e30007..0000000
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.label.swt.LabelSWTRenderer">
- <staticTest
- element="org.eclipse.emf.ecp.view.spi.label.model.VLabel"
- priority="1">
- </staticTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/pom.xml
index 5b58858..e5652dd 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/src/org/eclipse/emf/ecp/view/internal/label/swt/LabelSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/src/org/eclipse/emf/ecp/view/internal/label/swt/LabelSWTRendererService.java
new file mode 100644
index 0000000..f430f21
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/src/org/eclipse/emf/ecp/view/internal/label/swt/LabelSWTRendererService.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.label.swt;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.label.model.VLabel;
+import org.eclipse.emf.ecp.view.spi.label.swt.LabelSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * LabelSWTRendererService which provides the LabelSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class LabelSWTRendererService implements EMFFormsDIRendererService<VLabel> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VLabel.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ return 1d;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VLabel>> getRendererClass() {
+ return LabelSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/src/org/eclipse/emf/ecp/view/spi/label/swt/Activator.java b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/src/org/eclipse/emf/ecp/view/spi/label/swt/Activator.java
deleted file mode 100644
index 1a04bdf..0000000
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/src/org/eclipse/emf/ecp/view/spi/label/swt/Activator.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.spi.label.swt;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Activator of the lable.ui.swt bundle.
- *
- * @author Eugen Neufeld
- * @since 1.5
- *
- */
-public class Activator extends Plugin {
- /** The plug-in ID. */
- public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.label.ui.swt"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator plugin;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance.
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- private VTViewTemplateProvider viewTemplate;
-
- /**
- * Returns the current Instance of the {@link VTViewTemplateProvider}.
- *
- * @return the {@link VTViewTemplateProvider}
- */
- public VTViewTemplateProvider getVTViewTemplateProvider() {
- if (viewTemplate == null) {
- final ServiceReference<VTViewTemplateProvider> viewTemplateReference = plugin.getBundle()
- .getBundleContext()
- .getServiceReference(VTViewTemplateProvider.class);
- if (viewTemplateReference != null) {
- viewTemplate = plugin.getBundle().getBundleContext().getService(viewTemplateReference);
- }
- }
- return viewTemplate;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/src/org/eclipse/emf/ecp/view/spi/label/swt/LabelSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/src/org/eclipse/emf/ecp/view/spi/label/swt/LabelSWTRenderer.java
index ed82b99..3b55f24 100644
--- a/bundles/org.eclipse.emf.ecp.view.label.ui.swt/src/org/eclipse/emf/ecp/view/spi/label/swt/LabelSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.label.ui.swt/src/org/eclipse/emf/ecp/view/spi/label/swt/LabelSWTRenderer.java
@@ -12,27 +12,35 @@
package org.eclipse.emf.ecp.view.spi.label.swt;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.Map;
import java.util.Set;
+import javax.inject.Inject;
+
import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.databinding.EMFDataBindingContext;
-import org.eclipse.emf.databinding.EMFObservables;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.databinding.edit.EMFEditObservables;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.label.model.VLabel;
import org.eclipse.emf.ecp.view.spi.label.model.VLabelStyle;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
import org.eclipse.emf.ecp.view.template.model.VTStyleProperty;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.ecp.view.template.style.fontProperties.model.VTFontPropertiesFactory;
import org.eclipse.emf.ecp.view.template.style.fontProperties.model.VTFontPropertiesStyleProperty;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.jface.databinding.swt.ISWTObservableValue;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.swt.SWT;
@@ -53,6 +61,29 @@
*
*/
public class LabelSWTRenderer extends AbstractSWTRenderer<VLabel> {
+ private final EMFDataBindingContext dbc;
+ private final EMFFormsDatabinding emfFormsDatabinding;
+ private final VTViewTemplateProvider vtViewTemplateProvider;
+
+ /**
+ * Default Constructor.
+ *
+ * @param vElement the view element to be rendered
+ * @param viewContext The view model context
+ * @param reportService the ReportService to use
+ * @param emfFormsDatabinding the EMFFormsDatabinding to use
+ * @param vtViewTemplateProvider the VTViewTemplateProvider to use
+ * @since 1.6
+ */
+ @Inject
+ public LabelSWTRenderer(final VLabel vElement, final ViewModelContext viewContext, ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, VTViewTemplateProvider vtViewTemplateProvider) {
+ super(vElement, viewContext, reportService);
+ this.emfFormsDatabinding = emfFormsDatabinding;
+ this.vtViewTemplateProvider = vtViewTemplateProvider;
+ dbc = new EMFDataBindingContext();
+ }
+
private SWTGridDescription rendererGridDescription;
private Font font;
private org.eclipse.swt.graphics.Color labelColor;
@@ -64,7 +95,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#dispose()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#dispose()
*/
@Override
protected void dispose() {
@@ -79,13 +110,14 @@
dataBindingContext.dispose();
dataBindingContext = null;
}
+ dbc.dispose();
super.dispose();
}
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -117,14 +149,11 @@
private void setText(Label label) {
if (getVElement().getDomainModelReference() != null) {
- final Iterator<Setting> iterator = getVElement().getDomainModelReference().getIterator();
- if (iterator.hasNext()) {
- final Setting setting = iterator.next();
-
+ try {
+ final IObservableValue observableValue = emfFormsDatabinding
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
final ISWTObservableValue observeText = SWTObservables.observeText(label);
- final IObservableValue observeValue = EMFObservables.observeValue(setting.getEObject(),
- setting.getEStructuralFeature());
- final Binding binding = getDataBindingContext().bindValue(observeText, observeValue);
+ final Binding binding = getDataBindingContext().bindValue(observeText, observableValue);
label.addDisposeListener(new DisposeListener() {
@Override
@@ -132,13 +161,17 @@
binding.dispose();
}
});
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new RenderingFailedReport(ex));
+ label.setText(ex.getMessage());
}
} else {
- if (getVElement().getName() != null) {
- label.setText(getVElement().getName());
- } else {
- label.setText(""); //$NON-NLS-1$
- }
+ final IObservableValue modelValue = EMFEditObservables.observeValue(
+ AdapterFactoryEditingDomain.getEditingDomainFor(getVElement()), getVElement(),
+ VViewPackage.eINSTANCE.getElement_Label());
+ final IObservableValue targetValue = SWTObservables.observeText(label);
+
+ dbc.bindValue(targetValue, modelValue);
}
}
@@ -202,7 +235,7 @@
private VTFontPropertiesStyleProperty getFontProperty() {
VTFontPropertiesStyleProperty fontProperties;
- final Set<VTStyleProperty> styleProperties = Activator.getDefault().getVTViewTemplateProvider()
+ final Set<VTStyleProperty> styleProperties = vtViewTemplateProvider
.getStyleProperties(getVElement(), getViewModelContext());
for (final VTStyleProperty styleProperty : styleProperties) {
if (VTFontPropertiesStyleProperty.class.isInstance(styleProperty)) {
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.classpath b/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.classpath
deleted file mode 100644
index ad32c83..0000000
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.project b/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.project
deleted file mode 100644
index 0292697..0000000
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.project
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.ecp.view.mappingdmr.databinding</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ds.core.builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/META-INF/MANIFEST.MF
deleted file mode 100644
index eb97ca8..0000000
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Databinding Connection
-Bundle-SymbolicName: org.eclipse.emf.ecp.view.mappingdmr.databinding
-Bundle-Version: 1.5.1.qualifier
-Bundle-Vendor: Eclipse Modeling Project
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.emf.databinding;bundle-version="[1.2.0,2.0.0)"
-Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)"
-Service-Component: OSGI-INF/mappingDatabindingProvider.xml
-Export-Package: org.eclipse.emf.ecp.view.mappingdmr.databinding;versio
- n="1.5.1";x-internal:=true
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/OSGI-INF/mappingDatabindingProvider.xml b/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/OSGI-INF/mappingDatabindingProvider.xml
deleted file mode 100644
index acdfb43..0000000
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/OSGI-INF/mappingDatabindingProvider.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.mappingdmr.databinding">
- <implementation class="org.eclipse.emf.ecp.view.mappingdmr.databinding.MappingDatabindingProviderService"/>
- <service>
- <provide interface="org.eclipse.emf.ecp.view.model.common.spi.databinding.DatabindingProviderService"/>
- </service>
- <property name="domainModelReference" type="String" value="org.eclipse.emf.ecp.view.spi.mappingdmr.model.impl.VMappingDomainModelReferenceImpl"/>
-</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/pom.xml b/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/pom.xml
deleted file mode 100644
index edbac9a..0000000
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/pom.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.emf.ecp</groupId>
- <artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
- <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
- </parent>
-
- <artifactId>org.eclipse.emf.ecp.view.mappingdmr.databinding</artifactId>
- <packaging>eclipse-plugin</packaging>
-
-</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/src/org/eclipse/emf/ecp/view/mappingdmr/databinding/EMFMappingValueProperty.java b/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/src/org/eclipse/emf/ecp/view/mappingdmr/databinding/EMFMappingValueProperty.java
deleted file mode 100644
index 974a47f..0000000
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/src/org/eclipse/emf/ecp/view/mappingdmr/databinding/EMFMappingValueProperty.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.mappingdmr.databinding;
-
-import org.eclipse.emf.common.util.EMap;
-import org.eclipse.emf.databinding.internal.EMFValueProperty;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * This class provides a ValueProperty for EClass Mappings.
- *
- * @author Eugen Neufeld
- *
- */
-@SuppressWarnings("restriction")
-public class EMFMappingValueProperty extends EMFValueProperty {
-
- private final EClass mappedEClass;
-
- /**
- * Constructor for a EClassMapping ValueProperty.
- *
- * @param mappedEClass the EClass being mapped
- * @param eStructuralFeature the {@link EStructuralFeature} of the map
- */
- public EMFMappingValueProperty(EClass mappedEClass,
- EStructuralFeature eStructuralFeature) {
- super(eStructuralFeature);
- this.mappedEClass = mappedEClass;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected Object doGetValue(Object source) {
- final Object result = super.doGetValue(source);
- final EMap<EClass, Object> map = (EMap<EClass, Object>) result;
- return map.get(mappedEClass);
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected void doSetValue(Object source, Object value) {
- final Object result = super.doGetValue(source);
- final EMap<EClass, Object> map = (EMap<EClass, Object>) result;
- map.put(mappedEClass, value);
- }
-
- @Override
- public String toString() {
- String s = super.toString();
- s += " mapping " + mappedEClass.getName(); //$NON-NLS-1$
- return s;
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/src/org/eclipse/emf/ecp/view/mappingdmr/databinding/MappingDatabindingProviderService.java b/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/src/org/eclipse/emf/ecp/view/mappingdmr/databinding/MappingDatabindingProviderService.java
deleted file mode 100644
index 49ecdca..0000000
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/src/org/eclipse/emf/ecp/view/mappingdmr/databinding/MappingDatabindingProviderService.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.mappingdmr.databinding;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.core.databinding.observable.IObservable;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.property.IProperty;
-import org.eclipse.core.databinding.property.value.IValueProperty;
-import org.eclipse.emf.ecp.view.model.common.internal.databinding.FeaturePathDatabindingProviderService;
-import org.eclipse.emf.ecp.view.model.common.spi.databinding.DatabindingProviderService;
-import org.eclipse.emf.ecp.view.spi.mappingdmr.model.VMappingDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.FrameworkUtil;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
-
-/**
- * The {@link DatabindingProviderService} for a {@link VMappingDomainModelReference}.
- *
- * @author Eugen Neufeld
- *
- */
-public class MappingDatabindingProviderService extends FeaturePathDatabindingProviderService
-{
-
- @SuppressWarnings("unchecked")
- @Override
- public <O extends IObservable> O getObservable(
- VFeaturePathDomainModelReference domainModelReference,
- Class<O> observableClass) {
- final IObservableValue value = (IObservableValue) super.getObservable(domainModelReference, observableClass);
-
- return (O) value;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public <P extends IProperty> P getProperty(
- VFeaturePathDomainModelReference domainModelReference,
- Class<P> propertyClass) {
- // IEMFValueProperty property = (IEMFValueProperty) super.getProperty(domainModelReference, propertyClass);
- final VMappingDomainModelReference mappingDomainModelReference = (VMappingDomainModelReference) domainModelReference;
-
- final EMFMappingValueProperty valueProperty = new EMFMappingValueProperty(
- mappingDomainModelReference.getMappedClass(), domainModelReference.getDomainModelEFeature());
- final IValueProperty value = valueProperty.value(getPropertyOfChild(mappingDomainModelReference
- .getDomainModelReference()));
-
- // property.value(valueProperty);
- return (P) value;
- }
-
- @SuppressWarnings({ "rawtypes", "unchecked" })
- private IValueProperty getPropertyOfChild(
- VDomainModelReference domainModelReference) {
- final BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
- ServiceReference<DatabindingProviderService> databindingProviderServiceReference = null;
- try {
- final Collection<ServiceReference<DatabindingProviderService>> serviceReferences = bundleContext
- .getServiceReferences(DatabindingProviderService.class,
- String.format("(domainModelReference=%s)", domainModelReference.getClass().getName())); //$NON-NLS-1$
- final Iterator<ServiceReference<DatabindingProviderService>> iterator = serviceReferences.iterator();
- if (iterator.hasNext()) {
- databindingProviderServiceReference = iterator.next();
- }
- if (databindingProviderServiceReference == null) {
- throw new IllegalStateException("No DatabindingProviderService available."); //$NON-NLS-1$
- }
- } catch (final InvalidSyntaxException e) {
- throw new IllegalStateException(e);
- }
- final DatabindingProviderService<VDomainModelReference> service = bundleContext
- .getService(databindingProviderServiceReference);
-
- final IValueProperty property = service.getProperty(domainModelReference, IValueProperty.class);
-
- bundleContext.ungetService(databindingProviderServiceReference);
-
- return property;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/.settings/.api_filters
index 3fb1be9..e557cfe 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.mappingdmr.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model.edit"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.mappingdmr.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.mappingdmr.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.mappingdmr.model.edit_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/META-INF/MANIFEST.MF
index 001742b..1618efc 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.mappingdmr.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.mappingdmr.model.provider.MappingdmrEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.mappingdmr.model.provider
- ;version="1.5.1";x-internal:=true
+ ;version="1.6.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/plugin.properties b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/plugin.properties
index 96275b6..8c47378 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/plugin.properties
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/plugin.properties
@@ -9,7 +9,7 @@
# Eugen Neufeld - initial API and implementation
pluginName = Mappingdmr Edit Support
-providerName = www.example.org
+providerName = Eclipse Modeling Project
_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/pom.xml
index d952c8f..66f0a7a 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/.settings/.api_filters
index d3f994a..b35059d 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.mappingdmr.model" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.mappingdmr.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.mappingdmr.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.mappingdmr.model_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/META-INF/MANIFEST.MF
index 48e64d1..ecc400d 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.mappingdmr.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.mappingdmr.model;version=
- "1.5.1",org.eclipse.emf.ecp.view.spi.mappingdmr.model.impl;version="1
- .5.1";x-internal:=true,org.eclipse.emf.ecp.view.spi.mappingdmr.model.
- util;version="1.5.1";x-friends:="org.eclipse.emf.ecp.view.mappingdmr.
+ "1.6.0",org.eclipse.emf.ecp.view.spi.mappingdmr.model.impl;version="1
+ .6.0";x-internal:=true,org.eclipse.emf.ecp.view.spi.mappingdmr.model.
+ util;version="1.6.0";x-friends:="org.eclipse.emf.ecp.view.mappingdmr.
model.edit"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/pom.xml
index 3638dc9..7ba391c 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.model/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/META-INF/MANIFEST.MF
index 900f571..4f610c4 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Mapping DMR Tooling
Bundle-SymbolicName: org.eclipse.emf.ecp.view.mappingdmr.tooling;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
@@ -15,13 +15,18 @@
org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.ui;bundle-version="1.4.0",
- org.eclipse.emf.ecp.common.ui
+ org.eclipse.emf.ecp.ui;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
Import-Package: org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
org.eclipse.jface.viewers;version="0.0.0",
org.eclipse.jface.window;version="0.0.0",
- org.eclipse.jface.wizard,
+ org.eclipse.jface.wizard;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0",
org.eclipse.ui.dialogs;ui.workbench=split;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.mappingdmr.tooling;version="1
- .5.1";x-internal:=true
+ .6.0";x-internal:=true
+Bundle-Activator: org.eclipse.emf.ecp.view.mappingdmr.tooling.Activator
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/pom.xml b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/pom.xml
index a9f045d..474ecab 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/Activator.java b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/Activator.java
new file mode 100644
index 0000000..1ed1f26
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/Activator.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.mappingdmr.tooling;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class Activator extends Plugin {
+ /** The plug-in ID. */
+ public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.mappingdmr.tooling"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ private ServiceReference<ReportService> reportServiceReference;
+
+ /**
+ * The constructor.
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/FeaturePathDMRSubMappedEClassControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/FeaturePathDMRSubMappedEClassControlSWTRenderer.java
index 82f0fa8..c117db2 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/FeaturePathDMRSubMappedEClassControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/FeaturePathDMRSubMappedEClassControlSWTRenderer.java
@@ -14,18 +14,25 @@
import java.util.Collection;
import java.util.HashSet;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.common.spi.EMFUtils;
import org.eclipse.emf.ecp.internal.ui.Messages;
import org.eclipse.emf.ecp.spi.common.ui.CompositeFactory;
import org.eclipse.emf.ecp.spi.common.ui.composites.SelectionComposite;
import org.eclipse.emf.ecp.view.internal.editor.controls.EditableEReferenceLabelControlSWTRenderer;
import org.eclipse.emf.ecp.view.internal.editor.handler.CreateDomainModelReferenceWizard;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.mappingdmr.model.VMappingDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.widgets.Shell;
@@ -134,11 +141,32 @@
// }
// }
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public FeaturePathDMRSubMappedEClassControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
@Override
protected void linkValue(Shell shell) {
- final Setting setting = getVElement().getDomainModelReference().getIterator().next();
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ showLinkValueFailedMessageDialog(shell, ex);
+ return;
+ }
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+
final VMappingDomainModelReference mappingDomainModelReference = VMappingDomainModelReference.class
- .cast(setting.getEObject());
+ .cast(eObject);
final EClass eclass = mappingDomainModelReference.getMappedClass();
@@ -146,11 +174,11 @@
.getDomainModelReference());
final CreateDomainModelReferenceWizard wizard = new CreateDomainModelReferenceWizard(
- setting, getEditingDomain(setting), eclass, "New Reference Element", //$NON-NLS-1$
+ eObject, structuralFeature, getEditingDomain(eObject), eclass, "New Reference Element", //$NON-NLS-1$
Messages.NewModelElementWizard_WizardTitle_AddModelElement,
Messages.NewModelElementWizard_PageTitle_AddModelElement,
Messages.NewModelElementWizard_PageDescription_AddModelElement,
- (VDomainModelReference) setting.get(true));
+ (VDomainModelReference) eObject.eGet(structuralFeature, true));
final SelectionComposite<TreeViewer> helper = CompositeFactory.getSelectModelClassComposite(
new HashSet<EPackage>(),
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/FeaturePathDMRSubMappedEClassReferenceTester.java b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/FeaturePathDMRSubMappedEClassReferenceTester.java
index ac69ca1..d8b6a5a 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/FeaturePathDMRSubMappedEClassReferenceTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/FeaturePathDMRSubMappedEClassReferenceTester.java
@@ -11,7 +11,10 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.mappingdmr.tooling;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.mappingdmr.model.VMappingDomainModelReference;
@@ -19,6 +22,8 @@
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* A Tester for the FeaturePathControl which is added as a child of a {@link VMappingDomainModelReference}.
@@ -37,18 +42,25 @@
}
final VControl control = (VControl) vElement;
- final Setting setting = control.getDomainModelReference().getIterator()
- .next();
- if (VMappingDomainModelReference.class.isInstance(setting.getEObject()
- .eContainer())
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ final EStructuralFeature feature = (EStructuralFeature) observableValue.getValueType();
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ observableValue.dispose();
+
+ if (VMappingDomainModelReference.class.isInstance(eObject.eContainer())
&& VViewPackage.eINSTANCE
- .getFeaturePathDomainModelReference_DomainModelEFeature() == setting
- .getEStructuralFeature()) {
+ .getFeaturePathDomainModelReference_DomainModelEFeature() == feature) {
return 6;
}
- if (VMappingDomainModelReference.class.isInstance(setting.getEObject())
- && VMappingdmrPackage.eINSTANCE.getMappingDomainModelReference_DomainModelReference() == setting
- .getEStructuralFeature()) {
+ if (VMappingDomainModelReference.class.isInstance(eObject)
+ && VMappingdmrPackage.eINSTANCE.getMappingDomainModelReference_DomainModelReference() == feature) {
return 6;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/MappedEClassControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/MappedEClassControlSWTRenderer.java
index 4d9d8be..eba768a 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/MappedEClassControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/MappedEClassControlSWTRenderer.java
@@ -15,6 +15,8 @@
import java.util.LinkedHashSet;
import java.util.Set;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.common.notify.AdapterFactory;
@@ -26,10 +28,14 @@
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecp.common.spi.EMFUtils;
import org.eclipse.emf.ecp.view.internal.editor.controls.EditableEReferenceLabelControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.mappingdmr.model.VMappingDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerComparator;
@@ -49,6 +55,15 @@
EditableEReferenceLabelControlSWTRenderer {
/**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public MappedEClassControlSWTRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
+ /**
* @author Eugen
*
*/
@@ -118,8 +133,17 @@
@Override
protected void linkValue(Shell shell) {
- final VMappingDomainModelReference dmr = (VMappingDomainModelReference) getVElement()
- .getDomainModelReference().getIterator().next().getEObject();
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ showLinkValueFailedMessageDialog(shell, ex);
+ return;
+ }
+ final VMappingDomainModelReference dmr = (VMappingDomainModelReference) ((IObserving) observableValue)
+ .getObserved();
+ observableValue.dispose();
final ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
new ReflectiveItemProviderAdapterFactory(),
new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/MappedEClassTester.java b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/MappedEClassTester.java
index cd8042e..267daa0 100644
--- a/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/MappedEClassTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling/src/org/eclipse/emf/ecp/view/mappingdmr/tooling/MappedEClassTester.java
@@ -11,12 +11,16 @@
*/
package org.eclipse.emf.ecp.view.mappingdmr.tooling;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.mappingdmr.model.VMappingDomainModelReference;
import org.eclipse.emf.ecp.view.spi.mappingdmr.model.VMappingdmrPackage;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* A tester for a control for mapping eclasses.
@@ -37,10 +41,16 @@
}
final VControl control = (VControl) vElement;
- if (VMappingdmrPackage.eINSTANCE
- .getMappingDomainModelReference_MappedClass() == control
- .getDomainModelReference().getEStructuralFeatureIterator()
- .next()) {
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
+ if (VMappingdmrPackage.eINSTANCE.getMappingDomainModelReference_MappedClass() == feature) {
return 5;
}
return NOT_APPLICABLE;
diff --git a/bundles/org.eclipse.emf.ecp.view.migrator/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.migrator/META-INF/MANIFEST.MF
index a550e84..f372eec 100644
--- a/bundles/org.eclipse.emf.ecp.view.migrator/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.migrator/META-INF/MANIFEST.MF
@@ -2,9 +2,9 @@
Bundle-ManifestVersion: 2
Bundle-Name: Migrator
Bundle-SymbolicName: org.eclipse.emf.ecp.view.migrator;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)"
Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.migrator;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.migrator;version="1.6.0"
diff --git a/bundles/org.eclipse.emf.ecp.view.migrator/pom.xml b/bundles/org.eclipse.emf.ecp.view.migrator/pom.xml
index 98df953..f46032a 100644
--- a/bundles/org.eclipse.emf.ecp.view.migrator/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.migrator/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.migrator</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common.di/.gitignore b/bundles/org.eclipse.emf.ecp.view.model.common.di/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.model.common.di/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common.di/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.common.di/META-INF/MANIFEST.MF
index b404cf0..68bf055 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common.di/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.common.di/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Common View Model Classes for Dependency Injection
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.common.di;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.emf.ecp.view.model.common;bundle-version="[1.3.0,2.0.0)",
@@ -12,9 +12,9 @@
org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.e4.core.di;bundle-version="[1.4.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.view.model.common.di.messages;vers
- ion="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.model.common.di
- .renderer;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.m
- odel.common.di.service;version="1.5.1";x-internal:=true,org.eclipse.e
- mf.ecp.view.model.common.di.service.impl;version="1.5.1";x-internal:=
- true,org.eclipse.emf.ecp.view.model.common.di.util;version="1.5.1";x-
+ ion="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.model.common.di
+ .renderer;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.m
+ odel.common.di.service;version="1.6.0";x-internal:=true,org.eclipse.e
+ mf.ecp.view.model.common.di.service.impl;version="1.6.0";x-internal:=
+ true,org.eclipse.emf.ecp.view.model.common.di.util;version="1.6.0";x-
internal:=true
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common.di/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.common.di/pom.xml
index 84976a6..7e0f04b 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common.di/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.common.di/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/.gitignore b/bundles/org.eclipse.emf.ecp.view.model.common/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.model.common/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.model.common/.settings/.api_filters
index 1ed80bb..1b11fe3 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.model.common/.settings/.api_filters
@@ -7,6 +7,34 @@
<message_argument value="1.4.0"/>
</message_arguments>
</filter>
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.model.common.spi.databinding.DatabindingProviderService">
+ <filter comment="SPI Change in 1.6" id="305324134">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.model.common.spi.databinding.DatabindingProviderService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.model.common_1.6.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/model/common/AbstractRenderer.java" type="org.eclipse.emf.ecp.view.model.common.AbstractRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.model.common.AbstractRenderer"/>
+ <message_argument value="AbstractRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.model.common.AbstractRenderer"/>
+ <message_argument value="init(VELEMENT, ViewModelContext)"/>
+ </message_arguments>
+ </filter>
</resource>
<resource path="src/org/eclipse/emf/ecp/view/model/common/XMLDateControlRendererTester.java" type="org.eclipse.emf.ecp.view.model.common.XMLDateControlRendererTester">
<filter comment="Needed Fix for 1.5.0" id="338849923">
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.common/META-INF/MANIFEST.MF
index 5d31681..a9e6825 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.common/META-INF/MANIFEST.MF
@@ -2,19 +2,17 @@
Bundle-ManifestVersion: 2
Bundle-Name: Common View Model Classes
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.common
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.internal.model.common.Activator
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Import-Package: org.osgi.framework;version="1.3.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0",
+ org.osgi.framework;version="1.3.0"
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.view.internal.model.common;version
- ="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.model.common;versi
- on="1.5.1",org.eclipse.emf.ecp.view.model.common.edit.provider;versio
- n="1.5.1",org.eclipse.emf.ecp.view.model.common.internal.databinding;
- version="1.5.1";x-friends:="org.eclipse.emf.ecp.view.mappingdmr.datab
- inding",org.eclipse.emf.ecp.view.model.common.spi.databinding;version
- ="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.internal.model.common;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.model.common;version="1.6.0",
+ org.eclipse.emf.ecp.view.model.common.edit.provider;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
@@ -23,4 +21,3 @@
org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)",
org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)"
-Service-Component: OSGI-INF/featurePathDatabindingProvider.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/OSGI-INF/featurePathDatabindingProvider.xml b/bundles/org.eclipse.emf.ecp.view.model.common/OSGI-INF/featurePathDatabindingProvider.xml
deleted file mode 100644
index 6a64210..0000000
--- a/bundles/org.eclipse.emf.ecp.view.model.common/OSGI-INF/featurePathDatabindingProvider.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.model.domainmodelreference.databindingProvider">
- <implementation class="org.eclipse.emf.ecp.view.model.common.internal.databinding.FeaturePathDatabindingProviderService"/>
- <property name="domainModelReference" type="String" value="org.eclipse.emf.ecp.view.spi.model.impl.VFeaturePathDomainModelReferenceImpl"/>
- <service>
- <provide interface="org.eclipse.emf.ecp.view.model.common.spi.databinding.DatabindingProviderService"/>
- </service>
-</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/build.properties b/bundles/org.eclipse.emf.ecp.view.model.common/build.properties
index 8e36148..ccde309 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.model.common/build.properties
@@ -1,7 +1,6 @@
output.. = bin/
bin.includes = META-INF/,\
.,\
- about.html,\
- OSGI-INF/
+ about.html
source.. = src/
src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.common/pom.xml
index c48dac9..2c038bc 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.common/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/internal/model/common/Activator.java b/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/internal/model/common/Activator.java
index 22defe9..17d145f 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/internal/model/common/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/internal/model/common/Activator.java
@@ -12,7 +12,10 @@
package org.eclipse.emf.ecp.view.internal.model.common;
import org.eclipse.core.runtime.Plugin;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
/**
* The activator class controls the plug-in life cycle.
@@ -25,6 +28,8 @@
// The shared instance
private static Activator plugin;
+ private ServiceReference<ReportService> reportServiceReference;
+
/**
* The constructor.
*/
@@ -59,4 +64,33 @@
public static Activator getDefault() {
return plugin;
}
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/AbstractRenderer.java b/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/AbstractRenderer.java
index d2af5fa..66923ca 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/AbstractRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/AbstractRenderer.java
@@ -13,6 +13,7 @@
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
/**
* Common super class for renderer.
@@ -23,21 +24,33 @@
*/
public abstract class AbstractRenderer<VELEMENT extends VElement> {
- private VELEMENT vElement;
- private ViewModelContext viewModelContext;
+ private final VELEMENT vElement;
+ private final ViewModelContext viewModelContext;
+ private boolean disposed;
+ private final ReportService reportService;
/**
- * Initialize the control. This can only be called once.
+ * Default constructor.
*
* @param vElement the {@link VElement} to be rendered
* @param viewContext the {@link ViewModelContext} to use
+ * @param reportService The {@link ReportService} to use
+ * @since 1.6
*/
- public void init(final VELEMENT vElement, final ViewModelContext viewContext) {
- if (this.vElement != null) {
- return;
+ public AbstractRenderer(final VELEMENT vElement, final ViewModelContext viewContext, ReportService reportService) {
+
+ if (vElement == null) {
+ throw new IllegalArgumentException("vElement must not be null"); //$NON-NLS-1$
+ }
+ if (viewContext == null) {
+ throw new IllegalArgumentException("vContext must not be null"); //$NON-NLS-1$
+ }
+ if (reportService == null) {
+ throw new IllegalArgumentException("reportService must not be null"); //$NON-NLS-1$
}
this.vElement = vElement;
this.viewModelContext = viewContext;
+ this.reportService = reportService;
}
/**
@@ -46,6 +59,7 @@
* @return the {@link ViewModelContext}
*/
public final ViewModelContext getViewModelContext() {
+ checkRenderer();
return viewModelContext;
}
@@ -55,6 +69,7 @@
* @return the {@link VElement}
*/
public final VELEMENT getVElement() {
+ checkRenderer();
return vElement;
}
@@ -63,7 +78,30 @@
* Don't forget to call super.dispose if overwriting this method.
*/
protected void dispose() {
- vElement = null;
- viewModelContext = null;
+ disposed = true;
}
+
+ /**
+ * Checks whether the renderer is disposed and if so throws an {@link IllegalStateException}.
+ *
+ * @since 1.6
+ */
+ protected void checkRenderer() {
+ if (disposed) {
+ throw new IllegalStateException("Renderer is disposed"); //$NON-NLS-1$
+ }
+
+ }
+
+ /**
+ * The {@link SWTRendererFactory} instance to use.
+ *
+ * @return the {@link SWTRendererFactory}
+ * @since 1.6
+ */
+ protected final ReportService getReportService() {
+ checkRenderer();
+ return reportService;
+ }
+
}
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/EnumComboViewerRendererTester.java b/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/EnumComboViewerRendererTester.java
index 166bfea..8f16ca0 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/EnumComboViewerRendererTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/EnumComboViewerRendererTester.java
@@ -11,15 +11,16 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.model.common;
-import java.util.Iterator;
-
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecp.view.internal.model.common.Activator;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* Tester for Text Renderer.
@@ -42,12 +43,15 @@
return NOT_APPLICABLE;
}
final VControl control = (VControl) vElement;
- final Setting setting = getSetting(control);
- if (setting == null) {
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
-
- final EStructuralFeature feature = setting.getEStructuralFeature();
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
if (feature.isMany()) {
return NOT_APPLICABLE;
}
@@ -62,18 +66,4 @@
return NOT_APPLICABLE;
}
- private Setting getSetting(VControl control) {
- final Iterator<Setting> iterator = control.getDomainModelReference().getIterator();
- int count = 0;
- Setting setting = null;
- while (iterator.hasNext()) {
- count++;
- setting = iterator.next();
- }
- if (count != 1) {
- return null;
- }
- return setting;
- }
-
}
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/SimpleControlRendererTester.java b/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/SimpleControlRendererTester.java
index eb3a95e..06ef18f 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/SimpleControlRendererTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/SimpleControlRendererTester.java
@@ -11,18 +11,20 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.model.common;
-import java.util.Iterator;
-
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EAnnotation;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecp.view.internal.model.common.Activator;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* Tester for Control Renderer.
@@ -44,13 +46,17 @@
return NOT_APPLICABLE;
}
final VControl control = (VControl) vElement;
- final Setting setting = getSetting(control);
- if (setting == null) {
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
-
- final EStructuralFeature feature = setting.getEStructuralFeature();
- final EObject eObject = setting.getEObject();
+ final EStructuralFeature feature = (EStructuralFeature) observableValue.getValueType();
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ observableValue.dispose();
// if the feature is a multiValue and the description is a singlevalue continue
if (isSingleValue() == feature.isMany()) {
return NOT_APPLICABLE;
@@ -94,20 +100,6 @@
return true;
}
- private Setting getSetting(VControl control) {
- final Iterator<Setting> iterator = control.getDomainModelReference().getIterator();
- int count = 0;
- Setting setting = null;
- while (iterator.hasNext()) {
- count++;
- setting = iterator.next();
- }
- if (count != 1) {
- return null;
- }
- return setting;
- }
-
private boolean checkAttributeInvalid(EAttribute attribute) {
final Class<?> instanceClass = attribute.getEAttributeType().getInstanceClass();
if (instanceClass == null) {
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/SingleReferenceRendererTester.java b/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/SingleReferenceRendererTester.java
index d9fab2d..ae5e98e 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/SingleReferenceRendererTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/SingleReferenceRendererTester.java
@@ -11,15 +11,16 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.model.common;
-import java.util.Iterator;
-
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecp.view.internal.model.common.Activator;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* @author Lucas Koehler
@@ -40,12 +41,15 @@
return NOT_APPLICABLE;
}
final VControl control = (VControl) vElement;
- final Setting setting = getSetting(control);
- if (setting == null) {
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
-
- final EStructuralFeature feature = setting.getEStructuralFeature();
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
if (feature.isMany()) {
return NOT_APPLICABLE;
}
@@ -59,19 +63,4 @@
}
return NOT_APPLICABLE;
}
-
- private Setting getSetting(VControl control) {
- final Iterator<Setting> iterator = control.getDomainModelReference().getIterator();
- int count = 0;
- Setting setting = null;
- while (iterator.hasNext()) {
- count++;
- setting = iterator.next();
- }
- if (count != 1) {
- return null;
- }
- return setting;
- }
-
}
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/XMLDateControlRendererTester.java b/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/XMLDateControlRendererTester.java
index 0fa2408..d497060 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/XMLDateControlRendererTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/XMLDateControlRendererTester.java
@@ -11,21 +11,22 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.model.common;
-import java.util.Iterator;
-
import javax.xml.datatype.XMLGregorianCalendar;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EAnnotation;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+import org.eclipse.emf.ecp.view.internal.model.common.Activator;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* Tester for Text Renderer.
@@ -52,14 +53,16 @@
if (!VControl.class.isInstance(vElement)) {
return NOT_APPLICABLE;
}
-
final VControl control = (VControl) vElement;
- final Setting setting = getSetting(control);
- if (setting == null) {
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
-
- final EStructuralFeature feature = setting.getEStructuralFeature();
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
if (feature.isMany()) {
return NOT_APPLICABLE;
}
@@ -85,20 +88,6 @@
return NOT_APPLICABLE;
}
- private Setting getSetting(VControl control) {
- final Iterator<Setting> iterator = control.getDomainModelReference().getIterator();
- int count = 0;
- Setting setting = null;
- while (iterator.hasNext()) {
- count++;
- setting = iterator.next();
- }
- if (count != 1) {
- return null;
- }
- return setting;
- }
-
private int getPriority() {
return 3;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/internal/databinding/FeaturePathDatabindingProviderService.java b/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/internal/databinding/FeaturePathDatabindingProviderService.java
deleted file mode 100644
index 5a421e7..0000000
--- a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/internal/databinding/FeaturePathDatabindingProviderService.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.model.common.internal.databinding;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.databinding.observable.IObservable;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.property.IProperty;
-import org.eclipse.core.databinding.property.value.IValueProperty;
-import org.eclipse.emf.databinding.EMFProperties;
-import org.eclipse.emf.databinding.FeaturePath;
-import org.eclipse.emf.databinding.edit.EMFEditObservables;
-import org.eclipse.emf.databinding.edit.EMFEditProperties;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.view.model.common.spi.databinding.DatabindingProviderService;
-import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-
-/**
- * @author Eugen
- *
- */
-public class FeaturePathDatabindingProviderService implements
- DatabindingProviderService<VFeaturePathDomainModelReference> {
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.model.common.spi.databinding.DatabindingProviderService#getObservable(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference,
- * java.lang.Class)
- */
- @SuppressWarnings("unchecked")
- @Override
- public <O extends IObservable> O getObservable(VFeaturePathDomainModelReference domainModelReference,
- Class<O> observableClass) {
- if (domainModelReference == null) {
- throw new IllegalArgumentException("The DomainModelReference must not be null."); //$NON-NLS-1$
- }
- if (!observableClass.isAssignableFrom(IObservableValue.class)) {
- throw new IllegalArgumentException("A FeaturePathDomainModelReference can't provide " //$NON-NLS-1$
- + observableClass.getName());
- }
- final Setting lastSetting = getSetting(domainModelReference, SettingOption.Last);
- return (O) EMFEditObservables.observeValue(
- AdapterFactoryEditingDomain.getEditingDomainFor(lastSetting.getEObject()), lastSetting.getEObject(),
- lastSetting.getEStructuralFeature());
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.model.common.spi.databinding.DatabindingProviderService#getProperty(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference,
- * java.lang.Class)
- */
- @SuppressWarnings("unchecked")
- @Override
- public <P extends IProperty> P getProperty(VFeaturePathDomainModelReference domainModelReference,
- Class<P> propertyClass) {
- if (domainModelReference == null) {
- throw new IllegalArgumentException("The DomainModelReference must not be null."); //$NON-NLS-1$
- }
- if (!propertyClass.isAssignableFrom(IValueProperty.class)) {
- throw new IllegalArgumentException("A FeaturePathDomainModelReference can't provide " //$NON-NLS-1$
- + propertyClass.getName());
- }
- final List<EStructuralFeature> fullList = new ArrayList<EStructuralFeature>(
- domainModelReference.getDomainModelEReferencePath());
- fullList.add(domainModelReference.getDomainModelEFeature());
- final FeaturePath featurePath = FeaturePath.fromList(fullList.toArray(new EStructuralFeature[0]));
- final Setting setting = getLastSettingForProperty(domainModelReference);
- return setting == null ? (P) EMFProperties.value(featurePath) : (P) EMFEditProperties.value(
- AdapterFactoryEditingDomain.getEditingDomainFor(setting.getEObject()), featurePath);
- }
-
- private Setting getLastSettingForProperty(VFeaturePathDomainModelReference domainModelReference) {
- try {
- return getSetting(domainModelReference, SettingOption.Last);
- } catch (final IllegalArgumentException ex) {
- // dmr not resolved -> try parent
- }
- if (!VDomainModelReference.class.isInstance(domainModelReference.eContainer())) {
- return null;
- }
- try {
- return getSetting((VDomainModelReference) domainModelReference.eContainer(), SettingOption.First);
- } catch (final IllegalArgumentException ex) {
- return null;
- }
- }
-
- private Setting getSetting(VDomainModelReference domainModelReference, SettingOption option) {
- final Iterator<Setting> iterator = domainModelReference.getIterator();
- if (iterator == null) {
- throw new IllegalArgumentException("The DomainModelReference must be resolved."); //$NON-NLS-1$
- }
- switch (option) {
- case Last:
- Setting lastSetting = null;
- int numberSettings = 0;
- while (iterator.hasNext()) {
- lastSetting = iterator.next();
- numberSettings++;
- }
- if (lastSetting == null || numberSettings != 1) {
- throw new IllegalArgumentException("The DomainModelReference must be resolved."); //$NON-NLS-1$
- }
- return lastSetting;
-
- case First:
- while (iterator.hasNext()) {
- return iterator.next();
- }
- throw new IllegalArgumentException("The DomainModelReference must be resolved."); //$NON-NLS-1$
-
- default:
- throw new IllegalArgumentException("Unknown option."); //$NON-NLS-1$
- }
-
- }
-
- /**
- * Options for getting a setting from a dmr.
- *
- */
- private enum SettingOption {
- First, Last
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/spi/databinding/DatabindingProviderService.java b/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/spi/databinding/DatabindingProviderService.java
deleted file mode 100644
index 1dc78b7..0000000
--- a/bundles/org.eclipse.emf.ecp.view.model.common/src/org/eclipse/emf/ecp/view/model/common/spi/databinding/DatabindingProviderService.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.model.common.spi.databinding;
-
-import org.eclipse.core.databinding.observable.IObservable;
-import org.eclipse.core.databinding.property.IProperty;
-import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
-
-/**
- * A service providing a conversion from a VDomainModelReference to databinding classes.
- *
- * @author Eugen Neufeld
- * @param <DMR> the {@link VDomainModelReference} this service is working for
- */
-public interface DatabindingProviderService<DMR extends VDomainModelReference> {
-
- /**
- * Get the {@link IObservable} for the provided {@link VDomainModelReference}. A {@link IllegalArgumentException} is
- * thrown if the passed {@link VDomainModelReference} can't provide the {@link IObservable}.
- *
- * @param domainModelReference the {@link VDomainModelReference} to get the {@link IObservable} for
- * @param observableClass the type of the {@link IObservable}
- * @param <O> the type of the {@link IObservable}
- * @return the {@link IObservable}
- */
- <O extends IObservable> O getObservable(DMR domainModelReference, Class<O> observableClass);
-
- /**
- * Get the {@link IProperty} for the provided {@link VDomainModelReference}. A {@link IllegalArgumentException} is
- * thrown if the passed {@link VDomainModelReference} can't provide the {@link IProperty}.
- *
- * @param domainModelReference the {@link VDomainModelReference} to get the {@link IProperty} for
- * @param propertyClass the type of the {@link IProperty}
- * @param <P> the type of the {@link IProperty}
- * @return the {@link IProperty}
- */
- <P extends IProperty> P getProperty(DMR domainModelReference, Class<P> propertyClass);
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.model.edit/.gitignore b/bundles/org.eclipse.emf.ecp.view.model.edit/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.model.edit/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.model.edit/.settings/.api_filters
index 563d1cc..2d25d9c 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.model.edit/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.model.edit_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.edit/META-INF/MANIFEST.MF
index b8a6232..ce3d3ed 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.model.provider.ViewEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.model.provider;version="1
- .5.1"
+ .6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.model.edit/plugin.properties b/bundles/org.eclipse.emf.ecp.view.model.edit/plugin.properties
index a0f7a7893..801182a 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.edit/plugin.properties
+++ b/bundles/org.eclipse.emf.ecp.view.model.edit/plugin.properties
@@ -154,3 +154,4 @@
_UI_DomainModelReference_changeListener_feature = Change Listener
_UI_View_ecorePath_feature = Ecore Path
_UI_ContainedContainer_type = Contained Container
+_UI_Element_label_feature = Label
diff --git a/bundles/org.eclipse.emf.ecp.view.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.edit/pom.xml
index 764f506..d9f3574 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.edit/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.edit/src/org/eclipse/emf/ecp/view/spi/model/provider/ControlItemProvider.java b/bundles/org.eclipse.emf.ecp.view.model.edit/src/org/eclipse/emf/ecp/view/spi/model/provider/ControlItemProvider.java
index d51cd8c..2edafab 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.edit/src/org/eclipse/emf/ecp/view/spi/model/provider/ControlItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.edit/src/org/eclipse/emf/ecp/view/spi/model/provider/ControlItemProvider.java
@@ -17,6 +17,8 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
@@ -140,7 +142,10 @@
*/
@Override
public String getText(Object object) {
- final String label = ((VControl) object).getName();
+ String label = ((VControl) object).getName();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ? getString("_UI_Control_type") : label; //$NON-NLS-1$
}
diff --git a/bundles/org.eclipse.emf.ecp.view.model.edit/src/org/eclipse/emf/ecp/view/spi/model/provider/ElementItemProvider.java b/bundles/org.eclipse.emf.ecp.view.model.edit/src/org/eclipse/emf/ecp/view/spi/model/provider/ElementItemProvider.java
index ce36f9e..3fff8a7 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.edit/src/org/eclipse/emf/ecp/view/spi/model/provider/ElementItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.edit/src/org/eclipse/emf/ecp/view/spi/model/provider/ElementItemProvider.java
@@ -36,10 +36,11 @@
/**
* This is the item provider adapter for a {@link org.eclipse.emf.ecp.view.spi.model.VElement} object.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.2
+ * <!-- end-user-doc -->
*
* @generated
- * @since 1.2
*/
public class ElementItemProvider
extends ItemProviderAdapter
@@ -74,6 +75,7 @@
super.getPropertyDescriptors(object);
addNamePropertyDescriptor(object);
+ addLabelPropertyDescriptor(object);
addVisiblePropertyDescriptor(object);
addEnabledPropertyDescriptor(object);
addReadonlyPropertyDescriptor(object);
@@ -106,6 +108,32 @@
}
/**
+ * This adds a property descriptor for the Label feature.
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addLabelPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Element_label_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Element_label_feature", "_UI_Element_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ VViewPackage.Literals.ELEMENT__LABEL,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
* This adds a property descriptor for the Visible feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/bundles/org.eclipse.emf.ecp.view.model.edit/src/org/eclipse/emf/ecp/view/spi/model/provider/ViewItemProvider.java b/bundles/org.eclipse.emf.ecp.view.model.edit/src/org/eclipse/emf/ecp/view/spi/model/provider/ViewItemProvider.java
index 6a6c421..5c1e0ce 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.edit/src/org/eclipse/emf/ecp/view/spi/model/provider/ViewItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.edit/src/org/eclipse/emf/ecp/view/spi/model/provider/ViewItemProvider.java
@@ -17,6 +17,8 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
@@ -169,7 +171,10 @@
*/
@Override
public String getText(Object object) {
- final String label = ((VView) object).getName();
+ String label = ((VView) object).getName();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ? getString("_UI_View_type") : label; //$NON-NLS-1$
}
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/.gitignore b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/META-INF/MANIFEST.MF
index dd396fb..e552850 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: New View Model Project Wizard
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.project.installer;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.model.internal.project.installer.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.view.model.editor;bundle-version="[1.5.0,2.0.0)",
@@ -18,6 +18,6 @@
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.ecp.view.model.internal.project.handle
- rs;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.model.in
- ternal.project.installer;version="1.5.1";x-internal:=true
+ rs;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.model.in
+ ternal.project.installer;version="1.6.0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/pom.xml
index 1aaad25..772f4b6 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor.project.installer/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.model.project.installer</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor/.gitignore b/bundles/org.eclipse.emf.ecp.view.model.editor/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.editor/META-INF/MANIFEST.MF
index a708a88..108837a 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.editor/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.editor;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.model.presentation.ViewEditorPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.view.model.actions;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.model.actions;version="1.6.0"
;x-internal:=true,org.eclipse.emf.ecp.view.model.presentation;version
- ="1.5.1";x-friends:="org.eclipse.emf.ecp.view.model.project.installer"
+ ="1.6.0";x-friends:="org.eclipse.emf.ecp.view.model.project.installer"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.5.0,2.0.0)",
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.editor/pom.xml
index 239824f..a6197cc 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.editor/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.editor/src/org/eclipse/emf/ecp/view/model/presentation/ViewModelWizard.java b/bundles/org.eclipse.emf.ecp.view.model.editor/src/org/eclipse/emf/ecp/view/model/presentation/ViewModelWizard.java
index 16b7872..bc92f0e 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.editor/src/org/eclipse/emf/ecp/view/model/presentation/ViewModelWizard.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.editor/src/org/eclipse/emf/ecp/view/model/presentation/ViewModelWizard.java
@@ -15,12 +15,15 @@
import java.io.ByteArrayInputStream;
import java.io.FileWriter;
import java.io.IOException;
+import java.io.InputStream;
import java.io.InputStreamReader;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.Scanner;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
@@ -53,6 +56,7 @@
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.actions.WorkspaceModifyOperation;
import org.eclipse.ui.part.FileEditorInput;
+import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
/**
@@ -63,6 +67,7 @@
*/
public class ViewModelWizard extends Wizard implements INewWizard {
+ private static final String MANIFEST_PATH = "META-INF/MANIFEST.MF"; //$NON-NLS-1$
private static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.model.presentation"; //$NON-NLS-1$
private Object selectedContainer;
private List<ViewModelWizardNewFileCreationPage> fileCreationPages;
@@ -210,7 +215,6 @@
*/
@Override
public void addPages() {
-
selectEcorePage = new SelectEcorePage(PLUGIN_ID);
addPage(selectEcorePage);
@@ -226,8 +230,7 @@
*/
@Override
public IWizardPage getStartingPage() {
- if (selectedContainer == null)
- {
+ if (selectedContainer == null) {
return selectEcorePage;
}
@@ -292,8 +295,7 @@
EPackage ePackage = null;
if (EPackage.class.isInstance(selectedContainer)) {
ePackage = EPackage.class.cast(selectedContainer);
- }
- else if (IFile.class.isInstance(selectedContainer)) {
+ } else if (IFile.class.isInstance(selectedContainer)) {
final ResourceSetImpl resourceSet = new ResourceSetImpl();
final String path = ((IFile) selectedContainer).getFullPath().toString();
final URI uri = URI.createPlatformResourceURI(path, true);
@@ -347,8 +349,7 @@
if (page == selectEClassPage) {
return selectEcorePage;
- }
- else if (ViewModelWizardNewFileCreationPage.class.isInstance(page)) {
+ } else if (ViewModelWizardNewFileCreationPage.class.isInstance(page)) {
return selectEClassPage;
}
@@ -458,8 +459,7 @@
final String path;
if (lastPathDelimiter == -1) {
path = projectRelPath;
- }
- else {
+ } else {
path = projectRelPath.substring(0, projectRelPath.lastIndexOf("/") + 1); //$NON-NLS-1$
}
final String includes = "bin.includes"; //$NON-NLS-1$
@@ -525,14 +525,18 @@
protected void addContribution(IFile modelFile) {
final IProject project = modelFile.getProject();
- final IFile pluginFile = project.getFile("plugin.xml"); //$NON-NLS-1$
- try {
- if (!pluginFile.exists())
- {
- final String pluginXmlContents = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?eclipse version=\"3.4\"?>\n<plugin>\n</plugin>"; //$NON-NLS-1$
- pluginFile.create(new ByteArrayInputStream(pluginXmlContents.getBytes()), true, null);
- project.refreshLocal(IResource.DEPTH_INFINITE, null);
+ final boolean isFragmentProject = isFragmentProject(project);
+ final String contributionFileName = isFragmentProject ? "fragment.xml" : "plugin.xml"; //$NON-NLS-1$ //$NON-NLS-2$
+
+ final IFile pluginFile = project.getFile(contributionFileName);
+ try {
+ if (!pluginFile.exists()) {
+ final String xmlContents = MessageFormat.format(
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?eclipse version=\"3.4\"?>\n<{0}>\n</{0}>", //$NON-NLS-1$
+ isFragmentProject ? "fragment" : "plugin"); //$NON-NLS-1$//$NON-NLS-2$
+ pluginFile.create(new ByteArrayInputStream(xmlContents.getBytes()), true, null);
+ project.refreshLocal(IResource.DEPTH_INFINITE, null);
}
final BufferedReader in = new BufferedReader(new InputStreamReader(pluginFile.getContents()));
final String extension = "org.eclipse.emf.ecp.view.model.provider.xmi.file"; //$NON-NLS-1$
@@ -548,16 +552,16 @@
line = line.substring(0, end)
+ ">\n" + filePathAttribute + "\n</extension>\n" + line.substring(end + 2, line.length()); //$NON-NLS-1$ //$NON-NLS-2$
- }
- else {
+ } else {
final String filePathAttribute = "<file filePath=\"" //$NON-NLS-1$
+ modelFile.getProjectRelativePath().toString() + "\"/>"; //$NON-NLS-1$
line = line.concat("\n" + filePathAttribute + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
}
extensionAdded = true;
}
- if (line.contains("</plugin>") && !extensionAdded) { //$NON-NLS-1$
- final int end = line.indexOf("</plugin>"); //$NON-NLS-1$
+ final String eof = isFragmentProject ? "</fragment>" : "</plugin>"; //$NON-NLS-1$ //$NON-NLS-2$
+ if (line.contains(eof) && !extensionAdded) {
+ final int end = line.indexOf(eof);
line = line.substring(0, end)
+ "\n<extension point=\"org.eclipse.emf.ecp.view.model.provider.xmi.file\">\n<file filePath=\"" //$NON-NLS-1$
+ modelFile.getProjectRelativePath().toString()
@@ -581,6 +585,26 @@
}
}
+ private boolean isFragmentProject(IProject project) {
+ try {
+ final IResource manifest = project.findMember(MANIFEST_PATH);
+ if (manifest == null || !IFile.class.isInstance(manifest)) {
+ /* no osgi project at all */
+ return false;
+ }
+ final InputStream inputStream = IFile.class.cast(manifest).getContents(true);
+ final Scanner scanner = new Scanner(inputStream, "UTF-8"); //$NON-NLS-1$
+ /* read file as one string */
+ final String content = scanner.useDelimiter("\\A").next(); //$NON-NLS-1$
+ scanner.close();
+ /* Every fragment has a fragment host header in the manifest */
+ final int index = content.indexOf(Constants.FRAGMENT_HOST);
+ return index != -1;
+ } catch (final CoreException ex) {
+ return false;
+ }
+ }
+
/**
* Return the {@link IDEViewModelRegistry}.
*
diff --git a/bundles/org.eclipse.emf.ecp.view.model.generator/.gitignore b/bundles/org.eclipse.emf.ecp.view.model.generator/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.model.generator/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.model.generator/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.generator/META-INF/MANIFEST.MF
index e797fa1..cf4a602 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.generator/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.generator/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Generator
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.provider.generator;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
@@ -10,5 +10,5 @@
org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.view.model.generator;version="1.5.
- 1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.model.generator;version="1.6.
+ 0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.ecp.view.model.generator/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.generator/pom.xml
index cdf5873..199312e 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.generator/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.generator/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.generator/src/org/eclipse/emf/ecp/view/model/generator/ViewProvider.java b/bundles/org.eclipse.emf.ecp.view.model.generator/src/org/eclipse/emf/ecp/view/model/generator/ViewProvider.java
index 3877b3f..de20acc 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.generator/src/org/eclipse/emf/ecp/view/model/generator/ViewProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.generator/src/org/eclipse/emf/ecp/view/model/generator/ViewProvider.java
@@ -44,20 +44,37 @@
@Override
public VView generate(EObject eObject, Map<String, Object> context) {
final VView view = VViewFactory.eINSTANCE.createView();
- for (final EStructuralFeature feature : getValidFeatures(eObject)) {
+ final ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(
+ new AdapterFactory[] {
+ new ReflectiveItemProviderAdapterFactory(),
+ new ComposedAdapterFactory(
+ ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
+ final AdapterFactoryItemDelegator delegator = new AdapterFactoryItemDelegator(
+ composedAdapterFactory);
+ for (final EStructuralFeature feature : getValidFeatures(delegator, eObject)) {
final VControl control = VViewFactory.eINSTANCE.createControl();
final VFeaturePathDomainModelReference modelReference = VViewFactory.eINSTANCE
.createFeaturePathDomainModelReference();
modelReference.setDomainModelEFeature(feature);
control.setDomainModelReference(modelReference);
- control.setReadonly(!feature.isChangeable());
+ control.setReadonly(isReadOnly(delegator, eObject, feature));
view.getChildren().add(control);
}
-
+ composedAdapterFactory.dispose();
return view;
}
+ private boolean isReadOnly(AdapterFactoryItemDelegator delegator,
+ EObject owner, EStructuralFeature feature) {
+ if (!feature.isChangeable()) {
+ return true;
+ }
+ final IItemPropertyDescriptor descriptor = delegator.getPropertyDescriptor(owner,
+ feature);
+ return !descriptor.canSetProperty(feature);
+ }
+
private boolean isInvalidFeature(EStructuralFeature feature) {
return isContainerReference(feature) || isTransient(feature) || isVolatile(feature);
}
@@ -81,19 +98,15 @@
return feature.isVolatile();
}
- private Set<EStructuralFeature> getValidFeatures(EObject eObject) {
- final Collection<EStructuralFeature> features = eObject.eClass().getEAllStructuralFeatures();
- final ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
- new ReflectiveItemProviderAdapterFactory(),
- new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
- final AdapterFactoryItemDelegator adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(
- composedAdapterFactory);
+ private Set<EStructuralFeature> getValidFeatures(
+ AdapterFactoryItemDelegator itemDelegator, EObject eObject) {
+ final Collection<EStructuralFeature> features = eObject.eClass()
+ .getEAllStructuralFeatures();
final Set<EStructuralFeature> featuresToAdd = new LinkedHashSet<EStructuralFeature>();
IItemPropertyDescriptor propertyDescriptor = null;
for (final EStructuralFeature feature : features) {
- propertyDescriptor =
- adapterFactoryItemDelegator
- .getPropertyDescriptor(eObject, feature);
+ propertyDescriptor = itemDelegator
+ .getPropertyDescriptor(eObject, feature);
if (propertyDescriptor == null || isInvalidFeature(feature)) {
continue;
}
@@ -101,7 +114,6 @@
featuresToAdd.add(feature);
}
- composedAdapterFactory.dispose();
return featuresToAdd;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.model.preview.common/.gitignore b/bundles/org.eclipse.emf.ecp.view.model.preview.common/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.model.preview.common/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.model.preview.common/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.preview.common/META-INF/MANIFEST.MF
index b6841a2..64d8c15 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.preview.common/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.preview.common/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Model Preview Common
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.preview.common;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.model.preview.common.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)",
@@ -10,15 +10,19 @@
org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.view.model.localization;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.emf.ecp.ui.view.swt;version="1.2.0",
+ org.eclipse.emfforms.spi.common.locale;version="1.6.0",
org.eclipse.jface;version="0.0.0",
org.eclipse.jface.layout;version="0.0.0",
org.eclipse.swt;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.model.preview.common;version=
- "1.5.1";x-friends:="org.eclipse.emf.ecp.view.model.preview.e3,org.ecl
+ "1.6.0";x-friends:="org.eclipse.emf.ecp.view.model.preview.e3,org.ecl
ipse.emf.ecp.view.model.preview.e4"
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.view.model.preview.common/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.preview.common/pom.xml
index 3d0ed19..50b6d16 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.preview.common/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.preview.common/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.model.preview.common</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.preview.common/src/org/eclipse/emf/ecp/view/model/preview/common/Preview.java b/bundles/org.eclipse.emf.ecp.view.model.preview.common/src/org/eclipse/emf/ecp/view/model/preview/common/Preview.java
index 918c861..e60317f 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.preview.common/src/org/eclipse/emf/ecp/view/model/preview/common/Preview.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.preview.common/src/org/eclipse/emf/ecp/view/model/preview/common/Preview.java
@@ -27,6 +27,7 @@
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.EContentAdapter;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.edit.spi.EMFDeleteServiceImpl;
import org.eclipse.emf.ecp.edit.spi.ReferenceService;
import org.eclipse.emf.ecp.ui.view.ECPRendererException;
import org.eclipse.emf.ecp.ui.view.swt.DefaultReferenceService;
@@ -35,6 +36,7 @@
import org.eclipse.emf.ecp.view.model.common.edit.provider.CustomReflectiveItemProviderAdapterFactory;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
+import org.eclipse.emf.ecp.view.spi.model.LocalizationAdapter;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
@@ -63,7 +65,7 @@
* The constructor.
*
* @param parent - the {@link Composite} in which to render
- * */
+ */
public Preview(Composite parent) {
this.parent = parent;
}
@@ -73,7 +75,7 @@
*
* @param view the {@link VView}
* @param sampleData the sample data to be displayed in the view
- * */
+ */
public void render(final VView view, EObject sampleData) {
if (adapter != null) {
removeAdapter();
@@ -145,9 +147,15 @@
final ReferenceService previewRefServ = new DefaultReferenceService();
final VView copy = EcoreUtil.copy(view);
+ copy.eAdapters().add(new LocalizationAdapter() {
+ @Override
+ public String localize(String key) {
+ return key;
+ }
+ });
clearViewDiagnostics(copy);
final ViewModelContext viewModelContext = ViewModelContextFactory.INSTANCE.createViewModelContext(
- copy, dummyData, previewRefServ);
+ copy, dummyData, previewRefServ, new EMFDeleteServiceImpl());
composite = createComposite(parent);
render = ECPSWTViewRenderer.INSTANCE.render(composite, viewModelContext);
composite.layout();
diff --git a/bundles/org.eclipse.emf.ecp.view.model.preview.e3/.gitignore b/bundles/org.eclipse.emf.ecp.view.model.preview.e3/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.model.preview.e3/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.model.preview.e3/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.preview.e3/META-INF/MANIFEST.MF
index d7fe85d..09bb776 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.preview.e3/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.preview.e3/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Preview View
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.preview.e3;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.model.internal.preview.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.view.model.preview.common;bundle-version="[1.5.0,2.0.0)",
@@ -17,9 +17,9 @@
Bundle-ActivationPolicy: lazy
Bundle-Vendor: Eclipse Modeling Project
Export-Package: org.eclipse.emf.ecp.view.model.internal.preview;versio
- n="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.model.internal.pr
- eview.actions;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.vi
- ew.model.internal.preview.e3.views;version="1.5.1";x-internal:=true
+ n="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.model.internal.pr
+ eview.actions;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.vi
+ ew.model.internal.preview.e3.views;version="1.6.0";x-internal:=true
Import-Package: org.eclipse.core.commands;version="0.0.0",
org.eclipse.jface.action;version="0.0.0",
org.eclipse.jface.dialogs;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.view.model.preview.e3/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.preview.e3/pom.xml
index a508055..838181c 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.preview.e3/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.preview.e3/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.model.preview.e3</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/.settings/.api_filters
index 7d74083..26a54d5 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.model.provider.xmi" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.ui.view"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.model.provider.xmi_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.model.provider.xmi_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.model.provider.xmi_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/META-INF/MANIFEST.MF
index 047c196..353783e 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/META-INF/MANIFEST.MF
@@ -2,16 +2,18 @@
Bundle-ManifestVersion: 2
Bundle-Name: XMI View Model Provider
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.provider.xmi;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.internal.view.model.provider.xmi.Activator
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8.0",
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.ecore.xmi;bundle-version="2.8.0",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)";visibility:=reexport
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.ecp.internal.view.model.provider.xmi;v
- ersion="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.model.provid
- er.xmi;version="1.5.1";x-friends:="org.eclipse.emf.ecp.ui.view.editor
+ ersion="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.model.provid
+ er.xmi;version="1.6.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor
.controls"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/pom.xml b/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/pom.xml
index 9a80f04..3c368e9 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/src/org/eclipse/emf/ecp/internal/view/model/provider/xmi/Activator.java b/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/src/org/eclipse/emf/ecp/internal/view/model/provider/xmi/Activator.java
index c83a865..cec57cb 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/src/org/eclipse/emf/ecp/internal/view/model/provider/xmi/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/src/org/eclipse/emf/ecp/internal/view/model/provider/xmi/Activator.java
@@ -11,10 +11,10 @@
******************************************************************************/
package org.eclipse.emf.ecp.internal.view.model.provider.xmi;
-import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
+import org.eclipse.emfforms.spi.common.report.ReportService;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
/**
* Activator of the bundle.
@@ -31,6 +31,8 @@
private static Activator activator;
+ private static ServiceReference<ReportService> reportServiceReference;
+
/**
*
* {@inheritDoc}
@@ -55,12 +57,15 @@
}
/**
- * Logs an exception.
+ * Returns the {@link ReportService}.
*
- * @param e the exception
+ * @return the {@link ReportService}
*/
- public static void log(Exception e) {
- activator.getLog().log(
- new Status(IStatus.ERROR, PLUGIN_ID, e.getMessage(), e));
+ public static ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = activator.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return activator.getBundle().getBundleContext().getService(reportServiceReference);
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/src/org/eclipse/emf/ecp/view/model/provider/xmi/ViewModelFileExtensionsManager.java b/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/src/org/eclipse/emf/ecp/view/model/provider/xmi/ViewModelFileExtensionsManager.java
index b2c94e4..1eb42e4 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/src/org/eclipse/emf/ecp/view/model/provider/xmi/ViewModelFileExtensionsManager.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.provider.xmi/src/org/eclipse/emf/ecp/view/model/provider/xmi/ViewModelFileExtensionsManager.java
@@ -18,6 +18,7 @@
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
@@ -28,9 +29,11 @@
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
import org.eclipse.emf.ecp.internal.view.model.provider.xmi.Activator;
+import org.eclipse.emf.ecp.view.spi.model.LocalizationAdapter;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
-import org.eclipse.emf.ecp.view.spi.model.util.ViewModelUtil;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
/**
* Manages the view models provided by the file extension point.
@@ -65,11 +68,8 @@
return instance;
}
- /**
- *
- */
private void init() {
- final Map<URI, Map<String, String>> extensionURIS = getExtensionURIS();
+ final Map<URI, ExtensionDescription> extensionURIS = getExtensionURIS();
for (final URI uri : extensionURIS.keySet()) {
final Resource resource = loadResource(uri);
final EObject eObject = resource.getContents().get(0);
@@ -78,14 +78,24 @@
continue;
}
final VView view = (VView) eObject;
+
if (view.getRootEClass() == null) {
// TODO:log
continue;
}
+ final ExtensionDescription extensionDescription = extensionURIS.get(uri);
+ view.eAdapters().add(new LocalizationAdapter() {
+
+ @Override
+ public String localize(String key) {
+ return LocalizationServiceHelper.getString(Platform.getBundle(extensionDescription.getBundleId()),
+ key);
+ }
+ });
if (!map.containsKey(view.getRootEClass())) {
map.put(view.getRootEClass(), new LinkedHashMap<VView, Map<String, String>>());
}
- map.get(view.getRootEClass()).put(view, extensionURIS.get(uri));
+ map.get(view.getRootEClass()).put(view, extensionDescription.getKeyValuPairs());
}
}
@@ -111,11 +121,7 @@
try {
resource.load(loadOptions);
} catch (final IOException exception) {
- Activator.log(exception);
- if (ViewModelUtil.isDebugMode()) {
- dispose();
- throw new IllegalStateException(exception);
- }
+ Activator.getReportService().report(new AbstractReport(exception));
}
return resource;
}
@@ -131,12 +137,13 @@
*
* @return a list of uris of all xmi files registered
*/
- public static Map<URI, Map<String, String>> getExtensionURIS() {
- final Map<URI, Map<String, String>> ret = new LinkedHashMap<URI, Map<String, String>>();
+ public static Map<URI, ExtensionDescription> getExtensionURIS() {
+ final Map<URI, ExtensionDescription> ret = new LinkedHashMap<URI, ExtensionDescription>();
final IConfigurationElement[] files = Platform.getExtensionRegistry().getConfigurationElementsFor(
FILE_EXTENSION);
final URIConverter converter = new ResourceSetImpl().getURIConverter();
for (final IConfigurationElement file : files) {
+ final String bundleId = file.getContributor().getName();
final String filePath = file.getAttribute(FILEPATH_ATTRIBUTE);
final IConfigurationElement[] children = file.getChildren(FILTER_ELEMENT);
@@ -152,11 +159,11 @@
final String path = bundleName + '/' + filePath;
uri = URI.createPlatformPluginURI(path, false);
if (converter.exists(uri, null)) {
- ret.put(uri, keyValuePairs);
+ ret.put(uri, new ExtensionDescription(keyValuePairs, bundleId));
} else {
uri = URI.createPlatformResourceURI(filePath, false);
if (converter.exists(uri, null)) {
- ret.put(uri, keyValuePairs);
+ ret.put(uri, new ExtensionDescription(keyValuePairs, bundleId));
}
}
@@ -211,7 +218,45 @@
}
}
- return EcoreUtil.copy(bestFitting);
+ final Adapter adapter = bestFitting.eAdapters().get(0);
+ final VView copiedView = EcoreUtil.copy(bestFitting);
+ copiedView.eAdapters().add(adapter);
+ return copiedView;
+ }
+
+ /**
+ *
+ * Inner class to hold the relevant data of the extension point.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+ static final class ExtensionDescription {
+ private final Map<String, String> keyValuPairs;
+ private final String bundleId;
+
+ private ExtensionDescription(Map<String, String> keyValuPairs, String bundleId) {
+ this.keyValuPairs = keyValuPairs;
+ this.bundleId = bundleId;
+ }
+
+ /**
+ * Return the KeyValuePairs defined in the extension point.
+ *
+ * @return The KeyValuePair Map
+ */
+ Map<String, String> getKeyValuPairs() {
+ return keyValuPairs;
+ }
+
+ /**
+ * The Bundle Id of the bundle contributing the extension point.
+ *
+ * @return The BundleId
+ */
+ String getBundleId() {
+ return bundleId;
+ }
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.model/.gitignore b/bundles/org.eclipse.emf.ecp.view.model/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.model/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.model/.settings/.api_filters
index fc8dd4b..35b03c1 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.model/.settings/.api_filters
@@ -13,6 +13,36 @@
<message_argument value="1.3.0"/>
</message_arguments>
</filter>
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305324134">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.model_1.6.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305324134">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.model_1.6.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305324134">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.model_1.6.0"/>
+ </message_arguments>
+ </filter>
</resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/model/LabelAlignment.java" type="org.eclipse.emf.ecp.view.spi.model.LabelAlignment">
<filter id="305365105">
@@ -49,6 +79,146 @@
</filter>
</resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/model/VViewPackage.java" type="org.eclipse.emf.ecp.view.spi.model.VViewPackage">
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINED_CONTAINER_FEATURE_COUNT"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINED_CONTAINER__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINED_CONTAINER__CHILDREN"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINED_CONTAINER__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINED_CONTAINER__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINED_CONTAINER__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINED_CONTAINER__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINED_ELEMENT_FEATURE_COUNT"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINED_ELEMENT__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINED_ELEMENT__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINED_ELEMENT__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINED_ELEMENT__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINED_ELEMENT__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINER_FEATURE_COUNT"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINER__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINER__CHILDREN"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINER__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINER__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINER__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTAINER__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
<filter comment="SPI" id="388194388">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
@@ -56,6 +226,62 @@
<message_argument value="8"/>
</message_arguments>
</filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTROL_FEATURE_COUNT"/>
+ <message_argument value="8"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTROL__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTROL__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTROL__DOMAIN_MODEL_REFERENCE"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTROL__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTROL__LABEL_ALIGNMENT"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTROL__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="CONTROL__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
<filter comment="SPI" id="388194388">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
@@ -70,6 +296,48 @@
<message_argument value="0"/>
</message_arguments>
</filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="ELEMENT_FEATURE_COUNT"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="ELEMENT__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="ELEMENT__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="ELEMENT__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="ELEMENT__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="ELEMENT__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
<filter comment="SPI change (1.3)" id="388194388">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
@@ -105,6 +373,69 @@
<message_argument value="8"/>
</message_arguments>
</filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="VIEW_FEATURE_COUNT"/>
+ <message_argument value="9"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="VIEW__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="VIEW__CHILDREN"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="VIEW__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="VIEW__ECORE_PATH"/>
+ <message_argument value="8"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="VIEW__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="VIEW__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="VIEW__ROOT_ECLASS"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Added Label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage"/>
+ <message_argument value="VIEW__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
</resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/model/VViewPackage.java" type="org.eclipse.emf.ecp.view.spi.model.VViewPackage$Literals">
<filter comment="SPI" id="403767336">
@@ -125,6 +456,12 @@
<message_argument value="DOMAIN_MODEL_REFERENCE__CHANGE_LISTENER"/>
</message_arguments>
</filter>
+ <filter comment="Added Label field in 1.6" id="403767336">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage.Literals"/>
+ <message_argument value="ELEMENT__LABEL"/>
+ </message_arguments>
+ </filter>
<filter comment="Internal Model Changes" id="403767336">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.model.VViewPackage.Literals"/>
@@ -132,6 +469,20 @@
</message_arguments>
</filter>
</resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/model/impl/Activator.java" type="org.eclipse.emf.ecp.view.spi.model.impl.Activator">
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.impl.Activator"/>
+ <message_argument value="getReportService()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.impl.Activator"/>
+ <message_argument value="log(AbstractReport)"/>
+ </message_arguments>
+ </filter>
+ </resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/model/impl/VFeaturePathDomainModelReferenceImpl.java" type="org.eclipse.emf.ecp.view.spi.model.impl.VFeaturePathDomainModelReferenceImpl">
<filter comment="SPI change (1.3)" id="338792546">
<message_arguments>
@@ -140,6 +491,20 @@
</message_arguments>
</filter>
</resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/model/reporting/DomainModelReferenceResolutionFailedReport.java" type="org.eclipse.emf.ecp.view.spi.model.reporting.DomainModelReferenceResolutionFailedReport">
+ <filter comment="SPI Change in 1.6" id="338849923">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.DomainModelReferenceResolutionFailedReport"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/model/reporting/StatusReport.java" type="org.eclipse.emf.ecp.view.spi.model.reporting.StatusReport">
+ <filter comment="SPI Change in 1.6" id="338849923">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.StatusReport"/>
+ </message_arguments>
+ </filter>
+ </resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/model/util/ViewModelUtil.java" type="org.eclipse.emf.ecp.view.spi.model.util.ViewModelUtil">
<filter comment="SPI change (1.3)" id="338792546">
<message_arguments>
diff --git a/bundles/org.eclipse.emf.ecp.view.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.model/META-INF/MANIFEST.MF
index 889b1b6..1bdb361 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.model/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
@@ -12,7 +12,8 @@
Bundle-ActivationPolicy: lazy
Bundle-Activator: org.eclipse.emf.ecp.view.spi.model.impl.Activator
Export-Package: org.eclipse.emf.ecp.view.model.internal.reporting;vers
- ion="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.spi.model;versi
- on="1.5.1",org.eclipse.emf.ecp.view.spi.model.impl;version="1.5.1",or
- g.eclipse.emf.ecp.view.spi.model.reporting;version="1.5.1",org.eclips
- e.emf.ecp.view.spi.model.util;version="1.5.1"
+ ion="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.spi.model;versi
+ on="1.6.0",org.eclipse.emf.ecp.view.spi.model.impl;version="1.6.0",or
+ g.eclipse.emf.ecp.view.spi.model.reporting;version="1.6.0",org.eclips
+ e.emf.ecp.view.spi.model.util;version="1.6.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.view.model/OSGI-INF/org.eclipse.emf.ecp.view.model.internal.reporting.LogConsumer.xml b/bundles/org.eclipse.emf.ecp.view.model/OSGI-INF/org.eclipse.emf.ecp.view.model.internal.reporting.LogConsumer.xml
new file mode 100644
index 0000000..8b26c11
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.model/OSGI-INF/org.eclipse.emf.ecp.view.model.internal.reporting.LogConsumer.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emf/ecp/view/model/internal/reporting/LogConsumer.java]-->
+<scr:component name="org.eclipse.emf.ecp.view.model.internal.reporting.LogConsumer" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+ <implementation class="org.eclipse.emf.ecp.view.model.internal.reporting.LogConsumer"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.common.report.ReportServiceConsumer"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.model/build.properties b/bundles/org.eclipse.emf.ecp.view.model/build.properties
index b7579f1..8ee1f64 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.model/build.properties
@@ -1,16 +1,17 @@
-#
-
-bin.includes = .,\
- model/,\
- META-INF/,\
- plugin.xml,\
- plugin.properties,\
- about.html,\
- about.ini,\
- about.mappings,\
- about.properties,\
- modeling32.png
-jars.compile.order = .
-source.. = src/
-output.. = bin/
-src.includes = about.html
+#
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html,\
+ about.ini,\
+ about.mappings,\
+ about.properties,\
+ modeling32.png,\
+ OSGI-INF/
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.model/model/view.ecore b/bundles/org.eclipse.emf.ecp.view.model/model/view.ecore
index a7937b4..cca89b0 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/model/view.ecore
+++ b/bundles/org.eclipse.emf.ecp.view.model/model/view.ecore
@@ -23,6 +23,8 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ transient="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="visible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
transient="true" defaultValueLiteral="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="enabled" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
diff --git a/bundles/org.eclipse.emf.ecp.view.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.model/pom.xml
index 4e6e2c0..2d4c691 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.model/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/model/internal/reporting/LogConsumer.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/model/internal/reporting/LogConsumer.java
index cb1d437..b1dca7c 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/model/internal/reporting/LogConsumer.java
+++ b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/model/internal/reporting/LogConsumer.java
@@ -11,9 +11,11 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.model.internal.reporting;
+import org.eclipse.core.runtime.IStatus;
import org.eclipse.emf.ecp.view.spi.model.impl.Activator;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer;
+import org.eclipse.emf.ecp.view.spi.model.util.ViewModelUtil;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportServiceConsumer;
/**
* A {@link ReportServiceConsumer} that logs all all received {@code ReportEntities}.
@@ -26,11 +28,13 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer#reported(org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport)
+ * @see org.eclipse.emfforms.spi.common.report.ReportServiceConsumer#reported(org.eclipse.emfforms.spi.common.report.AbstractReport)
*/
@Override
public void reported(AbstractReport reportEntity) {
- Activator.log(reportEntity);
+ if (reportEntity.getSeverity() > IStatus.INFO || ViewModelUtil.isDebugMode()) {
+ Activator.log(reportEntity);
+ }
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/model/internal/reporting/ReportServiceImpl.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/model/internal/reporting/ReportServiceImpl.java
deleted file mode 100644
index 7dc9e5a..0000000
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/model/internal/reporting/ReportServiceImpl.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Edgar Mueller - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.model.internal.reporting;
-
-import java.util.ArrayList;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer;
-
-/**
- * Implementation of a {@link ReportService}.
- *
- * @author emueller
- */
-public class ReportServiceImpl implements ReportService {
-
- private final List<AbstractReport> reports;
- private final Set<ReportServiceConsumer> consumers;
-
- /**
- * Constructor.
- */
- public ReportServiceImpl() {
- reports = new ArrayList<AbstractReport>();
- consumers = new LinkedHashSet<ReportServiceConsumer>();
- }
-
- /**
- * Report an {@link AbstractReport} to the service.
- *
- * @param reportEntity
- * the report entity
- */
- @Override
- public void report(AbstractReport reportEntity) {
- reports.add(reportEntity);
- for (final ReportServiceConsumer consumer : consumers) {
- consumer.reported(reportEntity);
- }
- }
-
- /**
- * Returns all ReportEntities.
- *
- * @return all ReportEntities
- */
- @Override
- public List<AbstractReport> getReports() {
- return reports;
- }
-
- /**
- * Discards all ReportEntities.
- */
- @Override
- public void clearReports() {
- reports.clear();
- }
-
- /**
- *
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.model.reporting.ReportService#addConsumer(org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer)
- */
- @Override
- public void addConsumer(ReportServiceConsumer consumer) {
- consumers.add(consumer);
- }
-
- /**
- *
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.model.reporting.ReportService#removeConsumer(org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer)
- */
- @Override
- public void removeConsumer(ReportServiceConsumer consumer) {
- consumers.remove(consumer);
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/LocalizationAdapter.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/LocalizationAdapter.java
new file mode 100644
index 0000000..e5580ce
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/LocalizationAdapter.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.model;
+
+import org.eclipse.emf.common.notify.impl.AdapterImpl;
+
+/**
+ * Abstract definition of a LocalizationAdapter.
+ *
+ * @author Eugen Neufeld
+ * @since 1.6
+ *
+ */
+public abstract class LocalizationAdapter extends AdapterImpl {
+
+ /**
+ * Implement in order to localize a key.
+ *
+ * @param key The key to localize
+ * @return The localized String
+ */
+ public abstract String localize(String key);
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VDomainModelReference.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VDomainModelReference.java
index 159cd53..b79e4a7 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VDomainModelReference.java
+++ b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VDomainModelReference.java
@@ -55,6 +55,7 @@
* @model dataType="org.eclipse.emf.ecp.view.spi.model.DomainModelReferenceChangeListener" transient="true"
* @generated
*/
+ @Deprecated
EList<DomainModelReferenceChangeListener> getChangeListener();
/**
@@ -66,6 +67,7 @@
* @return true if resolution succeeded and false otherwise
* @since 1.3
*/
+ @Deprecated
boolean init(EObject object);
/**
@@ -74,6 +76,7 @@
*
* @return the {@link Iterator} for this domain model reference
*/
+ @Deprecated
Iterator<Setting> getIterator();
/**
@@ -84,6 +87,7 @@
* reference
* @since 1.3
*/
+ @Deprecated
Iterator<EStructuralFeature> getEStructuralFeatureIterator();
/**
@@ -93,6 +97,7 @@
* @return the {@link Iterator} over setting paths for this domain model reference
* @since 1.3
*/
+ @Deprecated
Iterator<SettingPath> getFullPathIterator();
} // VDomainModelReference
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VElement.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VElement.java
index 2026eef..bb38f7a 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VElement.java
+++ b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VElement.java
@@ -17,24 +17,27 @@
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Renderable</b></em>'.
- * <!-- end-user-doc -->
*
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.emf.ecp.view.spi.model.VElement#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.view.spi.model.VElement#isVisible <em>Visible</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.view.spi.model.VElement#isEnabled <em>Enabled</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.view.spi.model.VElement#isReadonly <em>Readonly</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.view.spi.model.VElement#getDiagnostic <em>Diagnostic</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.view.spi.model.VElement#getAttachments <em>Attachments</em>}</li>
- * </ul>
- * </p>
+ * @since 1.2
+ * @noimplement This interface is not intended to be implemented by clients.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.model.VElement#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.model.VElement#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.model.VElement#isVisible <em>Visible</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.model.VElement#isEnabled <em>Enabled</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.model.VElement#isReadonly <em>Readonly</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.model.VElement#getDiagnostic <em>Diagnostic</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.model.VElement#getAttachments <em>Attachments</em>}</li>
+ * </ul>
+ * </p>
*
* @see org.eclipse.emf.ecp.view.spi.model.VViewPackage#getElement()
* @model abstract="true"
* @generated
- * @since 1.2
*/
public interface VElement extends EObject {
@@ -66,6 +69,38 @@
void setName(String value);
/**
+ * Returns the value of the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Label</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Label</em>' attribute.
+ * @see #setLabel(String)
+ * @see org.eclipse.emf.ecp.view.spi.model.VViewPackage#getElement_Label()
+ * @model transient="true"
+ * @generated
+ */
+ String getLabel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.ecp.view.spi.model.VElement#getLabel <em>Label</em>}' attribute.
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @param value the new value of the '<em>Label</em>' attribute.
+ * @see #getLabel()
+ * @generated
+ */
+ void setLabel(String value);
+
+ /**
* Returns the value of the '<em><b>Visible</b></em>' attribute.
* The default value is <code>"true"</code>.
* <!-- begin-user-doc -->
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VElementUtil.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VElementUtil.java
new file mode 100644
index 0000000..9440e00
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VElementUtil.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.model;
+
+/**
+ * This class provides helper methods for working with VElements.
+ *
+ * @author Eugen Neufeld
+ * @since 1.6
+ *
+ */
+public final class VElementUtil {
+
+ private VElementUtil() {
+ // intentionally left empty
+ }
+
+ /**
+ * Return the cleaned Name of the {@link VElement}.
+ *
+ * @param vElement The {@link VElement} to get the cleaned name for
+ * @return the cleaned name
+ */
+ public static String getCleanName(VElement vElement) {
+ if (vElement.getName() != null && vElement.getName().startsWith("%")) { //$NON-NLS-1$
+ return vElement.getName().substring(1);
+ }
+ return vElement.getName();
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VViewPackage.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VViewPackage.java
index 00493ee..3c9ff18 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VViewPackage.java
+++ b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/VViewPackage.java
@@ -30,11 +30,11 @@
* </ul>
*
* @noimplement This interface is not intended to be implemented by clients.
- * <!-- end-user-doc -->
+ * @since 1.2
+ * <!-- end-user-doc -->
* @see org.eclipse.emf.ecp.view.spi.model.VViewFactory
* @model kind="package"
* @generated
- * @since 1.2
*/
public interface VViewPackage extends EPackage {
/**
@@ -208,11 +208,12 @@
/**
* The feature id for the '<em><b>Change Listener</b></em>' attribute list.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.3
+ * <!-- end-user-doc -->
*
* @generated
* @ordered
- * @since 1.3
*/
int FEATURE_PATH_DOMAIN_MODEL_REFERENCE__CHANGE_LISTENER = DOMAIN_MODEL_REFERENCE__CHANGE_LISTENER;
@@ -257,6 +258,18 @@
int ELEMENT__NAME = 0;
/**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT__LABEL = 1;
+
+ /**
* The feature id for the '<em><b>Visible</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -264,7 +277,7 @@
* @generated
* @ordered
*/
- int ELEMENT__VISIBLE = 1;
+ int ELEMENT__VISIBLE = 2;
/**
* The feature id for the '<em><b>Enabled</b></em>' attribute.
@@ -274,7 +287,7 @@
* @generated
* @ordered
*/
- int ELEMENT__ENABLED = 2;
+ int ELEMENT__ENABLED = 3;
/**
* The feature id for the '<em><b>Readonly</b></em>' attribute.
@@ -284,7 +297,7 @@
* @generated
* @ordered
*/
- int ELEMENT__READONLY = 3;
+ int ELEMENT__READONLY = 4;
/**
* The feature id for the '<em><b>Diagnostic</b></em>' containment reference.
@@ -294,7 +307,7 @@
* @generated
* @ordered
*/
- int ELEMENT__DIAGNOSTIC = 4;
+ int ELEMENT__DIAGNOSTIC = 5;
/**
* The feature id for the '<em><b>Attachments</b></em>' containment reference list.
@@ -304,7 +317,7 @@
* @generated
* @ordered
*/
- int ELEMENT__ATTACHMENTS = 5;
+ int ELEMENT__ATTACHMENTS = 6;
/**
* The number of structural features of the '<em>Element</em>' class.
@@ -314,7 +327,7 @@
* @generated
* @ordered
*/
- int ELEMENT_FEATURE_COUNT = 6;
+ int ELEMENT_FEATURE_COUNT = 7;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -327,6 +340,18 @@
int VIEW__NAME = ELEMENT__NAME;
/**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VIEW__LABEL = ELEMENT__LABEL;
+
+ /**
* The feature id for the '<em><b>Visible</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -441,6 +466,18 @@
int CONTAINED_ELEMENT__NAME = ELEMENT__NAME;
/**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINED_ELEMENT__LABEL = ELEMENT__LABEL;
+
+ /**
* The feature id for the '<em><b>Visible</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -523,6 +560,18 @@
int CONTAINER__NAME = ELEMENT__NAME;
/**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTAINER__LABEL = ELEMENT__LABEL;
+
+ /**
* The feature id for the '<em><b>Visible</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -596,100 +645,121 @@
* The meta object id for the '{@link org.eclipse.emf.ecp.view.spi.model.impl.VContainedContainerImpl
* <em>Contained Container</em>}' class.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.4
+ * <!-- end-user-doc -->
*
* @see org.eclipse.emf.ecp.view.spi.model.impl.VContainedContainerImpl
* @see org.eclipse.emf.ecp.view.spi.model.impl.VViewPackageImpl#getContainedContainer()
* @generated
- * @since 1.4
*/
int CONTAINED_CONTAINER = 8;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.4
+ * <!-- end-user-doc -->
*
* @generated
* @ordered
- * @since 1.4
*/
int CONTAINED_CONTAINER__NAME = CONTAINED_ELEMENT__NAME;
/**
- * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * The feature id for the '<em><b>Label</b></em>' attribute.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
*
* @generated
* @ordered
+ */
+ int CONTAINED_CONTAINER__LABEL = CONTAINED_ELEMENT__LABEL;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ *
* @since 1.4
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
*/
int CONTAINED_CONTAINER__VISIBLE = CONTAINED_ELEMENT__VISIBLE;
/**
* The feature id for the '<em><b>Enabled</b></em>' attribute.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.4
+ * <!-- end-user-doc -->
*
* @generated
* @ordered
- * @since 1.4
*/
int CONTAINED_CONTAINER__ENABLED = CONTAINED_ELEMENT__ENABLED;
/**
* The feature id for the '<em><b>Readonly</b></em>' attribute.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.4
+ * <!-- end-user-doc -->
*
* @generated
* @ordered
- * @since 1.4
*/
int CONTAINED_CONTAINER__READONLY = CONTAINED_ELEMENT__READONLY;
/**
* The feature id for the '<em><b>Diagnostic</b></em>' containment reference.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.4
+ * <!-- end-user-doc -->
*
* @generated
* @ordered
- * @since 1.4
*/
int CONTAINED_CONTAINER__DIAGNOSTIC = CONTAINED_ELEMENT__DIAGNOSTIC;
/**
* The feature id for the '<em><b>Attachments</b></em>' containment reference list.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.4
+ * <!-- end-user-doc -->
*
* @generated
* @ordered
- * @since 1.4
*/
int CONTAINED_CONTAINER__ATTACHMENTS = CONTAINED_ELEMENT__ATTACHMENTS;
/**
* The feature id for the '<em><b>Children</b></em>' containment reference list.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.4
+ * <!-- end-user-doc -->
*
* @generated
* @ordered
- * @since 1.4
*/
int CONTAINED_CONTAINER__CHILDREN = CONTAINED_ELEMENT_FEATURE_COUNT + 0;
/**
* The number of structural features of the '<em>Contained Container</em>' class.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.4
+ * <!-- end-user-doc -->
*
* @generated
* @ordered
- * @since 1.4
*/
int CONTAINED_CONTAINER_FEATURE_COUNT = CONTAINED_ELEMENT_FEATURE_COUNT + 1;
@@ -704,6 +774,18 @@
int CONTROL__NAME = CONTAINED_ELEMENT__NAME;
/**
+ * The feature id for the '<em><b>Label</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTROL__LABEL = CONTAINED_ELEMENT__LABEL;
+
+ /**
* The feature id for the '<em><b>Visible</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -832,6 +914,21 @@
EAttribute getElement_Name();
/**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.ecp.view.spi.model.VElement#getLabel
+ * <em>Label</em>}'.
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Label</em>'.
+ * @see org.eclipse.emf.ecp.view.spi.model.VElement#getLabel()
+ * @see #getElement()
+ * @generated
+ */
+ EAttribute getElement_Label();
+
+ /**
* Returns the meta object for the attribute '{@link org.eclipse.emf.ecp.view.spi.model.VElement#isVisible
* <em>Visible</em>}'.
* <!-- begin-user-doc -->
@@ -961,13 +1058,14 @@
* Returns the meta object for the attribute '{@link org.eclipse.emf.ecp.view.spi.model.VView#getEcorePath
* <em>Ecore Path</em>}'.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.3
+ * <!-- end-user-doc -->
*
* @return the meta object for the attribute '<em>Ecore Path</em>'.
* @see org.eclipse.emf.ecp.view.spi.model.VView#getEcorePath()
* @see #getView()
* @generated
- * @since 1.3
*/
EAttribute getView_EcorePath();
@@ -1035,12 +1133,13 @@
* Returns the meta object for class '{@link org.eclipse.emf.ecp.view.spi.model.VContainedContainer
* <em>Contained Container</em>}'.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.4
+ * <!-- end-user-doc -->
*
* @return the meta object for class '<em>Contained Container</em>'.
* @see org.eclipse.emf.ecp.view.spi.model.VContainedContainer
* @generated
- * @since 1.4
*/
EClass getContainedContainer();
@@ -1208,6 +1307,17 @@
EAttribute ELEMENT__NAME = eINSTANCE.getElement_Name();
/**
+ * The meta object literal for the '<em><b>Label</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ELEMENT__LABEL = eINSTANCE.getElement_Label();
+
+ /**
* The meta object literal for the '<em><b>Visible</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1371,12 +1481,13 @@
* The meta object literal for the '{@link org.eclipse.emf.ecp.view.spi.model.impl.VContainedContainerImpl
* <em>Contained Container</em>}' class.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.4
+ * <!-- end-user-doc -->
*
* @see org.eclipse.emf.ecp.view.spi.model.impl.VContainedContainerImpl
* @see org.eclipse.emf.ecp.view.spi.model.impl.VViewPackageImpl#getContainedContainer()
* @generated
- * @since 1.4
*/
EClass CONTAINED_CONTAINER = eINSTANCE.getContainedContainer();
@@ -1404,12 +1515,13 @@
/**
* The meta object literal for the '<em>Domain Model Reference Change Listener</em>' data type.
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.3
+ * <!-- end-user-doc -->
*
* @see org.eclipse.emf.ecp.view.spi.model.DomainModelReferenceChangeListener
* @see org.eclipse.emf.ecp.view.spi.model.impl.VViewPackageImpl#getDomainModelReferenceChangeListener()
* @generated
- * @since 1.3
*/
EDataType DOMAIN_MODEL_REFERENCE_CHANGE_LISTENER = eINSTANCE.getDomainModelReferenceChangeListener();
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/Activator.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/Activator.java
index 7512caf..bc1558d 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/Activator.java
@@ -15,11 +15,12 @@
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.ecp.view.model.internal.reporting.LogConsumer;
-import org.eclipse.emf.ecp.view.model.internal.reporting.ReportServiceImpl;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.common.report.ReportServiceConsumer;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
/**
* @author Eugen Neufeld
@@ -39,6 +40,8 @@
private ServiceReference<ReportService> reportServiceReference;
+ private ServiceRegistration<ReportServiceConsumer> registerLogConsumerService;
+
/**
* The constructor.
*/
@@ -49,16 +52,16 @@
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
- final ReportService reportService = new ReportServiceImpl();
- context.registerService(ReportService.class, reportService, null);
- reportService.addConsumer(new LogConsumer());
+ final LogConsumer logConsumer = new LogConsumer();
+ registerLogConsumerService = context.registerService(ReportServiceConsumer.class, logConsumer, null);
plugin = this;
}
@Override
public void stop(BundleContext context) throws Exception {
- super.stop(context);
+ registerLogConsumerService.unregister();
plugin = null;
+ super.stop(context);
}
// END SUPRESS CATCH EXCEPTION
@@ -98,7 +101,7 @@
*
* @param report
* the {@link AbstractReport} to be logged
- * @since 1.5
+ * @since 1.6
*/
public static void log(AbstractReport report) {
getDefault().getLog().log(
@@ -112,7 +115,7 @@
* Returns the {@link ReportService}.
*
* @return the {@link ReportService}
- * @since 1.5
+ * @since 1.6
*/
public ReportService getReportService() {
if (reportServiceReference == null) {
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/VElementImpl.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/VElementImpl.java
index fefa0e0..0d42310 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/VElementImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/VElementImpl.java
@@ -30,21 +30,23 @@
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Renderable</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.emf.ecp.view.spi.model.impl.VElementImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.view.spi.model.impl.VElementImpl#isVisible <em>Visible</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.view.spi.model.impl.VElementImpl#isEnabled <em>Enabled</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.view.spi.model.impl.VElementImpl#isReadonly <em>Readonly</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.view.spi.model.impl.VElementImpl#getDiagnostic <em>Diagnostic</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.view.spi.model.impl.VElementImpl#getAttachments <em>Attachments</em>}</li>
- * </ul>
- * </p>
+ *
+ * @since 1.2
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.model.impl.VElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.model.impl.VElementImpl#getLabel <em>Label</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.model.impl.VElementImpl#isVisible <em>Visible</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.model.impl.VElementImpl#isEnabled <em>Enabled</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.model.impl.VElementImpl#isReadonly <em>Readonly</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.model.impl.VElementImpl#getDiagnostic <em>Diagnostic</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.spi.model.impl.VElementImpl#getAttachments <em>Attachments</em>}</li>
+ * </ul>
+ * </p>
*
* @generated
- * @since 1.2
*/
public abstract class VElementImpl extends EObjectImpl implements VElement
{
@@ -71,6 +73,32 @@
protected String name = NAME_EDEFAULT;
/**
+ * The default value of the '{@link #getLabel() <em>Label</em>}' attribute.
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute.
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @see #getLabel()
+ * @generated
+ * @ordered
+ */
+ protected String label = LABEL_EDEFAULT;
+
+ /**
* The default value of the '{@link #isVisible() <em>Visible</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -211,6 +239,38 @@
/**
* <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLabel()
+ {
+ return label;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLabel(String newLabel)
+ {
+ final String oldLabel = label;
+ label = newLabel;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, VViewPackage.ELEMENT__LABEL, oldLabel, label));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
* @generated
@@ -408,6 +468,8 @@
{
case VViewPackage.ELEMENT__NAME:
return getName();
+ case VViewPackage.ELEMENT__LABEL:
+ return getLabel();
case VViewPackage.ELEMENT__VISIBLE:
return isVisible();
case VViewPackage.ELEMENT__ENABLED:
@@ -437,6 +499,9 @@
case VViewPackage.ELEMENT__NAME:
setName((String) newValue);
return;
+ case VViewPackage.ELEMENT__LABEL:
+ setLabel((String) newValue);
+ return;
case VViewPackage.ELEMENT__VISIBLE:
setVisible((Boolean) newValue);
return;
@@ -471,6 +536,9 @@
case VViewPackage.ELEMENT__NAME:
setName(NAME_EDEFAULT);
return;
+ case VViewPackage.ELEMENT__LABEL:
+ setLabel(LABEL_EDEFAULT);
+ return;
case VViewPackage.ELEMENT__VISIBLE:
setVisible(VISIBLE_EDEFAULT);
return;
@@ -503,6 +571,8 @@
{
case VViewPackage.ELEMENT__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case VViewPackage.ELEMENT__LABEL:
+ return LABEL_EDEFAULT == null ? label != null : !LABEL_EDEFAULT.equals(label);
case VViewPackage.ELEMENT__VISIBLE:
return visible != VISIBLE_EDEFAULT;
case VViewPackage.ELEMENT__ENABLED:
@@ -533,6 +603,8 @@
final StringBuffer result = new StringBuffer(super.toString());
result.append(" (name: "); //$NON-NLS-1$
result.append(name);
+ result.append(", label: "); //$NON-NLS-1$
+ result.append(label);
result.append(", visible: "); //$NON-NLS-1$
result.append(visible);
result.append(", enabled: "); //$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/VViewPackageImpl.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/VViewPackageImpl.java
index 6e26512..8f3db92 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/VViewPackageImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/impl/VViewPackageImpl.java
@@ -44,7 +44,6 @@
* @since 1.2
* <!--
* end-user-doc -->
- *
* @generated
*/
public class VViewPackageImpl extends EPackageImpl implements VViewPackage {
@@ -247,12 +246,14 @@
/**
* <!-- begin-user-doc -->
- * <!-- end-user-doc -->
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
*
* @generated
*/
@Override
- public EAttribute getElement_Visible()
+ public EAttribute getElement_Label()
{
return (EAttribute) elementEClass.getEStructuralFeatures().get(1);
}
@@ -264,7 +265,7 @@
* @generated
*/
@Override
- public EAttribute getElement_Enabled()
+ public EAttribute getElement_Visible()
{
return (EAttribute) elementEClass.getEStructuralFeatures().get(2);
}
@@ -276,7 +277,7 @@
* @generated
*/
@Override
- public EAttribute getElement_Readonly()
+ public EAttribute getElement_Enabled()
{
return (EAttribute) elementEClass.getEStructuralFeatures().get(3);
}
@@ -288,9 +289,21 @@
* @generated
*/
@Override
+ public EAttribute getElement_Readonly()
+ {
+ return (EAttribute) elementEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public EReference getElement_Diagnostic()
{
- return (EReference) elementEClass.getEStructuralFeatures().get(4);
+ return (EReference) elementEClass.getEStructuralFeatures().get(5);
}
/**
@@ -302,7 +315,7 @@
@Override
public EReference getElement_Attachments()
{
- return (EReference) elementEClass.getEStructuralFeatures().get(5);
+ return (EReference) elementEClass.getEStructuralFeatures().get(6);
}
/**
@@ -436,7 +449,6 @@
*
* @since 1.4
* <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -462,7 +474,6 @@
*
* @since 1.3
* <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -606,6 +617,7 @@
elementEClass = createEClass(ELEMENT);
createEAttribute(elementEClass, ELEMENT__NAME);
+ createEAttribute(elementEClass, ELEMENT__LABEL);
createEAttribute(elementEClass, ELEMENT__VISIBLE);
createEAttribute(elementEClass, ELEMENT__ENABLED);
createEAttribute(elementEClass, ELEMENT__READONLY);
@@ -714,6 +726,10 @@
theEcorePackage.getEString(),
"name", null, 0, 1, VElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(
+ getElement_Label(),
+ ecorePackage.getEString(),
+ "label", null, 0, 1, VElement.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(
getElement_Visible(),
ecorePackage.getEBoolean(),
"visible", "true", 0, 1, VElement.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
@@ -800,7 +816,6 @@
*
* @since 1.5
* <!-- end-user-doc -->
- *
* @generated
*/
protected void createEcoreAnnotations()
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/AbstractReport.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/AbstractReport.java
deleted file mode 100644
index e6ad581..0000000
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/AbstractReport.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Edgar Mueller - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.spi.model.reporting;
-
-/**
- * Common base type for reports that may be reported to the {@link ReportService}.
- *
- * @author emueller
- * @since 1.5
- *
- */
-public class AbstractReport {
-
- private Throwable exception;
- private String message;
- private final int severity;
-
- /**
- * <p>
- * Default constructor.
- * </p>
- *
- * Sets the severity to <code>IStatus.ERROR</code>.
- */
- public AbstractReport() {
- exception = null;
- severity = 4; // == IStatus.ERROR
- }
-
- /**
- * <p>
- * Constructor.
- * </p>
- *
- * Sets the severity to <code>IStatus.ERROR</code>.
- *
- * @param exception
- * the exception this report is based on
- */
- public AbstractReport(Throwable exception) {
- this.exception = exception;
- severity = 4; // == IStatus.ERROR
- }
-
- /**
- * <p>
- * Constructor.
- * </p>
- *
- * Sets the severity to <code>IStatus.ERROR</code>.
- *
- * @param message
- * the report message
- */
- public AbstractReport(String message) {
- this.message = message;
- severity = 4; // == IStatus.ERROR
- }
-
- /**
- * <p>
- * Constructor.
- * </p>
- *
- * Sets the severity to <code>IStatus.ERROR</code>.
- *
- * @param message
- * the report message
- * @param severity
- * the severity of the report
- */
- public AbstractReport(String message, int severity) {
- this.message = message;
- this.severity = severity;
- }
-
- /**
- * <p>
- * Constructor.
- * </p>
- *
- * Sets the severity to <code>IStatus.ERROR</code>.
- *
- * @param exception
- * the exception this report is based on
- * @param message
- * the report message
- */
- public AbstractReport(Throwable exception, String message) {
- this.exception = exception;
- this.message = message;
- severity = 4; // == IStatus.ERROR
- }
-
- /**
- * Constructor.
- *
- * @param exception
- * the exception this report is based on
- * @param severity
- * the severity of the report
- */
- public AbstractReport(Throwable exception, int severity) {
- this.exception = exception;
- this.severity = severity;
- }
-
- /**
- * Returns the report message.
- *
- * @return the report message
- */
- public String getMessage() {
- return message;
- }
-
- /**
- * Whether this report is based upon an exception.
- *
- * @return {@code true}, if this report is based upon an exception, {@code false} otherwise
- */
- public boolean hasException() {
- return getException() != null;
- }
-
- /**
- * Returns the exception this report is based on, if any.
- *
- * @return the exception this report is based on, if any, otherwise {@code null}
- *
- *
- * @see #hasException()
- */
- public Throwable getException() {
- return exception;
- }
-
- /**
- * Returns the status of this report.
- *
- * @return the status of this report
- *
- */
- public int getSeverity() {
- return severity;
- }
-
- /**
- * Sets the exception this report is based on.
- *
- * @param exception
- * the exception this report is based on
- *
- * @see #hasException()
- */
- protected void setException(Throwable exception) {
- this.exception = exception;
- }
-
- /**
- * Sets the report' message.
- *
- * @param message
- * the report message to set
- */
- protected void setMessage(String message) {
- this.message = message;
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/DomainModelReferenceResolutionFailedReport.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/DomainModelReferenceResolutionFailedReport.java
index 3a65642..862a2c0 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/DomainModelReferenceResolutionFailedReport.java
+++ b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/DomainModelReferenceResolutionFailedReport.java
@@ -15,6 +15,7 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
/**
* Indicates that a {@link org.eclipse.emf.ecp.view.spi.model.VDomainModelReference VDomainModelReference} could not be
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/ReportService.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/ReportService.java
deleted file mode 100644
index c33f92c..0000000
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/ReportService.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Edgar Mueller - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.spi.model.reporting;
-
-import java.util.List;
-
-/**
- * Service for reporting and aggregating errors.
- *
- * @author emueller
- * @since 1.5
- */
-public interface ReportService {
-
- /**
- * Report an {@link AbstractReport} to the service.
- *
- * @param reportEntity
- * the report entity
- */
- void report(AbstractReport reportEntity);
-
- /**
- * Returns all ReportEntities.
- *
- * @return all ReportEntities
- */
- List<AbstractReport> getReports();
-
- /**
- * Discards all ReportEntities.
- */
- void clearReports();
-
- /**
- * Adds a {@link ReportServiceConsumer} that consumes {@code ReportEntities}.
- *
- * @param consumer
- * a {@link ReportServiceConsumer}
- */
- void addConsumer(ReportServiceConsumer consumer);
-
- /**
- * Removes a {@link ReportServiceConsumer}.
- *
- * @param consumer
- * the consumer to be removed
- */
- void removeConsumer(ReportServiceConsumer consumer);
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/ReportServiceConsumer.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/ReportServiceConsumer.java
deleted file mode 100644
index b1c2587..0000000
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/ReportServiceConsumer.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Edgar Mueller - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.spi.model.reporting;
-
-/**
- * Common base types for any {@link AbstractReport} consumer that may
- * be added to the {@link ReportService} in order to be notified.
- *
- * @author emueller
- * @since 1.5
- */
-public interface ReportServiceConsumer {
-
- /**
- * Called when a {@link AbstractReport} has been received
- * by the {@link ReportService}.
- *
- * @param reportEntity
- * the received {@link AbstractReport}
- */
- void reported(AbstractReport reportEntity);
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/StatusReport.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/StatusReport.java
index ecf63f4..d78d6de 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/StatusReport.java
+++ b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/reporting/StatusReport.java
@@ -12,6 +12,7 @@
package org.eclipse.emf.ecp.view.spi.model.reporting;
import org.eclipse.core.runtime.Status;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
/**
* A {@link Status} that may be passed to the report service.
@@ -37,7 +38,7 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport#getMessage()
+ * @see org.eclipse.emfforms.spi.common.report.AbstractReport#getMessage()
*/
@Override
public String getMessage() {
@@ -48,7 +49,7 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport#hasException()
+ * @see org.eclipse.emfforms.spi.common.report.AbstractReport#hasException()
*/
@Override
public boolean hasException() {
@@ -59,7 +60,7 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport#getException()
+ * @see org.eclipse.emfforms.spi.common.report.AbstractReport#getException()
*/
@Override
public Throwable getException() {
@@ -70,7 +71,7 @@
*
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport#getSeverity()
+ * @see org.eclipse.emfforms.spi.common.report.AbstractReport#getSeverity()
*/
@Override
public int getSeverity() {
diff --git a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/util/ViewModelUtil.java b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/util/ViewModelUtil.java
index 3e11e04..c7307b2 100644
--- a/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/util/ViewModelUtil.java
+++ b/bundles/org.eclipse.emf.ecp.view.model/src/org/eclipse/emf/ecp/view/spi/model/util/ViewModelUtil.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -64,14 +64,9 @@
return;
}
final boolean init = control.getDomainModelReference().init(domainModelRoot);
- if (!init && ViewModelUtil.isDebugMode()) {
- // report only in debug mode
- Activator.getDefault()
- .getReportService()
- .report(
- new DomainModelReferenceResolutionFailedReport(
- control.getDomainModelReference(),
- control));
+ if (!init) {
+ Activator.getDefault().getReportService()
+ .report(new DomainModelReferenceResolutionFailedReport(control.getDomainModelReference(), control));
}
}
// XXX get rid of the following code as soon as possible!
@@ -83,14 +78,9 @@
for (final EObject object : element.eContents()) {
if (VDomainModelReference.class.isInstance(object)) {
final boolean init = VDomainModelReference.class.cast(object).init(domainModelRoot);
- if (!init && ViewModelUtil.isDebugMode()) {
- // report only in debug mode
- Activator.getDefault()
- .getReportService()
- .report(
- new DomainModelReferenceResolutionFailedReport(
- VDomainModelReference.class.cast(object),
- element));
+ if (!init) {
+ Activator.getDefault().getReportService().report(new DomainModelReferenceResolutionFailedReport(
+ VDomainModelReference.class.cast(object), element));
}
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.rule.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.rule.model.edit/.settings/.api_filters
index 7e831d2..20fd522 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.rule.model.edit/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.rule.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model.edit"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.rule.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.rule.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.rule.model.edit_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.rule.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.rule.model.edit/META-INF/MANIFEST.MF
index 9f5d64c..5025292 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.rule.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: Rule Model Edit Plugin
Bundle-SymbolicName: org.eclipse.emf.ecp.view.rule.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.rule.model.provider.RuleEditPlugin$Implementation
Bundle-Vendor: Eclipse Modeling Project
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.rule.model.provider;versi
- on="1.5.1"
+ on="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.rule.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.rule.model.edit/pom.xml
index f2cd217..062351b 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.rule.model.edit/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.rule.model.edit</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.rule.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.rule.model/.settings/.api_filters
index c97bcb3..aa165d0 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.rule.model/.settings/.api_filters
@@ -7,10 +7,34 @@
<message_argument value="1.4.0"/>
</message_arguments>
</filter>
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.rule.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.rule.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.rule.model_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.rule.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.rule.model/META-INF/MANIFEST.MF
index 34cca73..3202a55 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.rule.model/META-INF/MANIFEST.MF
@@ -2,16 +2,20 @@
Bundle-ManifestVersion: 2
Bundle-Name: Rule Model Plugin
Bundle-SymbolicName: org.eclipse.emf.ecp.view.rule.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: Eclipse Modeling Project
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.view.spi.rule.model;version="1.5.1
- ",org.eclipse.emf.ecp.view.spi.rule.model.impl;version="1.5.1",org.ec
- lipse.emf.ecp.view.spi.rule.model.util;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.spi.rule.model;version="1.6.0
+ ",org.eclipse.emf.ecp.view.spi.rule.model.impl;version="1.6.0",org.ec
+ lipse.emf.ecp.view.spi.rule.model.util;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.ecp.common;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.common;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)"
Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.emf.ecp.view.spi.rule.model.Activator
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0"
diff --git a/bundles/org.eclipse.emf.ecp.view.rule.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.rule.model/pom.xml
index aef20fd..131c8ce 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.rule.model/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.rule.model</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.rule.model/src/org/eclipse/emf/ecp/view/spi/rule/model/Activator.java b/bundles/org.eclipse.emf.ecp.view.rule.model/src/org/eclipse/emf/ecp/view/spi/rule/model/Activator.java
new file mode 100644
index 0000000..14b8c94
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.rule.model/src/org/eclipse/emf/ecp/view/spi/rule/model/Activator.java
@@ -0,0 +1,108 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.rule.model;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * The Class Activator.
+ *
+ * @author Lucas Koehler
+ * @since 1.6
+ */
+public class Activator extends Plugin {
+
+ /**
+ * The constant holding the id of this plugin.
+ */
+ public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.rule.model"; //$NON-NLS-1$
+
+ private static Activator plugin;
+ private ServiceReference<ReportService> reportServiceReference;
+
+ // BEGIN SUPRESS CATCH EXCEPTION
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext bundleContext) throws Exception {
+ super.start(bundleContext);
+ plugin = this;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext bundleContext) throws Exception {
+ plugin = null;
+ super.stop(bundleContext);
+ }
+
+ // END SUPRESS CATCH EXCEPTION
+ /**
+ * Returns the instance of this Activator.
+ *
+ * @return the saved instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Logs a {@link Throwable}.
+ *
+ * @param t the {@link Throwable} to log
+ */
+ public static void log(Throwable t) {
+ getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, t.getMessage(), t));
+ }
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.rule.model/src/org/eclipse/emf/ecp/view/spi/rule/model/impl/LeafConditionImpl.java b/bundles/org.eclipse.emf.ecp.view.rule.model/src/org/eclipse/emf/ecp/view/spi/rule/model/impl/LeafConditionImpl.java
index 9279e1d..1681093 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule.model/src/org/eclipse/emf/ecp/view/spi/rule/model/impl/LeafConditionImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.rule.model/src/org/eclipse/emf/ecp/view/spi/rule/model/impl/LeafConditionImpl.java
@@ -17,6 +17,8 @@
import java.util.List;
import java.util.Map;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.Enumerator;
@@ -28,11 +30,13 @@
import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.rule.model.Activator;
import org.eclipse.emf.ecp.view.spi.rule.model.LeafCondition;
import org.eclipse.emf.ecp.view.spi.rule.model.NotApplicableForEvaluationException;
import org.eclipse.emf.ecp.view.spi.rule.model.RulePackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* <!-- begin-user-doc -->
@@ -426,7 +430,8 @@
final Object expectedValue = getExpectedValue();
while (settingIterator.hasNext()) {
try {
- result |= doEvaluate(settingIterator.next(), expectedValue, false, null);
+ final Setting setting = settingIterator.next();
+ result |= doEvaluate(setting.getEObject(), setting.getEStructuralFeature(), expectedValue, false, null);
} catch (final NotApplicableForEvaluationException e) {
continue;
}
@@ -435,11 +440,10 @@
return result;
}
- private static boolean doEvaluate(Setting setting, Object expectedValue, boolean useNewValue, Object newValue)
+ private static boolean doEvaluate(EObject parent, EStructuralFeature feature, Object expectedValue,
+ boolean useNewValue, Object newValue)
throws NotApplicableForEvaluationException {
- final EObject parent = setting.getEObject();
- final EStructuralFeature feature = setting.getEStructuralFeature();
final EClass attributeClass = feature.getEContainingClass();
if (!attributeClass.isInstance(parent)) {
throw new NotApplicableForEvaluationException();
@@ -489,21 +493,29 @@
if (getValueDomainModelReference() == null) {
continue;
}
- final VDomainModelReference dmr = EcoreUtil.copy(getValueDomainModelReference());
- final boolean init = dmr.init(domain);
- if (!init) {
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getValueDomainModelReference(), domain);
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
continue;
}
- final Setting next = dmr.getIterator().next();
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+
try {
- result |= doEvaluate(next, expectedValue, true, next.get(true));
+ result |= doEvaluate(eObject, structuralFeature, expectedValue, true,
+ eObject.eGet(structuralFeature, true));
} catch (final NotApplicableForEvaluationException ex) {
continue;
}
}
} else {
try {
- result |= doEvaluate(setting, expectedValue, true, possibleNewValues.get(setting));
+ result |= doEvaluate(setting.getEObject(), setting.getEStructuralFeature(), expectedValue, true,
+ possibleNewValues.get(setting));
} catch (final NotApplicableForEvaluationException e) {
continue;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.rule.model/src/org/eclipse/emf/ecp/view/spi/rule/model/impl/LeafConditionSettingIterator.java b/bundles/org.eclipse.emf.ecp.view.rule.model/src/org/eclipse/emf/ecp/view/spi/rule/model/impl/LeafConditionSettingIterator.java
index ae448aa..b94cce2 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule.model/src/org/eclipse/emf/ecp/view/spi/rule/model/impl/LeafConditionSettingIterator.java
+++ b/bundles/org.eclipse.emf.ecp.view.rule.model/src/org/eclipse/emf/ecp/view/spi/rule/model/impl/LeafConditionSettingIterator.java
@@ -67,6 +67,7 @@
expectedStackSize = expectedStackSize + 1;
}
iterators = new Stack<Iterator<Setting>>();
+ // TODO: remove after segments are introduced.
iterators.push(condition.getDomainModelReference().getIterator());
organizeStack();
}
@@ -117,6 +118,7 @@
final VDomainModelReference valueDMR = EcoreUtil.copy(condition.getValueDomainModelReference());
valueDMR.init(nextDomain);
dmrs.add(valueDMR);
+ // TODO: remove after segments are introduced.
iterators.push(valueDMR.getIterator());
organizeStack();
return;
diff --git a/bundles/org.eclipse.emf.ecp.view.rule/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.rule/META-INF/MANIFEST.MF
index ce9231c..5f88e99 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.rule/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Model Rule
Bundle-SymbolicName: org.eclipse.emf.ecp.view.rule;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
@@ -12,8 +12,9 @@
org.eclipse.emf.ecp.common;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.view.internal.rule;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.internal.rule;version="1.6.0"
;x-friends:="org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.v
iew.model.integrationtest,org.eclipse.emf.ecp.view.unset.test",org.ec
- lipse.emf.ecp.view.internal.rule.reporting;version="1.5.1",org.eclips
- e.emf.ecp.view.spi.rule;version="1.5.1"
+ lipse.emf.ecp.view.internal.rule.reporting;version="1.6.0",org.eclips
+ e.emf.ecp.view.spi.rule;version="1.6.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.view.rule/pom.xml b/bundles/org.eclipse.emf.ecp.view.rule/pom.xml
index d1a595c..db6b913 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.rule/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.rule</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.rule/src/org/eclipse/emf/ecp/view/internal/rule/RuleService.java b/bundles/org.eclipse.emf.ecp.view.rule/src/org/eclipse/emf/ecp/view/internal/rule/RuleService.java
index d2ef2b3..af6dd04 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule/src/org/eclipse/emf/ecp/view/internal/rule/RuleService.java
+++ b/bundles/org.eclipse.emf.ecp.view.rule/src/org/eclipse/emf/ecp/view/internal/rule/RuleService.java
@@ -363,10 +363,23 @@
final Map<VElement, Boolean> visibleMap = evalAffectedRenderables(showRuleRegistry, ShowRule.class,
setting);
+ final Set<VElement> toBeVisible = new LinkedHashSet<VElement>();
+ final Set<VElement> toBeInvisible = new LinkedHashSet<VElement>();
for (final Map.Entry<VElement, Boolean> e : visibleMap.entrySet()) {
final Boolean isVisible = e.getValue();
final VElement renderable = e.getKey();
- renderable.setVisible(isVisible);
+ if (isVisible) {
+ toBeVisible.add(renderable);
+ } else {
+ toBeInvisible.add(renderable);
+ }
+ }
+
+ for (final VElement vElement : toBeInvisible) {
+ vElement.setVisible(false);
+ }
+ for (final VElement vElement : toBeVisible) {
+ vElement.setVisible(true);
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.rule/src/org/eclipse/emf/ecp/view/internal/rule/reporting/LeafConditionDMRResolutionFailedReport.java b/bundles/org.eclipse.emf.ecp.view.rule/src/org/eclipse/emf/ecp/view/internal/rule/reporting/LeafConditionDMRResolutionFailedReport.java
index 893151a..7e882d4 100644
--- a/bundles/org.eclipse.emf.ecp.view.rule/src/org/eclipse/emf/ecp/view/internal/rule/reporting/LeafConditionDMRResolutionFailedReport.java
+++ b/bundles/org.eclipse.emf.ecp.view.rule/src/org/eclipse/emf/ecp/view/internal/rule/reporting/LeafConditionDMRResolutionFailedReport.java
@@ -12,8 +12,8 @@
package org.eclipse.emf.ecp.view.internal.rule.reporting;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport;
import org.eclipse.emf.ecp.view.spi.rule.model.LeafCondition;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
/**
* Indicates that a {@link org.eclipse.emf.ecp.view.spi.model.VDomainModelReference VDomainModelReference} of a
diff --git a/bundles/org.eclipse.emf.ecp.view.section.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.section.model.edit/.settings/.api_filters
index 4a3ea61..6ab3f8e 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.section.model.edit/.settings/.api_filters
@@ -7,10 +7,10 @@
<message_argument value="1.2.1"/>
</message_arguments>
</filter>
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model.edit"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
</message_arguments>
</filter>
</resource>
@@ -38,4 +38,28 @@
</message_arguments>
</filter>
</resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.section.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.section.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.section.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.section.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.section.model.edit/META-INF/MANIFEST.MF
index 44298db..3b1c192 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.section.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.section.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.section.model.provider.SectionEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.section.model.provider;ve
- rsion="1.5.1"
+ rsion="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.section.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.section.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.section.model.edit/pom.xml
index 087ddb7..cb57fe4 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.section.model.edit/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.section.model.edit/src/org/eclipse/emf/ecp/view/spi/section/model/provider/SectionItemProvider.java b/bundles/org.eclipse.emf.ecp.view.section.model.edit/src/org/eclipse/emf/ecp/view/spi/section/model/provider/SectionItemProvider.java
index 5999dff..7c7e06b 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.model.edit/src/org/eclipse/emf/ecp/view/spi/section/model/provider/SectionItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.section.model.edit/src/org/eclipse/emf/ecp/view/spi/section/model/provider/SectionItemProvider.java
@@ -17,6 +17,8 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.ecp.view.spi.model.provider.ContainerItemProvider;
import org.eclipse.emf.ecp.view.spi.section.model.VSection;
@@ -133,11 +135,14 @@
* <!-- begin-user-doc
* --> <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object) {
- final String label = ((VSection) object).getName();
+ String label = ((VSection) object).getName();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_Section_type") : //$NON-NLS-1$
getString("_UI_Section_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.view.section.model.edit/src/org/eclipse/emf/ecp/view/spi/section/model/provider/SectionedAreaItemProvider.java b/bundles/org.eclipse.emf.ecp.view.section.model.edit/src/org/eclipse/emf/ecp/view/spi/section/model/provider/SectionedAreaItemProvider.java
index d0787b7..e50da74 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.model.edit/src/org/eclipse/emf/ecp/view/spi/section/model/provider/SectionedAreaItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.section.model.edit/src/org/eclipse/emf/ecp/view/spi/section/model/provider/SectionedAreaItemProvider.java
@@ -17,6 +17,8 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.provider.ContainedElementItemProvider;
import org.eclipse.emf.ecp.view.spi.section.model.VSectionFactory;
import org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage;
@@ -116,12 +118,15 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object)
{
- final String label = ((VSectionedArea) object).getName();
+ String label = ((VSectionedArea) object).getName();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_SectionedArea_type") : //$NON-NLS-1$
getString("_UI_SectionedArea_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.view.section.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.section.model/.settings/.api_filters
index 4b0b61d..1486324 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.section.model/.settings/.api_filters
@@ -7,10 +7,10 @@
<message_argument value="1.2.1"/>
</message_arguments>
</filter>
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
</message_arguments>
</filter>
</resource>
@@ -38,4 +38,145 @@
</message_arguments>
</filter>
</resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.section.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.section.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.section.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/section/model/VSectionPackage.java">
+ <filter comment="Changes due to new label field in 1.6" id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/section/model/VSectionPackage.java" type="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage">
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTIONED_AREA_FEATURE_COUNT"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTIONED_AREA__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTIONED_AREA__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTIONED_AREA__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTIONED_AREA__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTIONED_AREA__ROOT"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTIONED_AREA__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTION_FEATURE_COUNT"/>
+ <message_argument value="9"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTION__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTION__CHILDREN"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTION__CHILD_ITEMS"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTION__COLLAPSED"/>
+ <message_argument value="8"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTION__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTION__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTION__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage"/>
+ <message_argument value="SECTION__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
+ </resource>
</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.section.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.section.model/META-INF/MANIFEST.MF
index 1aa06cc..ca97ebd 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.section.model/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.section.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.section.model;version="1.
- 5.1",org.eclipse.emf.ecp.view.spi.section.model.impl;version="1.5.1",
- org.eclipse.emf.ecp.view.spi.section.model.util;version="1.5.1"
+ 6.0",org.eclipse.emf.ecp.view.spi.section.model.impl;version="1.6.0",
+ org.eclipse.emf.ecp.view.spi.section.model.util;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport
diff --git a/bundles/org.eclipse.emf.ecp.view.section.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.section.model/pom.xml
index 8f143f9..9229836 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.section.model/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/.settings/.api_filters
index 808e36a..143d15a 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/.settings/.api_filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<component id="org.eclipse.emf.ecp.view.custom.model" version="2">
+<component id="org.eclipse.emf.ecp.view.section.ui.swt" version="2">
<resource path="META-INF/MANIFEST.MF">
<filter comment="This is SPI" id="923795461">
<message_arguments>
@@ -7,6 +7,12 @@
<message_argument value="1.2.1"/>
</message_arguments>
</filter>
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
</resource>
<resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.custom.model.HardcodedTester">
<filter comment="This is SPI" id="305324134">
@@ -32,203 +38,63 @@
</message_arguments>
</filter>
</resource>
- <resource path="src/org/eclipse/emf/ecp/view/spi/custom/model/VCustomFactory.java" type="org.eclipse.emf.ecp.view.spi.custom.model.VCustomFactory">
- <filter comment="This is SPI" id="403804204">
+ <resource path="src/org/eclipse/emf/ecp/view/spi/section/swt/SectionLeafSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.section.swt.SectionLeafSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomFactory"/>
- <message_argument value="createCustomControl()"/>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.swt.SectionLeafSWTRenderer"/>
+ <message_argument value="SectionLeafSWTRenderer()"/>
</message_arguments>
</filter>
- <filter comment="This is SPI" id="403804204">
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomFactory"/>
- <message_argument value="createCustomDomainModelReference()"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomFactory"/>
- <message_argument value="createHardcodedDomainModelReference()"/>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.swt.SectionLeafSWTRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
</message_arguments>
</filter>
</resource>
- <resource path="src/org/eclipse/emf/ecp/view/spi/custom/model/VCustomPackage.java" type="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage">
- <filter comment="This is SPI" id="405864542">
+ <resource path="src/org/eclipse/emf/ecp/view/spi/section/swt/SectionNodeSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.section.swt.SectionNodeSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
- <message_argument value="HARDCODED_DOMAIN_MODEL_REFERENCE"/>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.swt.SectionNodeSWTRenderer"/>
+ <message_argument value="SectionNodeSWTRenderer()"/>
</message_arguments>
</filter>
- <filter comment="This is SPI" id="405864542">
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
- <message_argument value="HARDCODED_DOMAIN_MODEL_REFERENCE_FEATURE_COUNT"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="405864542">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
- <message_argument value="HARDCODED_DOMAIN_MODEL_REFERENCE__CONTROL_CHECKED"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="405864542">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
- <message_argument value="HARDCODED_DOMAIN_MODEL_REFERENCE__CONTROL_ID"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="405864542">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
- <message_argument value="HARDCODED_DOMAIN_MODEL_REFERENCE__DOMAIN_MODEL_REFERENCES"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
- <message_argument value="getHardcodedDomainModelReference()"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
- <message_argument value="getHardcodedDomainModelReference_ControlChecked()"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
- <message_argument value="getHardcodedDomainModelReference_ControlId()"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage"/>
- <message_argument value="getHardcodedDomainModelReference_DomainModelReferences()"/>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.swt.SectionNodeSWTRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
</message_arguments>
</filter>
</resource>
- <resource path="src/org/eclipse/emf/ecp/view/spi/custom/model/VCustomPackage.java" type="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage$Literals">
- <filter comment="This is SPI" id="403767336">
+ <resource path="src/org/eclipse/emf/ecp/view/spi/section/swt/SectionedAreaSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.section.swt.SectionedAreaSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage.Literals"/>
- <message_argument value="CUSTOM_CONTROL"/>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.swt.SectionedAreaSWTRenderer"/>
+ <message_argument value="SectionedAreaSWTRenderer()"/>
</message_arguments>
</filter>
- <filter comment="This is SPI" id="403767336">
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage.Literals"/>
- <message_argument value="CUSTOM_CONTROL__BUNDLE_NAME"/>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.swt.SectionedAreaSWTRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
</message_arguments>
</filter>
- <filter comment="This is SPI" id="403767336">
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage.Literals"/>
- <message_argument value="CUSTOM_CONTROL__CLASS_NAME"/>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.swt.SectionedAreaSWTRenderer"/>
+ <message_argument value="renderControl(SWTGridCell, Composite)"/>
</message_arguments>
</filter>
- <filter comment="This is SPI" id="403767336">
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage.Literals"/>
- <message_argument value="CUSTOM_DOMAIN_MODEL_REFERENCE"/>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.swt.SectionedAreaSWTRenderer"/>
+ <message_argument value="setLayoutDataForControl(SWTGridCell, SWTGridDescription, SWTGridDescription, SWTGridDescription, VElement, Control)"/>
</message_arguments>
</filter>
- <filter comment="This is SPI" id="403767336">
+ <filter comment="SPI Change in 1.6" id="421572723">
<message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage.Literals"/>
- <message_argument value="CUSTOM_DOMAIN_MODEL_REFERENCE__BUNDLE_NAME"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="403767336">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage.Literals"/>
- <message_argument value="CUSTOM_DOMAIN_MODEL_REFERENCE__CLASS_NAME"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="403767336">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage.Literals"/>
- <message_argument value="CUSTOM_DOMAIN_MODEL_REFERENCE__CONTROL_CHECKED"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="403767336">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage.Literals"/>
- <message_argument value="CUSTOM_DOMAIN_MODEL_REFERENCE__DOMAIN_MODEL_REFERENCES"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="405864542">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage.Literals"/>
- <message_argument value="HARDCODED_DOMAIN_MODEL_REFERENCE"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="405864542">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage.Literals"/>
- <message_argument value="HARDCODED_DOMAIN_MODEL_REFERENCE__CONTROL_CHECKED"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="405864542">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage.Literals"/>
- <message_argument value="HARDCODED_DOMAIN_MODEL_REFERENCE__CONTROL_ID"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="405864542">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage.Literals"/>
- <message_argument value="HARDCODED_DOMAIN_MODEL_REFERENCE__DOMAIN_MODEL_REFERENCES"/>
- </message_arguments>
- </filter>
- </resource>
- <resource path="src/org/eclipse/emf/ecp/view/spi/custom/model/impl/VCustomFactoryImpl.java" type="org.eclipse.emf.ecp.view.spi.custom.model.impl.VCustomFactoryImpl">
- <filter comment="This is SPI" id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.impl.VCustomFactoryImpl"/>
- <message_argument value="createHardcodedDomainModelReference()"/>
- </message_arguments>
- </filter>
- </resource>
- <resource path="src/org/eclipse/emf/ecp/view/spi/custom/model/impl/VCustomPackageImpl.java" type="org.eclipse.emf.ecp.view.spi.custom.model.impl.VCustomPackageImpl">
- <filter comment="This is SPI" id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.impl.VCustomPackageImpl"/>
- <message_argument value="getHardcodedDomainModelReference()"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.impl.VCustomPackageImpl"/>
- <message_argument value="getHardcodedDomainModelReference_ControlChecked()"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.impl.VCustomPackageImpl"/>
- <message_argument value="getHardcodedDomainModelReference_ControlId()"/>
- </message_arguments>
- </filter>
- <filter comment="This is SPI" id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.impl.VCustomPackageImpl"/>
- <message_argument value="getHardcodedDomainModelReference_DomainModelReferences()"/>
- </message_arguments>
- </filter>
- </resource>
- <resource path="src/org/eclipse/emf/ecp/view/spi/custom/model/util/CustomAdapterFactory.java" type="org.eclipse.emf.ecp.view.spi.custom.model.util.CustomAdapterFactory">
- <filter comment="This is SPI" id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.util.CustomAdapterFactory"/>
- <message_argument value="createHardcodedDomainModelReferenceAdapter()"/>
- </message_arguments>
- </filter>
- </resource>
- <resource path="src/org/eclipse/emf/ecp/view/spi/custom/model/util/CustomSwitch.java" type="org.eclipse.emf.ecp.view.spi.custom.model.util.CustomSwitch">
- <filter comment="This is SPI" id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.emf.ecp.view.spi.custom.model.util.CustomSwitch"/>
- <message_argument value="caseHardcodedDomainModelReference(VHardcodedDomainModelReference)"/>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.section.swt.SectionedAreaSWTRenderer"/>
+ <message_argument value="setLayoutDataForControl(SWTGridCell, SWTGridDescription, SWTGridDescription, SWTGridDescription, VElement, Control)"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/META-INF/MANIFEST.MF
index e5e250b..a891197 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/META-INF/MANIFEST.MF
@@ -2,20 +2,25 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Model Section UI SWT
Bundle-SymbolicName: org.eclipse.emf.ecp.view.section.ui.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.emf.ecp.view.section.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.10.0,4.0.0)"
-Import-Package: org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.jface.layout;version="0.0.0",
org.eclipse.swt;version="0.0.0",
org.eclipse.swt.layout;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0",
org.eclipse.ui.forms.events;version="0.0.0",
org.eclipse.ui.forms.widgets;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.internal.section.swt;version=
- "1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.internal.section.ui
- .swt;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.spi.se
- ction.swt;version="1.5.1"
+ "1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.internal.section.ui
+ .swt;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.spi.se
+ ction.swt;version="1.6.0"
Bundle-Activator: org.eclipse.emf.ecp.view.internal.section.ui.swt.Activator
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/pom.xml
index 4f44bd1..87afad8 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/internal/section/ui/swt/Activator.java b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/internal/section/ui/swt/Activator.java
index 385a327..11e535f 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/internal/section/ui/swt/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/internal/section/ui/swt/Activator.java
@@ -12,7 +12,8 @@
package org.eclipse.emf.ecp.view.internal.section.ui.swt;
import org.eclipse.core.runtime.Plugin;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
@@ -73,4 +74,20 @@
bundleContext.getServiceReference(ReportService.class);
return bundleContext.getService(serviceReference);
}
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/AbstractSectionSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/AbstractSectionSWTRenderer.java
index ec0168f..e458ee2 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/AbstractSectionSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/AbstractSectionSWTRenderer.java
@@ -18,65 +18,64 @@
import java.util.Set;
import org.eclipse.emf.ecp.view.internal.section.ui.swt.Activator;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
import org.eclipse.emf.ecp.view.spi.section.model.VSection;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractAdditionalSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
import org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProviderHelper;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Layout;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* Common super class for all section renderer.
*
* @author jfaltermeier
- *
+ * @noextend This class is not intended to be subclassed by clients.
*/
public abstract class AbstractSectionSWTRenderer extends
AbstractSWTRenderer<VSection> {
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @since 1.6
+ */
+ public AbstractSectionSWTRenderer(VSection vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
@Override
protected Control renderControl(SWTGridCell cell, Composite parent)
throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
if (cell.getRenderer() == this) {
- switch (cell.getColumn()) {
- case 0:
+ if (cell.getColumn() == 0) {
return createFirstColumn(parent);
-
- case 1:
- if (getVElement().getChildren().size() < 3) {
- return renderEmpty(parent);
- }
- return renderChild(parent, getVElement().getChildren().get(0));
-
- case 2:
- if (getVElement().getChildren().size() < 2) {
- return renderEmpty(parent);
- }
- return renderChild(
- parent,
- getVElement().getChildren().get(
- getVElement().getChildren().size() - 2));
-
- case 3:
- return renderChild(
- parent,
- getVElement().getChildren().get(
- getVElement().getChildren().size() - 1));
- default:
- throw new IllegalArgumentException(""); //$NON-NLS-1$
+ } else if (cell.getColumn() < 0) {
+ return renderEmpty(parent);
+ } else {
+ /*-1 because label is column 0*/
+ return renderChild(parent, getVElement().getChildren().get(cell.getColumn() - 1));
}
}
return cell.getRenderer().render(cell, parent);
@@ -106,20 +105,32 @@
final Map<VContainedElement, SWTGridDescription> rowGridDescription = new LinkedHashMap<VContainedElement, SWTGridDescription>();
final Map<VContainedElement, SWTGridDescription> controlGridDescription = new LinkedHashMap<VContainedElement, SWTGridDescription>();
- if (VControl.class.isInstance(child)
- && (VControl.class.cast(child).getDomainModelReference() == null || !VControl.class
- .cast(child).getDomainModelReference().getIterator()
- .hasNext())) {
+ if (VControl.class.isInstance(child)) {
+ if (VControl.class.cast(child).getDomainModelReference() == null) {
+ return columnComposite;
+ }
+ try {
+ Activator
+ .getDefault()
+ .getEMFFormsDatabinding()
+ .getValueProperty(VControl.class.cast(child).getDomainModelReference(),
+ getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new RenderingFailedReport(ex));
+ return columnComposite;
+ }
+ }
+
+ AbstractSWTRenderer<VElement> renderer;
+ try {
+ renderer = getEMFFormsRendererFactory()
+ .getRendererInstance(child, getViewModelContext());
+ } catch (final EMFFormsNoRendererException ex) {
+ getReportService().report(new RenderingFailedReport(ex));
return columnComposite;
}
- final AbstractSWTRenderer<VElement> renderer = getSWTRendererFactory()
- .getRenderer(child, getViewModelContext());
- if (renderer == null) {
- // TODO log
- return columnComposite;
- }
- final Collection<AbstractAdditionalSWTRenderer<VElement>> additionalRenderers = getSWTRendererFactory()
- .getAdditionalRenderer(child, getViewModelContext());
+ final Collection<AbstractAdditionalSWTRenderer<VElement>> additionalRenderers = getEMFFormsRendererFactory()
+ .getAdditionalRendererInstances(child, getViewModelContext());
SWTGridDescription gridDescription = renderer
.getGridDescription(GridDescriptionFactory.INSTANCE
.createEmptyGridDescription());
@@ -143,12 +154,6 @@
maximalGridDescription.getColumns(), false));
try {
- if (VControl.class.isInstance(child)
- && (VControl.class.cast(child).getDomainModelReference() == null || !VControl.class
- .cast(child).getDomainModelReference()
- .getIterator().hasNext())) {
- return columnComposite;
- }
final SWTGridDescription gridDescription2 = rowGridDescription
.get(child);
if (gridDescription2 == null) {
@@ -167,7 +172,8 @@
setLayoutDataForControl(childGridCell,
controlGridDescription.get(child), gridDescription2,
maximalGridDescription, childGridCell.getRenderer()
- .getVElement(), control);
+ .getVElement(),
+ control);
}
for (final SWTGridCell childGridCell : gridDescription2.getGrid()) {
@@ -206,4 +212,46 @@
getControls().get(gridCell).setVisible(visible);
}
}
+
+ /**
+ * Access to the EMFFormsRendererFactory.
+ *
+ * @return The {@link EMFFormsRendererFactory}
+ * @since 1.6
+ */
+ protected EMFFormsRendererFactory getEMFFormsRendererFactory() {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<EMFFormsRendererFactory> serviceReference = bundleContext
+ .getServiceReference(EMFFormsRendererFactory.class);
+ final EMFFormsRendererFactory rendererFactory = bundleContext.getService(serviceReference);
+ bundleContext.ungetService(serviceReference);
+ return rendererFactory;
+ }
+
+ /**
+ * Sets the LayoutData for the specified control.
+ *
+ * @param gridCell the {@link GridCell} used to render the control
+ * @param gridDescription the {@link GridDescription} of the parent which rendered the control
+ * @param currentRowGridDescription the {@link GridDescription} of the current row
+ * @param fullGridDescription the {@link GridDescription} of the whole container
+ * @param vElement the {@link VElement} to set the layoutData for
+ * @param control the control to set the layout to
+ */
+ private void setLayoutDataForControl(SWTGridCell gridCell, SWTGridDescription gridDescription,
+ SWTGridDescription currentRowGridDescription, SWTGridDescription fullGridDescription, VElement vElement,
+ Control control) {
+
+ control.setLayoutData(LayoutProviderHelper.getLayoutData(gridCell, gridDescription, currentRowGridDescription,
+ fullGridDescription, vElement, getViewModelContext().getDomainModel(), control));
+
+ }
+
+ /**
+ * Called by the {@link org.eclipse.emf.ecp.view.spi.section.model.VSectionedArea} when all children have been
+ * renderered. Initialises the collapse state based on {@link VSection#isCollapsed()}.
+ *
+ * @since 1.6
+ */
+ protected abstract void initCollapseState();
}
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionLeafSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionLeafSWTRenderer.java
index 73d6f58..d1fbfba 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionLeafSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionLeafSWTRenderer.java
@@ -12,9 +12,12 @@
package org.eclipse.emf.ecp.view.spi.section.swt;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.section.model.VSection;
import org.eclipse.emf.ecp.view.spi.section.model.VSectionedArea;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
@@ -29,14 +32,26 @@
*/
public class SectionLeafSWTRenderer extends AbstractSectionSWTRenderer {
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @since 1.6
+ */
+ public SectionLeafSWTRenderer(VSection vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
private SWTGridDescription rendererGridDescription;
@Override
public SWTGridDescription getGridDescription(
SWTGridDescription gridDescription) {
+ /* +1 because of label */
+ final int columns = getVElement().getChildren().size() + 1;
if (rendererGridDescription == null) {
rendererGridDescription = GridDescriptionFactory.INSTANCE
- .createSimpleGrid(1, 4, this);
+ .createSimpleGrid(1, columns, this);
}
return rendererGridDescription;
}
@@ -66,4 +81,15 @@
return (numberOfParents + 1) * 8;
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.section.swt.AbstractSectionSWTRenderer#initCollapseState()
+ * @since 1.6
+ */
+ @Override
+ protected void initCollapseState() {
+ // no children -> empty
+ }
+
}
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionNodeSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionNodeSWTRenderer.java
index 883c871..e8b8b15 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionNodeSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionNodeSWTRenderer.java
@@ -17,16 +17,20 @@
import java.util.Set;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.ModelChangeListener;
import org.eclipse.emf.ecp.view.spi.model.ModelChangeNotification;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.section.model.VSection;
import org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage;
import org.eclipse.emf.ecp.view.spi.section.model.VSectionedArea;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
@@ -43,6 +47,16 @@
*/
public class SectionNodeSWTRenderer extends AbstractSectionSWTRenderer {
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @since 1.6
+ */
+ public SectionNodeSWTRenderer(VSection vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
private Set<AbstractSectionSWTRenderer> childRenderers;
private SWTGridDescription rendererGridDescription;
private ModelChangeListener listener;
@@ -63,12 +77,7 @@
}
if (notification.getStructuralFeature() == VSectionPackage.eINSTANCE
.getSection_Collapsed()) {
- for (final AbstractSectionSWTRenderer childRenderer : childRenderers) {
- childRenderer.adjustLayoutData(!getVElement()
- .isCollapsed());
- }
- getControls().values().iterator().next().getParent()
- .layout(false);
+ handleCollapseState();
}
}
};
@@ -78,39 +87,125 @@
@Override
public SWTGridDescription getGridDescription(
SWTGridDescription gridDescription) {
- childRenderers = new LinkedHashSet<AbstractSectionSWTRenderer>();
+
rendererGridDescription = new SWTGridDescription();
- rendererGridDescription.setColumns(4);
- final List<SWTGridCell> gridCells = new ArrayList<SWTGridCell>();
+ childRenderers = new LinkedHashSet<AbstractSectionSWTRenderer>();
- /* add self */
- gridCells.add(createGridCell(0, 0, this));
- gridCells.add(createGridCell(0, 1, this));
- gridCells.add(createGridCell(0, 2, this));
- gridCells.add(createGridCell(0, 3, this));
-
- /* add children */
- int row = 1;
+ /* get griddescriptions from child sections */
+ final List<SWTGridDescription> childGridDescriptions = new ArrayList<SWTGridDescription>();
for (final VSection item : getVElement().getChildItems()) {
- final AbstractSWTRenderer<?> itemRenderer = getSWTRendererFactory()
- .getRenderer(item, getViewModelContext());
+ AbstractSWTRenderer<?> itemRenderer;
+ try {
+ itemRenderer = getEMFFormsRendererFactory()
+ .getRendererInstance(item, getViewModelContext());
+ } catch (final EMFFormsNoRendererException ex) {
+ getReportService().report(new RenderingFailedReport(ex));
+ continue;
+ }
final SWTGridDescription itemGridDescription = itemRenderer
.getGridDescription(GridDescriptionFactory.INSTANCE
.createEmptyGridDescription());
childRenderers.add((AbstractSectionSWTRenderer) itemRenderer);
-
- final int itemRows = itemGridDescription.getRows();
- for (final SWTGridCell itemCell : itemGridDescription.getGrid()) {
- gridCells.add(createGridCell(itemCell.getRow() + row,
- itemCell.getColumn(), itemCell.getRenderer()));
- }
- row = row + itemRows;
+ childGridDescriptions.add(itemGridDescription);
}
+ /* compute required column count based on self and children */
+ final int selfColumns = 1 + getVElement().getChildren().size();
+ int columns = selfColumns;
+ for (final SWTGridDescription childGridDescription : childGridDescriptions) {
+ columns = childGridDescription.getColumns() > columns ? childGridDescription.getColumns() : columns;
+ }
+
+ /* create grid description for this renderer */
+ rendererGridDescription.setColumns(columns);
+ final List<SWTGridCell> gridCells = new ArrayList<SWTGridCell>();
+ int emptyCellColumnIndicator = -1;
+
+ /* add self */
+ int row = 0;
+
+ /* label */
+ int curSelfColumn = 0;
+ gridCells.add(createGridCell(row, curSelfColumn++, this));
+ /* empty columns */
+ final int emptyColumns = columns - selfColumns;
+ for (int i = 0; i < emptyColumns; i++) {
+ gridCells.add(createGridCell(row, emptyCellColumnIndicator--, this));
+ }
+ /* regular columns */
+ for (int columnToAdd = 0; columnToAdd < getVElement().getChildren().size(); columnToAdd++) {
+ gridCells.add(createGridCell(row, curSelfColumn++, this));
+ }
+ row += 1;
+
+ /* add children */
+ for (final SWTGridDescription childGridDescription : childGridDescriptions) {
+ final SWTGridCell[][] sortedChildGridCells = getArrangedChildGridCells(childGridDescription, columns);
+ for (final SWTGridCell[] rowGridCells : sortedChildGridCells) {
+ /* There is always at least one column (index) */
+ final int currentRow = rowGridCells[0].getRow() + row;
+ final AbstractSWTRenderer<?> renderer = rowGridCells[0].getRenderer();
+ for (int i = 0; i < rowGridCells.length; i++) {
+ final SWTGridCell swtGridCell = rowGridCells[i];
+ if (swtGridCell != null) {
+ gridCells.add(
+ createGridCell(
+ currentRow,
+ swtGridCell.getColumn(),
+ swtGridCell.getRenderer()));
+ } else {
+ /* create empty column */
+ gridCells.add(createGridCell(currentRow, emptyCellColumnIndicator--, renderer));
+ }
+ }
+ }
+ row += childGridDescription.getRows();
+ }
+
+ rendererGridDescription.setRows(row);
rendererGridDescription.setGrid(gridCells);
return rendererGridDescription;
}
+ private SWTGridCell[][] getArrangedChildGridCells(SWTGridDescription childGridDescription, int columns) {
+ final SWTGridCell[][] result = new SWTGridCell[childGridDescription.getRows()][columns];
+ for (final SWTGridCell swtGridCell : childGridDescription.getGrid()) {
+ if (swtGridCell.getColumn() < 0) {
+ continue;
+ }
+ result[swtGridCell.getRow()][swtGridCell.getColumn()] = swtGridCell;
+ }
+ for (final SWTGridCell[] columnArray : result) {
+ shiftElementsToEndOfArrayButFirstElement(columnArray);
+ }
+ return result;
+ }
+
+ private static void shiftElementsToEndOfArrayButFirstElement(SWTGridCell[] columnArray) {
+ final int length = columnArray.length;
+ for (int i = length - 1; i >= 0; i--) {
+ if (columnArray[i] == null) {
+ final int index = getIndexToMove(columnArray, i);
+ if (index == -1) {
+ return;
+ }
+ columnArray[i] = columnArray[index];
+ columnArray[index] = null;
+ } else {
+ return;
+ }
+ }
+ }
+
+ private static int getIndexToMove(SWTGridCell[] columnArray, int index) {
+ for (int i = index - 1; i > 0; i--) {
+ if (columnArray[i] != null) {
+ return i;
+ }
+ }
+ return -1;
+ }
+
private SWTGridCell createGridCell(int row, int column,
AbstractSWTRenderer<? extends VElement> renderer) {
final SWTGridCell gridCell = new SWTGridCell(row, column, renderer);
@@ -182,7 +277,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#applyEnable()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#applyEnable()
*/
@Override
protected void applyEnable() {
@@ -195,4 +290,26 @@
super.dispose();
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.section.swt.AbstractSectionSWTRenderer#initCollapseState()
+ * @since 1.6
+ */
+ @Override
+ protected void initCollapseState() {
+ handleCollapseState();
+ }
+
+ private void handleCollapseState() {
+ for (final AbstractSectionSWTRenderer childRenderer : childRenderers) {
+ childRenderer.adjustLayoutData(!getVElement()
+ .isCollapsed());
+ }
+ getControls().values().iterator().next().getParent()
+ .layout(false);
+ expandableComposite.setExpanded(!getVElement()
+ .isCollapsed());
+ }
+
}
diff --git a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionedAreaSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionedAreaSWTRenderer.java
index aeae791..db8afcd 100644
--- a/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionedAreaSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.section.ui.swt/src/org/eclipse/emf/ecp/view/spi/section/swt/SectionedAreaSWTRenderer.java
@@ -16,22 +16,29 @@
import java.util.Set;
import org.eclipse.emf.ecp.view.internal.section.ui.swt.Activator;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
import org.eclipse.emf.ecp.view.spi.section.model.VSection;
import org.eclipse.emf.ecp.view.spi.section.model.VSectionedArea;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractAdditionalSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
import org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProviderHelper;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* Renderer for {@link VSectionedArea}.
@@ -42,10 +49,23 @@
public class SectionedAreaSWTRenderer extends
AbstractSWTRenderer<VSectionedArea> {
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @since 1.6
+ */
+ public SectionedAreaSWTRenderer(VSectionedArea vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
private static final String CUSTOM_VARIANT_VALUE = "org_eclipse_emf_ecp_ui_section"; //$NON-NLS-1$
private SWTGridDescription gridDescription;
+ private AbstractSectionSWTRenderer rootRenderer;
+
@Override
public SWTGridDescription getGridDescription(
SWTGridDescription gridDescription) {
@@ -70,14 +90,16 @@
SWTGridDescription rowGridDescription = null;
SWTGridDescription controlGridDescription = null;
final VSection child = getVElement().getRoot();
- final AbstractSWTRenderer<VElement> renderer = getSWTRendererFactory()
- .getRenderer(child, getViewModelContext());
- if (renderer == null) {
+ try {
+ rootRenderer = AbstractSectionSWTRenderer.class.cast(getEMFFormsRendererFactory()
+ .getRendererInstance(child, getViewModelContext()));
+ } catch (final EMFFormsNoRendererException ex) {
+ getReportService().report(new RenderingFailedReport(ex));
return columnComposite;
}
- final Collection<AbstractAdditionalSWTRenderer<VElement>> additionalRenderers = getSWTRendererFactory()
- .getAdditionalRenderer(child, getViewModelContext());
- SWTGridDescription gridDescription = renderer
+ final Collection<AbstractAdditionalSWTRenderer<VElement>> additionalRenderers = getEMFFormsRendererFactory()
+ .getAdditionalRendererInstances(child, getViewModelContext());
+ SWTGridDescription gridDescription = rootRenderer
.getGridDescription(GridDescriptionFactory.INSTANCE
.createEmptyGridDescription());
controlGridDescription = gridDescription;
@@ -88,8 +110,8 @@
}
rowGridDescription = gridDescription;
maximalGridDescription = gridDescription;
- final Set<AbstractSWTRenderer<VElement>> allRenderer = new LinkedHashSet<AbstractSWTRenderer<VElement>>();
- allRenderer.add(renderer);
+ final Set<AbstractSWTRenderer<?>> allRenderer = new LinkedHashSet<AbstractSWTRenderer<?>>();
+ allRenderer.add(rootRenderer);
allRenderer.addAll(additionalRenderers);
if (maximalGridDescription == null) {
@@ -115,7 +137,8 @@
// TODO possible layout issues?
setLayoutDataForControl(childGridCell, controlGridDescription,
gridDescription2, maximalGridDescription, childGridCell
- .getRenderer().getVElement(), control);
+ .getRenderer().getVElement(),
+ control);
}
for (final SWTGridCell childGridCell : gridDescription2.getGrid()) {
@@ -129,34 +152,47 @@
return columnComposite;
}
- @Override
- protected void setLayoutDataForControl(SWTGridCell gridCell,
+ private void setLayoutDataForControl(SWTGridCell gridCell,
SWTGridDescription gridDescription,
SWTGridDescription currentRowGridDescription,
SWTGridDescription fullGridDescription, VElement vElement,
Control control) {
- final Object layoutData = LayoutProviderHelper.getLayoutData(gridCell,
- gridDescription, currentRowGridDescription,
- fullGridDescription, vElement, control);
+ final Object layoutData = LayoutProviderHelper.getLayoutData(gridCell, gridDescription,
+ currentRowGridDescription, fullGridDescription, vElement, getViewModelContext().getDomainModel(), control);
if (!GridData.class.isInstance(layoutData)) {
return;
}
- if (gridCell.getColumn() == 0) {
- GridData.class.cast(layoutData).widthHint = 300;
- } else if (gridCell.getColumn() == 1) {
- GridData.class.cast(layoutData).widthHint = 20;
- } else if (gridCell.getColumn() == 2) {
- GridData.class.cast(layoutData).widthHint = 20;
- } else if (gridCell.getColumn() == 3) {
+ final int lastColumnIndex = fullGridDescription.getColumns() - 1;
+ if (gridCell.getColumn() == lastColumnIndex) {
if (SectionLeafSWTRenderer.class.isInstance(gridCell
.getRenderer())) {
GridData.class.cast(layoutData).grabExcessHorizontalSpace = false;
GridData.class.cast(layoutData).horizontalAlignment = SWT.BEGINNING;
}
- GridData.class.cast(layoutData).widthHint = 500;
+ GridData.class.cast(layoutData).widthHint = 250;
}
control.setLayoutData(layoutData);
}
+ private EMFFormsRendererFactory getEMFFormsRendererFactory() {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<EMFFormsRendererFactory> serviceReference = bundleContext
+ .getServiceReference(EMFFormsRendererFactory.class);
+ final EMFFormsRendererFactory rendererFactory = bundleContext.getService(serviceReference);
+ bundleContext.ungetService(serviceReference);
+ return rendererFactory;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#finalizeRendering(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ public void finalizeRendering(Composite parent) {
+ /* after all children have been rendered, we can init the visibility state */
+ rootRenderer.initCollapseState();
+ super.finalizeRendering(parent);
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/.gitignore b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/.settings/.api_filters
index fbfc728..3240283 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.stack.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model.edit"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.stack.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.stack.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.stack.model.edit_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/META-INF/MANIFEST.MF
index d9a7e68..850196a 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.stack.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.stack.model.provider.StackEditPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/pom.xml
index 2f42114..fcbb337 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/src/org/eclipse/emf/ecp/view/spi/stack/model/provider/StackItemItemProvider.java b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/src/org/eclipse/emf/ecp/view/spi/stack/model/provider/StackItemItemProvider.java
index c30d186..a9f3a64 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/src/org/eclipse/emf/ecp/view/spi/stack/model/provider/StackItemItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/src/org/eclipse/emf/ecp/view/spi/stack/model/provider/StackItemItemProvider.java
@@ -16,6 +16,8 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.ecp.view.spi.model.provider.ContainerItemProvider;
import org.eclipse.emf.ecp.view.spi.stack.model.VStackFactory;
@@ -109,12 +111,15 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object)
{
- final String label = ((VStackItem) object).getName();
+ String label = ((VStackItem) object).getName();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_StackItem_type") : //$NON-NLS-1$
getString("_UI_StackItem_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/src/org/eclipse/emf/ecp/view/spi/stack/model/provider/StackLayoutItemProvider.java b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/src/org/eclipse/emf/ecp/view/spi/stack/model/provider/StackLayoutItemProvider.java
index 0438687..1bc84e9 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.model.edit/src/org/eclipse/emf/ecp/view/spi/stack/model/provider/StackLayoutItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.stack.model.edit/src/org/eclipse/emf/ecp/view/spi/stack/model/provider/StackLayoutItemProvider.java
@@ -17,6 +17,8 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.provider.ContainedElementItemProvider;
import org.eclipse.emf.ecp.view.spi.stack.model.VStackFactory;
import org.eclipse.emf.ecp.view.spi.stack.model.VStackLayout;
@@ -171,12 +173,15 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object)
{
- final String label = ((VStackLayout) object).getName();
+ String label = ((VStackLayout) object).getName();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_StackLayout_type") : //$NON-NLS-1$
getString("_UI_StackLayout_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.model/.gitignore b/bundles/org.eclipse.emf.ecp.view.stack.model/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.stack.model/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.stack.model/.settings/.api_filters
index 3daea38..5eb1699 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.stack.model/.settings/.api_filters
@@ -1,10 +1,158 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.stack.model" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.stack.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.stack.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.stack.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/stack/model/VStackPackage.java">
+ <filter comment="Changes due to new label field in 1.6" id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/stack/model/VStackPackage.java" type="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage">
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_ITEM_FEATURE_COUNT"/>
+ <message_argument value="8"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_ITEM__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_ITEM__CHILDREN"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_ITEM__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_ITEM__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_ITEM__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_ITEM__VALUE"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_ITEM__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_LAYOUT_FEATURE_COUNT"/>
+ <message_argument value="9"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_LAYOUT__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_LAYOUT__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_LAYOUT__DOMAIN_MODEL_REFERENCE"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_LAYOUT__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_LAYOUT__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_LAYOUT__STACK_ITEMS"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_LAYOUT__TOP_ELEMENT"/>
+ <message_argument value="8"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage"/>
+ <message_argument value="STACK_LAYOUT__VISIBLE"/>
+ <message_argument value="1"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.stack.model/META-INF/MANIFEST.MF
index 383ad4d..fc1dc81 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.stack.model/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.stack.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.stack.model;version="0.1.
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.stack.model/pom.xml
index 7dcaf44..69c31be 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.stack.model/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/.gitignore b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/.project b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/.project
index a98caf7..c781755 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/.project
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/.project
@@ -30,6 +30,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/.settings/.api_filters
new file mode 100644
index 0000000..729fa34
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/.settings/.api_filters
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.emf.ecp.view.stack.ui.swt" version="2">
+ <resource path="META-INF/MANIFEST.MF">
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/stack/ui/swt/SWTStackItemRenderer.java" type="org.eclipse.emf.ecp.view.spi.stack.ui.swt.SWTStackItemRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.ui.swt.SWTStackItemRenderer"/>
+ <message_argument value="SWTStackItemRenderer()"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/stack/ui/swt/SWTStackLayoutRenderer.java" type="org.eclipse.emf.ecp.view.spi.stack.ui.swt.SWTStackLayoutRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.ui.swt.SWTStackLayoutRenderer"/>
+ <message_argument value="SWTStackLayoutRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.ui.swt.SWTStackLayoutRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.stack.ui.swt.SWTStackLayoutRenderer"/>
+ <message_argument value="renderControl(SWTGridCell, Composite)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/META-INF/MANIFEST.MF
index 17e8a62..232223d 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.stack.ui.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Localization: plugin
Bundle-Vendor: %providerName
@@ -10,12 +10,18 @@
Require-Bundle: org.eclipse.emf.ecp.view.stack.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)"
-Import-Package: org.eclipse.swt;version="0.0.0",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0",
+ org.eclipse.swt;version="0.0.0",
org.eclipse.swt.custom;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.internal.stack.ui.swt;version
- ="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.internal.stack.ui.
- swt.messages;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.vie
- w.spi.stack.ui.swt;version="1.5.1"
+ ="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.spi.stack.ui.swt;v
+ ersion="1.6.0"
Bundle-Activator: org.eclipse.emf.ecp.view.internal.stack.ui.swt.Activator
+Service-Component: OSGI-INF/stackItemRendererService.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..454bb1b
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1 @@
+SWTStackLayoutRenderer_NoRendererForItemCompositeFound=No Renderer for %s found.
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/OSGI-INF/stackItemRendererService.xml b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/OSGI-INF/stackItemRendererService.xml
new file mode 100644
index 0000000..2817843
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/OSGI-INF/stackItemRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.stack.ui.swt.stackItem">
+ <implementation class="org.eclipse.emf.ecp.view.internal.stack.ui.swt.StackItemSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/build.properties b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/build.properties
index f70828b..ac6aad2 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/build.properties
@@ -1,8 +1,10 @@
-source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
about.html,\
plugin.properties,\
- plugin.xml
+ plugin.xml,\
+ OSGI-INF/,\
+ OSGI-INF/stackItemRendererService.xml
src.includes = about.html
+source.. = src/
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/plugin.xml b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/plugin.xml
index 8e00e57..cb60fbe 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/plugin.xml
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/plugin.xml
@@ -16,13 +16,6 @@
priority="1">
</staticTest>
</renderer>
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.stack.ui.swt.SWTStackItemRenderer">
- <staticTest
- element="org.eclipse.emf.ecp.view.spi.stack.model.VStackItem"
- priority="1">
- </staticTest>
- </renderer>
</extension>
</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/pom.xml
index 1b9f09a..db7a28d 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/Activator.java b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/Activator.java
index 2f58715..4931726 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/Activator.java
@@ -14,7 +14,10 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
/**
* The activator class controls the plug-in life cycle.
@@ -27,6 +30,8 @@
/** The shared instance. */
private static Activator plugin;
+ private ServiceReference<ReportService> reportServiceReference;
+
/**
* The constructor.
*/
@@ -63,4 +68,32 @@
plugin.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, throwable.getMessage(), throwable));
}
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/MessageKeys.java b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/MessageKeys.java
new file mode 100644
index 0000000..7a6e87c
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/MessageKeys.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.stack.ui.swt;
+
+/**
+ * Keys for translated strings.
+ *
+ * @author Eugen Neufeld
+ * @generated
+ */
+public interface MessageKeys {
+ String SWTStackLayoutRenderer_NoRendererForItemCompositeFound = "SWTStackLayoutRenderer_NoRendererForItemCompositeFound"; //$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/StackItemSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/StackItemSWTRendererService.java
new file mode 100644
index 0000000..666db9b
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/StackItemSWTRendererService.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.stack.ui.swt;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.stack.model.VStackItem;
+import org.eclipse.emf.ecp.view.spi.stack.ui.swt.SWTStackItemRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * StackItemSWTRendererService which provides the StackItemSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class StackItemSWTRendererService implements EMFFormsDIRendererService<VStackItem> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VStackItem.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ return 1d;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VStackItem>> getRendererClass() {
+ return SWTStackItemRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/StackItemViewService.java b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/StackItemViewService.java
index bf7008e..05782a3 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/StackItemViewService.java
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/StackItemViewService.java
@@ -11,18 +11,20 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.stack.ui.swt;
-import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.common.util.Enumerator;
import org.eclipse.emf.common.util.TreeIterator;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.context.ViewModelService;
import org.eclipse.emf.ecp.view.spi.model.DomainModelReferenceChangeListener;
@@ -32,6 +34,8 @@
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.stack.model.VStackItem;
import org.eclipse.emf.ecp.view.spi.stack.model.VStackLayout;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* {@link ViewModelService} evaluating changes on the {@link VDomainModelReference} of the {@link VStackLayout} based on
@@ -99,17 +103,23 @@
}
private Setting addToRegistry(VStackLayout stack, VDomainModelReference dmr) {
- Setting firstSetting = null;
- final Iterator<Setting> settings = dmr.getIterator();
- if (settings.hasNext()) {
- firstSetting = settings.next();
- }
- if (firstSetting == null) {
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding().getObservableValue(dmr, domain);
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
// TODO JF how to handle?
return null;
}
- addToRegistry(firstSetting.getEObject(), firstSetting.getEStructuralFeature(), stack);
- return firstSetting;
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+ if (!eObject.eClass().getEAllStructuralFeatures().contains(structuralFeature)) {
+ return null;
+ }
+
+ addToRegistry(eObject, structuralFeature, stack);
+ return ((InternalEObject) eObject).eSetting(structuralFeature);
}
private void addToRegistry(EObject object, final EStructuralFeature domainModelEFeature, final VStackLayout stack) {
@@ -154,7 +164,7 @@
}
} else {
if (EcorePackage.eINSTANCE.getEEnum().isInstance(domainModelEFeature.getEType())) {
- if (item.getValue().equals(Enumerator.class.cast(currentValue).getLiteral())) {
+ if (Enumerator.class.cast(currentValue).getLiteral().equals(item.getValue())) {
stack.setTopElement(item);
topElementSet = true;
break;
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/messages/Messages.java b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/messages/Messages.java
deleted file mode 100644
index 335f924..0000000
--- a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/messages/Messages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * jfaltermeier - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.stack.ui.swt.messages;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Messages for the stack swt renderer bundle.
- *
- * @author jfaltermeier
- * @generated
- *
- */
-public final class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.view.internal.stack.ui.swt.messages.messages"; //$NON-NLS-1$
- public static String SWTStackLayoutRenderer_NoRendererForItemCompositeFound;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/messages/messages.properties b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/messages/messages.properties
deleted file mode 100644
index 11e7e2e..0000000
--- a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/internal/stack/ui/swt/messages/messages.properties
+++ /dev/null
@@ -1 +0,0 @@
-SWTStackLayoutRenderer_NoRendererForItemCompositeFound=No Renderer for %s found.
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/spi/stack/ui/swt/SWTStackItemRenderer.java b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/spi/stack/ui/swt/SWTStackItemRenderer.java
index 50c2453..98d4c96 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/spi/stack/ui/swt/SWTStackItemRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/spi/stack/ui/swt/SWTStackItemRenderer.java
@@ -13,9 +13,15 @@
import java.util.Collection;
+import javax.inject.Inject;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
import org.eclipse.emf.ecp.view.spi.stack.model.VStackItem;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
/**
* The SWT {@link VStackItem} renderer.
@@ -25,6 +31,23 @@
*/
public class SWTStackItemRenderer extends ContainerSWTRenderer<VStackItem> {
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param factory the {@link EMFFormsRendererFactory}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @since 1.6
+ */
+ @Inject
+ public SWTStackItemRenderer(VStackItem vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
+ super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+ }
+
private static final String LAYOUT_STACK_ITEM = "org_eclipse_emf_ecp_ui_layout_stackitem"; //$NON-NLS-1$
/**
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/spi/stack/ui/swt/SWTStackLayoutRenderer.java b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/spi/stack/ui/swt/SWTStackLayoutRenderer.java
index be998d4..0059a46 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/spi/stack/ui/swt/SWTStackLayoutRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.stack.ui.swt/src/org/eclipse/emf/ecp/view/spi/stack/ui/swt/SWTStackLayoutRenderer.java
@@ -18,24 +18,33 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.ecp.view.internal.stack.ui.swt.Activator;
-import org.eclipse.emf.ecp.view.internal.stack.ui.swt.messages.Messages;
+import org.eclipse.emf.ecp.view.internal.stack.ui.swt.MessageKeys;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.ModelChangeListener;
import org.eclipse.emf.ecp.view.spi.model.ModelChangeNotification;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.reporting.StatusReport;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
import org.eclipse.emf.ecp.view.spi.stack.model.VStackItem;
import org.eclipse.emf.ecp.view.spi.stack.model.VStackLayout;
import org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
import org.eclipse.emf.ecp.view.spi.swt.layout.LayoutProviderHelper;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* The SWT {@link VStackLayout} renderer.
@@ -45,6 +54,18 @@
*/
public class SWTStackLayoutRenderer extends AbstractSWTRenderer<VStackLayout> {
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @since 1.6
+ */
+ public SWTStackLayoutRenderer(VStackLayout vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
private static final String CONTROL_STACK_COMPOSITE = "org_eclipse_emf_ecp_ui_layout_stack"; //$NON-NLS-1$
private SWTGridDescription gridDescription;
@@ -56,7 +77,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -69,7 +90,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.emf.ecp.view.spi.swt.Composite)
*/
@Override
@@ -89,16 +110,16 @@
final Map<VStackItem, AbstractSWTRenderer<VElement>> elementRendererMap = new LinkedHashMap<VStackItem, AbstractSWTRenderer<VElement>>();
for (final VStackItem item : getVElement().getStackItems()) {
- final AbstractSWTRenderer<VElement> renderer = getSWTRendererFactory().getRenderer(item,
- getViewModelContext());
- if (renderer == null) {
- Activator
- .getDefault()
- .getLog()
- .log(
- new Status(IStatus.INFO, Activator.PLUGIN_ID, String.format(
- Messages.SWTStackLayoutRenderer_NoRendererForItemCompositeFound, item.eClass()
- .getName())));
+ AbstractSWTRenderer<VElement> renderer;
+ try {
+ renderer = getEMFFormsRendererFactory().getRendererInstance(item,
+ getViewModelContext());
+ } catch (final EMFFormsNoRendererException ex) {
+ getReportService().report(new StatusReport(
+ new Status(IStatus.INFO, Activator.PLUGIN_ID, String.format(
+ LocalizationServiceHelper.getString(getClass(),
+ MessageKeys.SWTStackLayoutRenderer_NoRendererForItemCompositeFound), item.eClass()
+ .getName(), ex))));
continue;
}
elementRendererMap.put(item, renderer);
@@ -121,7 +142,8 @@
continue;
}
control.setLayoutData(LayoutProviderHelper.getLayoutData(currentCell, elementGridDescription,
- elementGridDescription, elementGridDescription, currentCell.getRenderer().getVElement(), control));
+ elementGridDescription, elementGridDescription, currentCell.getRenderer().getVElement(),
+ getViewModelContext().getDomainModel(), control));
}
for (final SWTGridCell currentCell : elementGridDescription.getGrid()) {
@@ -152,7 +174,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#preInit()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#preInit()
*/
@Override
protected void preInit() {
@@ -179,7 +201,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#postInit()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#postInit()
*/
@Override
protected void postInit() {
@@ -191,7 +213,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#dispose()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#dispose()
*/
@Override
protected void dispose() {
@@ -204,4 +226,13 @@
stackComposite = null;
super.dispose();
}
+
+ private EMFFormsRendererFactory getEMFFormsRendererFactory() {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<EMFFormsRendererFactory> serviceReference = bundleContext
+ .getServiceReference(EMFFormsRendererFactory.class);
+ final EMFFormsRendererFactory rendererFactory = bundleContext.getService(serviceReference);
+ bundleContext.ungetService(serviceReference);
+ return rendererFactory;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/META-INF/MANIFEST.MF
index d73b46b..d5e775f 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Stack Layout Viewmodel
Bundle-SymbolicName: org.eclipse.emf.ecp.view.stack.viewmodel;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi
diff --git a/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/pom.xml b/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/pom.xml
index 695c446..d135ac5 100644
--- a/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.stack.viewmodel/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.swt.layout/.gitignore b/bundles/org.eclipse.emf.ecp.view.swt.layout/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.swt.layout/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.swt.layout/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.swt.layout/META-INF/MANIFEST.MF
index 629f4b7..d074d7e 100644
--- a/bundles/org.eclipse.emf.ecp.view.swt.layout/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.swt.layout/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Default LayoutProvider
Bundle-SymbolicName: org.eclipse.emf.ecp.view.swt.layout;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)"
Import-Package: org.eclipse.jface.layout;version="0.0.0",
@@ -10,5 +10,5 @@
org.eclipse.swt.layout;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.swt.internal.layout;version="
- 1.5.1";x-internal:=true
+ 1.6.0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.view.swt.layout/pom.xml b/bundles/org.eclipse.emf.ecp.view.swt.layout/pom.xml
index 62117d8..7c17fdd 100644
--- a/bundles/org.eclipse.emf.ecp.view.swt.layout/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.swt.layout/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.swt.layout</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.swt.layout/src/org/eclipse/emf/ecp/view/swt/internal/layout/ECPLayoutProvider.java b/bundles/org.eclipse.emf.ecp.view.swt.layout/src/org/eclipse/emf/ecp/view/swt/internal/layout/ECPLayoutProvider.java
index 58a991b..1ac27f0 100644
--- a/bundles/org.eclipse.emf.ecp.view.swt.layout/src/org/eclipse/emf/ecp/view/swt/internal/layout/ECPLayoutProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.swt.layout/src/org/eclipse/emf/ecp/view/swt/internal/layout/ECPLayoutProvider.java
@@ -11,12 +11,12 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.swt.internal.layout;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.swt.layout.AbstractLayoutProvider;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.swt.SWT;
@@ -40,15 +40,14 @@
}
@Override
- public Object getLayoutData(SWTGridCell gridCell,
- SWTGridDescription controlGridDescription,
+ public Object getLayoutData(SWTGridCell gridCell, SWTGridDescription controlGridDescription,
SWTGridDescription currentRowGridDescription, SWTGridDescription fullGridDescription, VElement vElement,
- Control control) {
+ EObject domainModel, Control control) {
if (VControl.class.isInstance(vElement)) {
// last column of control
if (gridCell.getColumn() + gridCell.getHorizontalSpan() == controlGridDescription.getColumns()) {
return getControlGridData(gridCell.getHorizontalSpan() + fullGridDescription.getColumns()
- - currentRowGridDescription.getColumns(), VControl.class.cast(vElement), control);
+ - currentRowGridDescription.getColumns(), VControl.class.cast(vElement), domainModel, control);
} else if (controlGridDescription.getColumns() == 3 && gridCell.getColumn() == 0) {
return getLabelGridData();
} else if (controlGridDescription.getColumns() == 3 && gridCell.getColumn() == 1) {
@@ -79,15 +78,13 @@
.hint(16, 17).grab(false, false).create();
}
- private GridData getControlGridData(int xSpan, VControl vControl, Control control) {
+ private GridData getControlGridData(int xSpan, VControl vControl, EObject domainModel, Control control) {
GridDataFactory gdf =
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER)
.grab(true, false).span(xSpan, 1);
if (Text.class.isInstance(control) && vControl.getDomainModelReference() != null) {
- final Setting setting = vControl.getDomainModelReference().getIterator().next();
-
- if (isMultiLine(setting)) {
+ if (isMultiLine(vControl.getDomainModelReference(), domainModel)) {
gdf = gdf.hint(50, 200); // set x hint to enable wrapping
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/.gitignore b/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/META-INF/MANIFEST.MF
index bb321a9..3964919 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Table UI SWT Additional Cell Editors for Non-RAP Applications
Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.celleditor.rcp;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.jface;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
@@ -10,9 +10,10 @@
org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)",
org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.jface.databinding;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.view.internal.table.celleditor.rcp
- ;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.spi.table.
- celleditor.rcp;version="1.5.1";x-internal:=true
+ ;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.spi.table.
+ celleditor.rcp;version="1.6.0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/pom.xml
index 1453315..52c05bf 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.table.celleditor.rcp</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/src/org/eclipse/emf/ecp/view/internal/table/celleditor/rcp/BooleanCellEditor.java b/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/src/org/eclipse/emf/ecp/view/internal/table/celleditor/rcp/BooleanCellEditor.java
index 53f0a7f..786447b 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/src/org/eclipse/emf/ecp/view/internal/table/celleditor/rcp/BooleanCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp/src/org/eclipse/emf/ecp/view/internal/table/celleditor/rcp/BooleanCellEditor.java
@@ -11,6 +11,7 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.table.celleditor.rcp;
+import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.UpdateValueStrategy;
import org.eclipse.core.databinding.observable.Diffs;
import org.eclipse.core.databinding.observable.value.AbstractObservableValue;
@@ -118,20 +119,20 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy()
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy(org.eclipse.core.databinding.DataBindingContext)
*/
@Override
- public UpdateValueStrategy getTargetToModelStrategy() {
+ public UpdateValueStrategy getTargetToModelStrategy(DataBindingContext databindingContext) {
return new EMFUpdateValueStrategy();
}
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy()
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy(org.eclipse.core.databinding.DataBindingContext)
*/
@Override
- public UpdateValueStrategy getModelToTargetStrategy() {
+ public UpdateValueStrategy getModelToTargetStrategy(DataBindingContext databindingContext) {
return new EMFUpdateValueStrategy();
}
@@ -292,4 +293,14 @@
}
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getMinWidth()
+ */
+ @Override
+ public int getMinWidth() {
+ return 0;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.columnservice/.gitignore b/bundles/org.eclipse.emf.ecp.view.table.columnservice/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.columnservice/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.table.columnservice/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.columnservice/META-INF/MANIFEST.MF
index 24a22b0..6c09aea 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.columnservice/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.columnservice/META-INF/MANIFEST.MF
@@ -2,11 +2,17 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP View Table Column Service
Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.columnservice;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.table.model;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.view.internal.table.columnservice;
- version="1.5.1";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt.tes
+ version="1.6.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt.tes
t"
Bundle-Vendor: Eclipse Modeling Project
+Bundle-Activator: org.eclipse.emf.ecp.view.internal.table.columnservice.Activator
+Bundle-ActivationPolicy: lazy
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.view.table.columnservice/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.columnservice/pom.xml
index 076e056..d74200b 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.columnservice/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.columnservice/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.table.columnservice</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.columnservice/src/org/eclipse/emf/ecp/view/internal/table/columnservice/Activator.java b/bundles/org.eclipse.emf.ecp.view.table.columnservice/src/org/eclipse/emf/ecp/view/internal/table/columnservice/Activator.java
new file mode 100644
index 0000000..23b8deb
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.columnservice/src/org/eclipse/emf/ecp/view/internal/table/columnservice/Activator.java
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.table.columnservice;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * Activator of the view.table.columnservice bundle.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class Activator extends Plugin {
+ /** The plug-in ID. */
+ public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.table.columnservice"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ private ServiceReference<ReportService> reportServiceReference;
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.columnservice/src/org/eclipse/emf/ecp/view/internal/table/columnservice/AddColumnService.java b/bundles/org.eclipse.emf.ecp.view.table.columnservice/src/org/eclipse/emf/ecp/view/internal/table/columnservice/AddColumnService.java
index ff50d05..236aee6 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.columnservice/src/org/eclipse/emf/ecp/view/internal/table/columnservice/AddColumnService.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.columnservice/src/org/eclipse/emf/ecp/view/internal/table/columnservice/AddColumnService.java
@@ -11,20 +11,20 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.table.columnservice;
-import java.util.Iterator;
-
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.util.TreeIterator;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.view.internal.table.generator.TableColumnGenerator;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.context.ViewModelService;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* This service will iterate over all contents of the {@link org.eclipse.emf.ecp.view.spi.model.VView VView} and will
@@ -36,6 +36,8 @@
*/
public class AddColumnService implements ViewModelService {
+ private ViewModelContext context;
+
/**
* {@inheritDoc}
*
@@ -43,6 +45,7 @@
*/
@Override
public void instantiate(ViewModelContext context) {
+ this.context = context;
final VElement viewModel = context.getViewModel();
if (viewModel instanceof VTableControl) {
addColumnsIfNeeded((VTableControl) viewModel);
@@ -67,12 +70,23 @@
}
if (VTableDomainModelReference.class.cast(tableControl.getDomainModelReference())
.getColumnDomainModelReferences().size() < 1) {
- final Iterator<Setting> settings = tableControl.getDomainModelReference().getIterator();
- if (!settings.hasNext()) {
+ final VTableDomainModelReference tableDMR = (VTableDomainModelReference) tableControl
+ .getDomainModelReference();
+ final IValueProperty valueProperty;
+ try {
+ if (tableDMR.getDomainModelReference() != null) {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(tableDMR.getDomainModelReference(), context.getDomainModel());
+ } else {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(tableDMR, context.getDomainModel());
+ }
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return;
}
- final Setting firstSetting = settings.next();
- final EStructuralFeature structuralFeature = firstSetting.getEStructuralFeature();
+
+ final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();
final EClassifier eType = structuralFeature.getEType();
if (eType instanceof EClass) {
final EClass clazz = (EClass) eType;
diff --git a/bundles/org.eclipse.emf.ecp.view.table.edapt/.gitignore b/bundles/org.eclipse.emf.ecp.view.table.edapt/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.edapt/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.table.edapt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.edapt/META-INF/MANIFEST.MF
index d830b21..7b7d2dc 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.edapt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.edapt/META-INF/MANIFEST.MF
@@ -2,9 +2,9 @@
Bundle-ManifestVersion: 2
Bundle-Name: Edapt Migration for Table View Model
Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.edapt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.edapt.migration;bundle-version="[1.0.0,2.0.0)"
Bundle-Vendor: Eclipse Modeling Project
Export-Package: org.eclipse.emf.ecp.view.table.edapt._140to150;version
- ="1.5.1";x-internal:=true
+ ="1.6.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.ecp.view.table.edapt/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.edapt/pom.xml
index bd9161f..6a8c7b4 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.edapt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.edapt/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.table.edapt</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.project b/bundles/org.eclipse.emf.ecp.view.table.editor/.project
deleted file mode 100644
index 426796c..0000000
--- a/bundles/org.eclipse.emf.ecp.view.table.editor/.project
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.ecp.view.table.editor</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.editor/META-INF/MANIFEST.MF
deleted file mode 100644
index 570d541..0000000
--- a/bundles/org.eclipse.emf.ecp.view.table.editor/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: ECP View Table Additional Features for Editor
-Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.editor;singleton:=true
-Bundle-Version: 1.5.1.qualifier
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.view.table.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.common.ui
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.view.internal.table.editor;version
- ="1.5.1";x-internal:=true
-Import-Package: org.eclipse.core.commands;version="0.0.0",
- org.eclipse.jface.dialogs;version="0.0.0",
- org.eclipse.jface.viewers;version="0.0.0",
- org.eclipse.jface.window;version="0.0.0",
- org.eclipse.jface.wizard;version="0.0.0",
- org.eclipse.swt.widgets;version="0.0.0",
- org.eclipse.ui.handlers;version="0.0.0"
-Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/build.properties b/bundles/org.eclipse.emf.ecp.view.table.editor/build.properties
deleted file mode 100644
index 79a6d66..0000000
--- a/bundles/org.eclipse.emf.ecp.view.table.editor/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- icons/,\
- plugin.xml,\
- about.html
-src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/icons/full/obj16/TableColumn.gif b/bundles/org.eclipse.emf.ecp.view.table.editor/icons/full/obj16/TableColumn.gif
deleted file mode 100644
index 97b2e03..0000000
--- a/bundles/org.eclipse.emf.ecp.view.table.editor/icons/full/obj16/TableColumn.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/plugin.xml b/bundles/org.eclipse.emf.ecp.view.table.editor/plugin.xml
deleted file mode 100644
index 96140e8..0000000
--- a/bundles/org.eclipse.emf.ecp.view.table.editor/plugin.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.ui.commands">
- <command
- defaultHandler="org.eclipse.emf.ecp.view.internal.table.editor.GenerateColumnsHandler"
- id="org.eclipse.emf.ecp.view.table.model.edit.generateColumns"
- name="Generate Columns">
- </command>
- </extension>
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- allPopups="false"
- locationURI="popup:org.eclipse.emf.ecp.ui.ModelExplorerView">
- <command
- commandId="org.eclipse.emf.ecp.view.table.model.edit.generateColumns"
- icon="icons/full/obj16/TableColumn.gif"
- label="Generate Columns"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeMenuSelection">
- <and>
- <count
- value="1">
- </count>
- <iterate>
- <instanceof
- value="org.eclipse.emf.ecp.view.spi.table.model.VTableControl">
- </instanceof>
- </iterate>
- </and>
- </with>
- </visibleWhen>
- </command>
- </menuContribution>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.editor/pom.xml
deleted file mode 100644
index 68f0aac..0000000
--- a/bundles/org.eclipse.emf.ecp.view.table.editor/pom.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.emf.ecp</groupId>
- <artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
- <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
- </parent>
-
- <artifactId>org.eclipse.emf.ecp.view.table.editor</artifactId>
- <packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
-
-</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/src/org/eclipse/emf/ecp/view/internal/table/editor/GenerateColumnsHandler.java b/bundles/org.eclipse.emf.ecp.view.table.editor/src/org/eclipse/emf/ecp/view/internal/table/editor/GenerateColumnsHandler.java
deleted file mode 100644
index bb6be7b..0000000
--- a/bundles/org.eclipse.emf.ecp.view.table.editor/src/org/eclipse/emf/ecp/view/internal/table/editor/GenerateColumnsHandler.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Johannes Faltermeier - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.table.editor;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecp.internal.wizards.SelectEStructuralFeaturesWizard;
-import org.eclipse.emf.ecp.spi.common.ui.CompositeFactory;
-import org.eclipse.emf.ecp.spi.common.ui.composites.CheckedEStructuralFeatureComposite;
-import org.eclipse.emf.ecp.view.internal.table.generator.TableColumnGenerator;
-import org.eclipse.emf.ecp.view.spi.model.impl.VFeaturePathDomainModelReferenceImpl;
-import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- *
- * Handler for generation the child {@link org.eclipse.emf.ecp.view.spi.model.VDomainModelReference
- * VDomainModelReferences} of a {@link VTableControl}.
- *
- * @author jfaltermeier
- *
- */
-public class GenerateColumnsHandler extends AbstractHandler {
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- final Object selection = ((IStructuredSelection) HandlerUtil.getActiveMenuSelection(event)).getFirstElement();
- if (selection == null || !(selection instanceof VTableControl)) {
- return null;
- }
- final VTableControl tableControl = (VTableControl) selection;
- final VFeaturePathDomainModelReferenceImpl domainModelReference = (VFeaturePathDomainModelReferenceImpl) tableControl
- .getDomainModelReference();
- if (domainModelReference == null) {
- MessageDialog.openInformation(Display.getDefault().getActiveShell(), "Cannot generate Columns",
- "Please set the domain model reference before generating columns.");
- return null;
- }
- final EStructuralFeature feature = domainModelReference.getDomainModelEFeature();
- if (feature == null) {
- MessageDialog.openInformation(Display.getDefault().getActiveShell(), "Cannot generate Columns",
- "Please set a feature in the domain model reference before generating columns.");
- return null;
- }
-
- final EClassifier eType = feature.getEType();
- if (eType instanceof EClass) {
- final EClass clazz = (EClass) eType;
- final Object[] attributesForColumns = getAttributesForColumns(clazz.getEAttributes().toArray(
- new EAttribute[clazz.getEAttributes().size()]));
- for (final Object o : attributesForColumns) {
- if (!(o instanceof EAttribute)) {
- continue;
- }
- final EAttribute a = (EAttribute) o;
- TableColumnGenerator.addColumn(a, tableControl);
- }
- }
-
- return null;
- }
-
- private Object[] getAttributesForColumns(EAttribute[] attributes) {
- final SelectEStructuralFeaturesWizard wizard = new SelectEStructuralFeaturesWizard();
- final CheckedEStructuralFeatureComposite compositeProvider = CompositeFactory
- .getCheckedTableSelectionComposite(attributes);
- wizard.setCompositeProvider(compositeProvider);
-
- final WizardDialog wd = new WizardDialog(Display.getDefault().getActiveShell(), wizard);
- Object[] toReturn = new Object[0];
- final int result = wd.open();
- if (result == Window.OK) {
- final Object[] selection = compositeProvider.getSelection();
- if (selection == null || selection.length == 0) {
- return toReturn;
- }
- toReturn = selection;
- }
- return toReturn;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.table.model.edit/.settings/.api_filters
index 2004412..580f2fd 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.table.model.edit/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.table.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model.edit"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.table.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.table.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.table.model.edit_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.model.edit/META-INF/MANIFEST.MF
index 3889a94..0d6f341 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.table.model.provider.TableEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.table.model.provider;vers
- ion="1.5.1"
+ ion="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.table.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.model.edit/pom.xml
index e1e920a..011ab43 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.model.edit/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.table.model.edit</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model.edit/src/org/eclipse/emf/ecp/view/spi/table/model/provider/TableControlItemProvider.java b/bundles/org.eclipse.emf.ecp.view.table.model.edit/src/org/eclipse/emf/ecp/view/spi/table/model/provider/TableControlItemProvider.java
index 8bb82e4..af77a29 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model.edit/src/org/eclipse/emf/ecp/view/spi/table/model/provider/TableControlItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.model.edit/src/org/eclipse/emf/ecp/view/spi/table/model/provider/TableControlItemProvider.java
@@ -17,6 +17,8 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.ecp.view.spi.model.provider.ControlItemProvider;
@@ -225,11 +227,14 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object) {
- final String label = ((VTableControl) object).getName();
+ String label = ((VTableControl) object).getName();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_TableControl_type") : //$NON-NLS-1$
getString("_UI_TableControl_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model/.project b/bundles/org.eclipse.emf.ecp.view.table.model/.project
index fa44bb9..34d9c0f 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model/.project
+++ b/bundles/org.eclipse.emf.ecp.view.table.model/.project
@@ -6,6 +6,11 @@
</projects>
<buildSpec>
<buildCommand>
+ <name>com.wuetherich.osgi.ds.annotations.dsAnnotationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
@@ -36,5 +41,6 @@
<nature>org.eclipse.pde.PluginNature</nature>
<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>
</natures>
</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.table.model/.settings/.api_filters
index 2f4de7e..b23b04f 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.table.model/.settings/.api_filters
@@ -7,10 +7,34 @@
<message_argument value="1.4.0"/>
</message_arguments>
</filter>
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.table.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.table.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.table.model_1.5.0"/>
</message_arguments>
</filter>
</resource>
@@ -29,6 +53,97 @@
</filter>
</resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/table/model/VTablePackage.java" type="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage">
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage"/>
+ <message_argument value="TABLE_CONTROL_FEATURE_COUNT"/>
+ <message_argument value="13"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage"/>
+ <message_argument value="TABLE_CONTROL__ADD_REMOVE_DISABLED"/>
+ <message_argument value="8"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage"/>
+ <message_argument value="TABLE_CONTROL__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage"/>
+ <message_argument value="TABLE_CONTROL__COLUMN_CONFIGURATIONS"/>
+ <message_argument value="9"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage"/>
+ <message_argument value="TABLE_CONTROL__DETAIL_EDITING"/>
+ <message_argument value="10"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage"/>
+ <message_argument value="TABLE_CONTROL__DETAIL_VIEW"/>
+ <message_argument value="11"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage"/>
+ <message_argument value="TABLE_CONTROL__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage"/>
+ <message_argument value="TABLE_CONTROL__DOMAIN_MODEL_REFERENCE"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage"/>
+ <message_argument value="TABLE_CONTROL__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage"/>
+ <message_argument value="TABLE_CONTROL__ENABLE_DETAIL_EDITING_DIALOG"/>
+ <message_argument value="12"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage"/>
+ <message_argument value="TABLE_CONTROL__LABEL_ALIGNMENT"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage"/>
+ <message_argument value="TABLE_CONTROL__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage"/>
+ <message_argument value="TABLE_CONTROL__VISIBLE"/>
+ <message_argument value="1"/>
+ </message_arguments>
+ </filter>
<filter comment="SPI Change with 1.5.0" id="388194388">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.table.model.VTablePackage"/>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.model/META-INF/MANIFEST.MF
index e29130b..dee22d5 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.model/META-INF/MANIFEST.MF
@@ -2,18 +2,23 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.emf.ecp.view.internal.table.model.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.view.internal.table.generator;vers
- ion="1.5.1"; x-friends:="org.eclipse.emf.ecp.view.table.columnservice
- , org.eclipse.emf.ecp.view.table.editor",org.eclipse.emf.ecp.view.sp
- i.table.model;version="1.5.1",org.eclipse.emf.ecp.view.spi.table.mode
- l.impl;version="1.5.1",org.eclipse.emf.ecp.view.spi.table.model.util;
- version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.internal.table.generator;version="1.6.0";x-friends:="org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor",
+ org.eclipse.emf.ecp.view.internal.table.model;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.table.model;version="1.6.0",
+ org.eclipse.emf.ecp.view.spi.table.model.impl;version="1.6.0",
+ org.eclipse.emf.ecp.view.spi.table.model.util;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
+Service-Component: OSGI-INF/org.eclipse.emf.ecp.view.internal.table.model.TableDMRConverter.xml
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)",
+ org.osgi.service.component.annotations;version="1.2.0"
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model/OSGI-INF/org.eclipse.emf.ecp.view.internal.table.model.TableDMRConverter.xml b/bundles/org.eclipse.emf.ecp.view.table.model/OSGI-INF/org.eclipse.emf.ecp.view.internal.table.model.TableDMRConverter.xml
new file mode 100644
index 0000000..c445f5e
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.model/OSGI-INF/org.eclipse.emf.ecp.view.internal.table.model.TableDMRConverter.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emf/ecp/view/internal/table/model/TableDMRConverter.java]-->
+<scr:component name="org.eclipse.emf.ecp.view.internal.table.model.TableDMRConverter" activate="activate" deactivate="deactivate" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0">
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter"/>
+ </service>
+ <implementation class="org.eclipse.emf.ecp.view.internal.table.model.TableDMRConverter"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model/build.properties b/bundles/org.eclipse.emf.ecp.view.table.model/build.properties
index 5730c54..e799414 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.table.model/build.properties
@@ -1,24 +1,15 @@
-# Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Eugen Neufeld - initial API and implementation
-
bin.includes = .,\
- model/,\
META-INF/,\
+ model/,\
plugin.xml,\
plugin.properties,\
about.html,\
about.ini,\
about.mappings,\
about.properties,\
- modeling32.png
-jars.compile.order = .
-source.. = src/
+ modeling32.png,\
+ OSGI-INF/
output.. = bin/
+jars.compile.order = .
src.includes = about.html
+source.. = src/
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.model/pom.xml
index 209196f..6b69c94 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.model/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.table.model</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model/src/org/eclipse/emf/ecp/view/internal/table/model/Activator.java b/bundles/org.eclipse.emf.ecp.view.table.model/src/org/eclipse/emf/ecp/view/internal/table/model/Activator.java
new file mode 100644
index 0000000..e5052a1
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.model/src/org/eclipse/emf/ecp/view/internal/table/model/Activator.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.table.model;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ *
+ * @author Lucas Koehler
+ */
+public class Activator extends Plugin {
+
+ /** The plug-in ID. */
+ public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.table.model"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ private ServiceReference<ReportService> reportServiceReference;
+
+ /**
+ * The constructor.
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model/src/org/eclipse/emf/ecp/view/internal/table/model/TableDMRConverter.java b/bundles/org.eclipse.emf.ecp.view.table.model/src/org/eclipse/emf/ecp/view/internal/table/model/TableDMRConverter.java
new file mode 100644
index 0000000..7f196b4
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.model/src/org/eclipse/emf/ecp/view/internal/table/model/TableDMRConverter.java
@@ -0,0 +1,128 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.table.model;
+
+import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+
+/**
+ * @author Eugen
+ *
+ */
+@Component
+public class TableDMRConverter implements DomainModelReferenceConverter {
+ private EMFFormsDatabinding emfFormsDatabinding;
+ private ServiceReference<EMFFormsDatabinding> databindingServiceReference;
+
+ /**
+ * This method is called by the OSGI framework when this {@link DomainModelReferenceConverter} is activated. It
+ * retrieves the {@link EMFFormsDatabinding EMF Forms databinding service}.
+ *
+ * @param bundleContext The {@link BundleContext} of this classes bundle.
+ */
+ @Activate
+ protected final void activate(BundleContext bundleContext) {
+ databindingServiceReference = bundleContext.getServiceReference(EMFFormsDatabinding.class);
+ emfFormsDatabinding = bundleContext.getService(databindingServiceReference);
+
+ }
+
+ /**
+ * This method is called by the OSGI framework when this {@link DomainModelReferenceConverter} is deactivated.
+ * It frees the {@link EMFFormsDatabinding EMF Forms databinding service}.
+ *
+ * @param bundleContext The {@link BundleContext} of this classes bundle.
+ */
+ @Deactivate
+ protected final void deactivate(BundleContext bundleContext) {
+ bundleContext.ungetService(databindingServiceReference);
+ emfFormsDatabinding = null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#isApplicable(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)
+ */
+ @Override
+ public double isApplicable(VDomainModelReference domainModelReference) {
+ if (VTableDomainModelReference.class.isInstance(domainModelReference)
+ && VTableDomainModelReference.class.cast(domainModelReference).getDomainModelReference() != null) {
+ return 5;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,
+ * EObject)
+ */
+ @Override
+ public IValueProperty convertToValueProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (!VTableDomainModelReference.class.isInstance(domainModelReference)) {
+ throw new IllegalArgumentException(
+ "DomainModelReference must be an instance of VTableDomainModelReference."); //$NON-NLS-1$
+ }
+
+ final VTableDomainModelReference tableDomainModelReference = VTableDomainModelReference.class
+ .cast(domainModelReference);
+ if (tableDomainModelReference.getDomainModelReference() == null) {
+ throw new DatabindingFailedException(
+ "The field domainModelReference of the given VTableDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ return emfFormsDatabinding.getValueProperty(tableDomainModelReference.getDomainModelReference(), object);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#convertToListProperty(VDomainModelReference,
+ * EObject)
+ */
+ @Override
+ public IListProperty convertToListProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (!VTableDomainModelReference.class.isInstance(domainModelReference)) {
+ throw new IllegalArgumentException(
+ "DomainModelReference must be an instance of VTableDomainModelReference."); //$NON-NLS-1$
+ }
+
+ final VTableDomainModelReference tableDomainModelReference = VTableDomainModelReference.class
+ .cast(domainModelReference);
+ if (tableDomainModelReference.getDomainModelReference() == null) {
+ throw new DatabindingFailedException(
+ "The field domainModelReference of the given VTableDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ return emfFormsDatabinding.getListProperty(tableDomainModelReference.getDomainModelReference(), object);
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.model/src/org/eclipse/emf/ecp/view/spi/table/model/util/TableValidator.java b/bundles/org.eclipse.emf.ecp.view.table.model/src/org/eclipse/emf/ecp/view/spi/table/model/util/TableValidator.java
index 79e1d7e..c50b9d5 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.model/src/org/eclipse/emf/ecp/view/spi/table/model/util/TableValidator.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.model/src/org/eclipse/emf/ecp/view/spi/table/model/util/TableValidator.java
@@ -14,13 +14,13 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.util.BasicDiagnostic;
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.common.util.DiagnosticChain;
@@ -33,6 +33,7 @@
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EValidator;
import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.emf.ecp.view.internal.table.model.Activator;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.ecp.view.spi.model.util.ViewValidator;
@@ -42,11 +43,14 @@
import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
import org.eclipse.emf.ecp.view.spi.table.model.VTablePackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
/**
* <!-- begin-user-doc -->
* The <b>Validator</b> for the model.
- *
+ *
* @since 1.5
* <!-- end-user-doc -->
*
@@ -103,6 +107,27 @@
* @generated
*/
protected ViewValidator viewValidator;
+ /**
+ * The test EMFFormsDatabinding service.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ private EMFFormsDatabinding emfFormsDatabinding;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * This is a constructor for test cases.
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ TableValidator(EMFFormsDatabinding emfFormsDatabinding) {
+ this();
+ this.emfFormsDatabinding = emfFormsDatabinding;
+ }
/**
* Creates an instance of the switch.
@@ -289,11 +314,15 @@
}
// test if table ends a multi reference
- final Iterator<EStructuralFeature> iterator = pathToMultiRef.getEStructuralFeatureIterator();
- if (!iterator.hasNext()) {
+ IValueProperty valueProperty;
+ try {
+ valueProperty = getEMFFormsDatabinding()
+ .getValueProperty(pathToMultiRef, null);
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return true;
}
- final EStructuralFeature feature = iterator.next();
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
if (!EReference.class.isInstance(feature) || !feature.isMany()) {
if (diagnostics != null) {
final String message = "Domain model reference does not end at a multi reference."; //$NON-NLS-1$
@@ -368,6 +397,13 @@
}
+ private EMFFormsDatabinding getEMFFormsDatabinding() {
+ if (emfFormsDatabinding != null) {
+ return emfFormsDatabinding;
+ }
+ return Activator.getDefault().getEMFFormsDatabinding();
+ }
+
// END COMPLEX CODE
private Diagnostic createDiagnostic(int severity, int code, String message, EObject object,
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/.project b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/.project
index 123949c..c4dc668 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/.project
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/.project
@@ -30,6 +30,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/.settings/.api_filters
new file mode 100644
index 0000000..eec3588
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/.settings/.api_filters
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.emf.ecp.view.table.ui.swt" version="2">
+ <resource path="META-INF/MANIFEST.MF">
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/table/swt/DetailDialog.java" type="org.eclipse.emf.ecp.view.spi.table.swt.DetailDialog">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.swt.DetailDialog"/>
+ <message_argument value="DetailDialog(Shell, EObject, VTableControl)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailDialogSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.table.swt.TableControlDetailDialogSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.swt.TableControlDetailDialogSWTRenderer"/>
+ <message_argument value="TableControlDetailDialogSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailPanelRenderer.java" type="org.eclipse.emf.ecp.view.spi.table.swt.TableControlDetailPanelRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.swt.TableControlDetailPanelRenderer"/>
+ <message_argument value="TableControlDetailPanelRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.swt.TableControlDetailPanelRenderer"/>
+ <message_argument value="deleteRows(List<EObject>, EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer"/>
+ <message_argument value="TableControlSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer"/>
+ <message_argument value="addRow(EClass, EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer"/>
+ <message_argument value="deleteRowUserConfirmDialog(List<EObject>, EStructuralFeature.Setting, Button, Button)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer"/>
+ <message_argument value="deleteRows(List<EObject>, EStructuralFeature.Setting)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="SPI Change in 1.6" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer"/>
+ <message_argument value="isDebug()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer"/>
+ <message_argument value="renderControl(SWTGridCell, Composite)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer$ECPCellLabelProvider">
+ <filter comment="SPI change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer.ECPCellLabelProvider"/>
+ <message_argument value="ECPCellLabelProvider(TableControlSWTRenderer, EStructuralFeature, CellEditor, IObservableMap, VTableControl, VDomainModelReference)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/META-INF/MANIFEST.MF
index 3dbc606..d78ca33 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/META-INF/MANIFEST.MF
@@ -1,8 +1,8 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Table UI SWT
-Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.ui.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.ui.swt
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
@@ -14,10 +14,17 @@
org.eclipse.core.commands;bundle-version="[3.5.0,4.0.0)",
org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.jface.databinding.swt;version="0.0.0",
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
org.eclipse.jface.databinding.viewers;version="0.0.0",
org.eclipse.jface.dialogs;version="0.0.0",
org.eclipse.jface.layout;version="0.0.0",
@@ -31,6 +38,8 @@
org.eclipse.swt.layout;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.internal.table.swt;version="1
- .5.1";x-friends:="org.eclipse.emf.ecp.view.ui.editor.test",org.eclips
- e.emf.ecp.view.spi.table.swt;version="1.5.1"
+ .6.0";x-friends:="org.eclipse.emf.ecp.view.ui.editor.test",org.eclips
+ e.emf.ecp.view.spi.table.swt;version="1.6.0"
Bundle-Activator: org.eclipse.emf.ecp.view.internal.table.swt.Activator
+Service-Component: OSGI-INF/tableDetailDialogRendererService.xml,OSGI-INF/tableDetailPanelRendererService.xml,
+ OSGI-INF/tableRendererService.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..962cd2a
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,5 @@
+TableControl_ValidationStatusColumn=Validation Status
+TableControl_RemoveSelected=Remove the selected %1$s
+TableControl_AddInstanceOf=Add an instance of %1$s
+TableControl_Delete=Delete?
+TableControl_DeleteAreYouSure=Are you sure you want to delete the selected Elements?
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/OSGI-INF/tableDetailDialogRendererService.xml b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/OSGI-INF/tableDetailDialogRendererService.xml
new file mode 100644
index 0000000..1f3fa68
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/OSGI-INF/tableDetailDialogRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.table.ui.swt.dialogRendererService">
+ <implementation class="org.eclipse.emf.ecp.view.internal.table.swt.TableControlDetailDialogSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/OSGI-INF/tableDetailPanelRendererService.xml b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/OSGI-INF/tableDetailPanelRendererService.xml
new file mode 100644
index 0000000..56403e6
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/OSGI-INF/tableDetailPanelRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.table.ui.swt.panelRendererService">
+ <implementation class="org.eclipse.emf.ecp.view.internal.table.swt.TableControlDetailPanelSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/OSGI-INF/tableRendererService.xml b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/OSGI-INF/tableRendererService.xml
new file mode 100644
index 0000000..d0f545c
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/OSGI-INF/tableRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.table.ui.swt.rendererService">
+ <implementation class="org.eclipse.emf.ecp.view.internal.table.swt.TableControlSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/build.properties b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/build.properties
index 8639a59..e8dab34 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/build.properties
@@ -1,9 +1,9 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- icons/,\
- about.html,\
- schema/
-src.includes = about.html
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ icons/,\
+ about.html,\
+ schema/,\
+ OSGI-INF/
+src.includes = about.html
+source.. = src/
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/plugin.xml b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/plugin.xml
deleted file mode 100644
index a798e8f..0000000
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/plugin.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension-point id="cellReadOnly" name="cellReadOnly" schema="schema/cellReadOnly.exsd"/>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.internal.table.swt.TableControlRendererTester">
- </dynamicTest>
- </renderer>
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.table.swt.TableControlDetailDialogSWTRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.internal.table.swt.TableControlDetailDialogRendererTester">
- </dynamicTest>
- </renderer>
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.table.swt.TableControlDetailPanelRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.view.internal.table.swt.TableControlDetailPanelRendererTester">
- </dynamicTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/pom.xml
index da258ec..1d635fc 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.table.ui.swt</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/AbstractTableControlRendererTester.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/AbstractTableControlRendererTester.java
deleted file mode 100644
index eef23b2..0000000
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/AbstractTableControlRendererTester.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Johannes Faltermeier - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.table.swt;
-
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.table.model.DetailEditing;
-import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
-
-/**
- * Abstract {@link ECPRendererTester} for {@link VTableControl VTableControls} based on
- * {@link VTableControl#getDetailEditing()}.
- *
- * @author jfaltermeier
- *
- */
-public abstract class AbstractTableControlRendererTester implements ECPRendererTester {
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.model.common.ECPRendererTester#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
- * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
- */
- @Override
- public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
- if (!VTableControl.class.isInstance(vElement)) {
- return NOT_APPLICABLE;
- }
- if (getDetailEditing() == VTableControl.class.cast(vElement).getDetailEditing()) {
- return 2;
- }
- return NOT_APPLICABLE;
- }
-
- /**
- * Returns the {@link DetailEditing} of the {@link VTableControl} for which the tester will not return
- * {@link ECPRendererTester#NOT_APPLICABLE}.
- *
- * @return the detail editing value
- */
- protected abstract DetailEditing getDetailEditing();
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/Activator.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/Activator.java
index ff96c59..fd49727 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/Activator.java
@@ -11,16 +11,10 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.table.swt;
-import java.net.URL;
-
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
-import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
-import org.eclipse.swt.graphics.Image;
import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
/**
* Activator for this plugin.
@@ -48,45 +42,45 @@
// END SUPRESS CATCH EXCEPTION
- /**
- * Finds and returns an image for the provided path.
- *
- * @param path the path to get the image from
- * @return the image or null if nothing could be found
- */
- public static Image getImage(String path) {
-
- final Image image = instance.getImageRegistryService().getImage(instance.getBundle(), path);
-
- instance.getBundle().getBundleContext().ungetService(instance.imageRegistryServiceReference);
-
- return image;
- }
-
- /**
- * Finds and returns an image for the provided {@link URL}.
- *
- * @param url the {@link URL} to get the image from
- * @return the image or null if nothing could be found
- */
- public static Image getImage(URL url) {
- final Image image = instance.getImageRegistryService().getImage(url);
-
- instance.getBundle().getBundleContext().ungetService(instance.imageRegistryServiceReference);
-
- return image;
- }
-
- private ServiceReference<ImageRegistryService> imageRegistryServiceReference;
-
- private ImageRegistryService getImageRegistryService() {
- if (imageRegistryServiceReference == null) {
- imageRegistryServiceReference = getBundle().getBundleContext()
- .getServiceReference(ImageRegistryService.class);
- }
- return getBundle().getBundleContext().getService(imageRegistryServiceReference);
- }
-
+ // /**
+ // * Finds and returns an image for the provided path.
+ // *
+ // * @param path the path to get the image from
+ // * @return the image or null if nothing could be found
+ // */
+ // public static Image getImage(String path) {
+ //
+ // final Image image = instance.getImageRegistryService().getImage(instance.getBundle(), path);
+ //
+ // instance.getBundle().getBundleContext().ungetService(instance.imageRegistryServiceReference);
+ //
+ // return image;
+ // }
+ //
+ // /**
+ // * Finds and returns an image for the provided {@link URL}.
+ // *
+ // * @param url the {@link URL} to get the image from
+ // * @return the image or null if nothing could be found
+ // */
+ // public static Image getImage(URL url) {
+ // final Image image = instance.getImageRegistryService().getImage(url);
+ //
+ // instance.getBundle().getBundleContext().ungetService(instance.imageRegistryServiceReference);
+ //
+ // return image;
+ // }
+ //
+ // private ServiceReference<ImageRegistryService> imageRegistryServiceReference;
+ //
+ // private ImageRegistryService getImageRegistryService() {
+ // if (imageRegistryServiceReference == null) {
+ // imageRegistryServiceReference = getBundle().getBundleContext()
+ // .getServiceReference(ImageRegistryService.class);
+ // }
+ // return getBundle().getBundleContext().getService(imageRegistryServiceReference);
+ // }
+ //
/**
* Logs a {@link Throwable}.
*
@@ -95,32 +89,78 @@
public static void log(Throwable t) {
instance.getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, t.getMessage(), t));
}
-
- private VTViewTemplateProvider viewTemplate;
-
- /**
- * Returns the current Instance of the {@link VTViewTemplateProvider}.
- *
- * @return the {@link VTViewTemplateProvider}
- */
- public VTViewTemplateProvider getVTViewTemplateProvider() {
- if (viewTemplate == null) {
- final ServiceReference<VTViewTemplateProvider> viewTemplateReference = instance.getBundle()
- .getBundleContext()
- .getServiceReference(VTViewTemplateProvider.class);
- if (viewTemplateReference != null) {
- viewTemplate = instance.getBundle().getBundleContext().getService(viewTemplateReference);
- }
- }
- return viewTemplate;
- }
-
- /**
- * The current instance.
- *
- * @return the current {@link Activator} instance
- */
- public static Activator getInstance() {
- return instance;
- }
+ //
+ // private VTViewTemplateProvider viewTemplate;
+ // private ServiceReference<ReportService> reportServiceReference;
+ //
+ // /**
+ // * Returns the current Instance of the {@link VTViewTemplateProvider}.
+ // *
+ // * @return the {@link VTViewTemplateProvider}
+ // */
+ // public VTViewTemplateProvider getVTViewTemplateProvider() {
+ // if (viewTemplate == null) {
+ // final ServiceReference<VTViewTemplateProvider> viewTemplateReference = instance.getBundle()
+ // .getBundleContext()
+ // .getServiceReference(VTViewTemplateProvider.class);
+ // if (viewTemplateReference != null) {
+ // viewTemplate = instance.getBundle().getBundleContext().getService(viewTemplateReference);
+ // }
+ // }
+ // return viewTemplate;
+ // }
+ //
+ // /**
+ // * The current instance.
+ // *
+ // * @return the current {@link Activator} instance
+ // */
+ // public static Activator getInstance() {
+ // return instance;
+ // }
+ //
+ // /**
+ // * Returns the {@link ReportService}.
+ // *
+ // * @return the {@link ReportService}
+ // */
+ // public ReportService getReportService() {
+ // if (reportServiceReference == null) {
+ // reportServiceReference = instance.getBundle().getBundleContext()
+ // .getServiceReference(ReportService.class);
+ // }
+ // return instance.getBundle().getBundleContext().getService(reportServiceReference);
+ // }
+ //
+ // /**
+ // * Returns the {@link EMFFormsDatabinding} service.
+ // *
+ // * @return The {@link EMFFormsDatabinding}
+ // */
+ // public EMFFormsDatabinding getEMFFormsDatabinding() {
+ // final ServiceReference<EMFFormsDatabinding> serviceReference = instance.getBundle().getBundleContext()
+ // .getServiceReference(EMFFormsDatabinding.class);
+ //
+ // final EMFFormsDatabinding service = instance.getBundle().getBundleContext()
+ // .getService(serviceReference);
+ // instance.getBundle().getBundleContext().ungetService(serviceReference);
+ //
+ // return service;
+ // }
+ //
+ // /**
+ // * Returns the {@link EMFFormsLabelProvider} service.
+ // *
+ // * @return The {@link EMFFormsLabelProvider}
+ // */
+ // public EMFFormsLabelProvider getEMFFormsLabelProvider() {
+ // final ServiceReference<EMFFormsLabelProvider> serviceReference = instance.getBundle().getBundleContext()
+ // .getServiceReference(EMFFormsLabelProvider.class);
+ //
+ // final EMFFormsLabelProvider service = instance.getBundle().getBundleContext()
+ // .getService(serviceReference);
+ // instance.getBundle().getBundleContext().ungetService(serviceReference);
+ //
+ // return service;
+ // }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/MessageKeys.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/MessageKeys.java
new file mode 100644
index 0000000..4e842b2
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/MessageKeys.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.table.swt;
+
+/**
+ * Keys for translated strings.
+ *
+ * @author Eugen Neufeld
+ * @generated
+ */
+public interface MessageKeys {
+ String TableControl_ValidationStatusColumn = "TableControl_ValidationStatusColumn"; //$NON-NLS-1$
+ String TableControl_RemoveSelected = "TableControl_RemoveSelected"; //$NON-NLS-1$
+ String TableControl_AddInstanceOf = "TableControl_AddInstanceOf"; //$NON-NLS-1$
+ String TableControl_Delete = "TableControl_Delete"; //$NON-NLS-1$
+ String TableControl_DeleteAreYouSure = "TableControl_DeleteAreYouSure"; //$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlDetailDialogRendererTester.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlDetailDialogRendererTester.java
deleted file mode 100644
index 998eaf0..0000000
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlDetailDialogRendererTester.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Johannes Faltermeier - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.table.swt;
-
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.table.model.DetailEditing;
-import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
-
-/**
- * @author jfaltermeier
- *
- */
-public class TableControlDetailDialogRendererTester extends AbstractTableControlRendererTester {
-
- // TODO remove isApplicable method in future versions, because of deprecated isEnableDetailEditingDialog()
- @SuppressWarnings("deprecation")
- @Override
- public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
- if (!VTableControl.class.isInstance(vElement)) {
- return NOT_APPLICABLE;
- }
- final VTableControl tableControl = VTableControl.class.cast(vElement);
- if (tableControl.getDetailEditing() == DetailEditing.NONE && tableControl.isEnableDetailEditingDialog()) {
- return 3;
- }
- return super.isApplicable(vElement, viewModelContext);
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.internal.table.swt.AbstractTableControlRendererTester#getDetailEditing()
- */
- @Override
- protected DetailEditing getDetailEditing() {
- return DetailEditing.WITH_DIALOG;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlDetailDialogSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlDetailDialogSWTRendererService.java
new file mode 100644
index 0000000..e3eac92
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlDetailDialogSWTRendererService.java
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.table.swt;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.table.model.DetailEditing;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
+import org.eclipse.emf.ecp.view.spi.table.swt.TableControlDetailDialogSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * TableControlDetailDialogSWTRendererService which provides the TableControlDetailDialogSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class TableControlDetailDialogSWTRendererService implements EMFFormsDIRendererService<VTableControl> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VTableControl.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ if (DetailEditing.WITH_DIALOG == VTableControl.class.cast(vElement).getDetailEditing()) {
+ return 10;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VTableControl>> getRendererClass() {
+ return TableControlDetailDialogSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlDetailPanelRendererTester.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlDetailPanelRendererTester.java
deleted file mode 100644
index 1e75407..0000000
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlDetailPanelRendererTester.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * jfaltermeier - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.table.swt;
-
-import org.eclipse.emf.ecp.view.spi.table.model.DetailEditing;
-
-/**
- * @author jfaltermeier
- *
- */
-public class TableControlDetailPanelRendererTester extends AbstractTableControlRendererTester {
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.internal.table.swt.AbstractTableControlRendererTester#getDetailEditing()
- */
- @Override
- protected DetailEditing getDetailEditing() {
- return DetailEditing.WITH_PANEL;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlDetailPanelSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlDetailPanelSWTRendererService.java
new file mode 100644
index 0000000..c7af594
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlDetailPanelSWTRendererService.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.table.swt;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.table.model.DetailEditing;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
+import org.eclipse.emf.ecp.view.spi.table.swt.TableControlDetailPanelRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * TableControlDetailPanelSWTRendererService which provides the TableControlDetailPanelRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class TableControlDetailPanelSWTRendererService implements EMFFormsDIRendererService<VTableControl> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VTableControl.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ if (DetailEditing.WITH_PANEL == VTableControl.class.cast(vElement).getDetailEditing()) {
+ return 10;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VTableControl>> getRendererClass() {
+ // TODO Auto-generated method stub
+ return TableControlDetailPanelRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlRendererTester.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlRendererTester.java
deleted file mode 100644
index 9612402..0000000
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlRendererTester.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Johannes Faltermeier - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.table.swt;
-
-import org.eclipse.emf.ecp.view.spi.table.model.DetailEditing;
-
-/**
- * @author jfaltermeier
- *
- */
-public class TableControlRendererTester extends AbstractTableControlRendererTester {
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.internal.table.swt.AbstractTableControlRendererTester#getDetailEditing()
- */
- @Override
- protected DetailEditing getDetailEditing() {
- return DetailEditing.NONE;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlSWTRendererService.java
new file mode 100644
index 0000000..b467d1d
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/internal/table/swt/TableControlSWTRendererService.java
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.table.swt;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.table.model.DetailEditing;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
+import org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * TableControlSWTRendererService which provides the TableControlSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class TableControlSWTRendererService implements EMFFormsDIRendererService<VTableControl> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VTableControl.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ if (DetailEditing.NONE == VTableControl.class.cast(vElement).getDetailEditing()) {
+ return 10;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VTableControl>> getRendererClass() {
+ return TableControlSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/DetailDialog.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/DetailDialog.java
index ad5a796..0c328da 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/DetailDialog.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/DetailDialog.java
@@ -11,20 +11,15 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.spi.table.swt;
-import java.util.Collections;
-
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.impl.AdapterImpl;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecp.ui.view.ECPRendererException;
import org.eclipse.emf.ecp.ui.view.swt.ECPSWTViewRenderer;
+import org.eclipse.emf.ecp.view.internal.table.swt.Activator;
import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
@@ -61,19 +56,6 @@
* @param parentShell the {@link Shell} to use in the dialog
* @param selection the {@link EObject} to edit
* @param tableControl the {@link VTableControl}
- * @deprecated use {@link #DetailDialog(Shell, EObject, VTableControl, VView)} instead.
- */
- @Deprecated
- public DetailDialog(Shell parentShell, EObject selection, VTableControl tableControl) {
- this(parentShell, selection, tableControl, getView(tableControl));
- }
-
- /**
- * Creates a dialog allowing to edit an {@link EObject}.
- *
- * @param parentShell the {@link Shell} to use in the dialog
- * @param selection the {@link EObject} to edit
- * @param tableControl the {@link VTableControl}
* @param view the view model for the detail dialog. May <b>not</b> be <code>null</code>.
* @since 1.5
*/
@@ -84,17 +66,6 @@
init();
}
- private static VView getView(VTableControl tableControl) {
- VView detailView = tableControl.getDetailView();
- if (detailView == null) {
- final Setting setting = tableControl.getDomainModelReference().getIterator().next();
- final EReference reference = (EReference) setting.getEStructuralFeature();
- detailView = ViewProviderHelper.getView(EcoreUtil.create(reference.getEReferenceType()),
- Collections.<String, Object> emptyMap());
- }
- return EcoreUtil.copy(detailView);
- }
-
@Override
protected boolean isResizable() {
return true;
@@ -144,10 +115,15 @@
GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(content);
try {
- ECPSWTViewRenderer.INSTANCE.render(content,
- selection, view);
+ if (view == null) {
+ ECPSWTViewRenderer.INSTANCE.render(content,
+ selection);
+ } else {
+ ECPSWTViewRenderer.INSTANCE.render(content,
+ selection, view);
+ }
} catch (final ECPRendererException ex) {
- ex.printStackTrace();
+ Activator.log(ex);
}
scrolledComposite.setContent(content);
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailDialogSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailDialogSWTRenderer.java
index 90ae27c..d2489e7 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailDialogSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailDialogSWTRenderer.java
@@ -13,14 +13,25 @@
import java.util.Collections;
+import javax.inject.Inject;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecp.edit.spi.swt.util.ECPDialogExecutor;
-import org.eclipse.emf.ecp.view.internal.table.swt.Activator;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
+import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogLabelKeys;
import org.eclipse.jface.dialogs.MessageDialog;
@@ -43,6 +54,29 @@
*/
public class TableControlDetailDialogSWTRenderer extends TableControlSWTRenderer {
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param reportService The {@link ReportService}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ * @param imageRegistryService The {@link ImageRegistryService}
+ * @param emfFormsEditSupport The {@link EMFFormsEditSupport}
+ * @since 1.6
+ */
+ @Inject
+ public TableControlDetailDialogSWTRenderer(VTableControl vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider, ImageRegistryService imageRegistryService,
+ EMFFormsEditSupport emfFormsEditSupport) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider,
+ imageRegistryService, emfFormsEditSupport);
+ }
+
private Button detailEditButton;
private VView view;
@@ -60,7 +94,7 @@
private void createDetailEditButton(final Composite buttonComposite) {
detailEditButton = new Button(buttonComposite, SWT.PUSH);
// detailEditButton.setText("Edit in Detail");
- detailEditButton.setImage(Activator.getImage("icons/detailEdit.png")); //$NON-NLS-1$
+ detailEditButton.setImage(getImage("icons/detailEdit.png")); //$NON-NLS-1$
detailEditButton.setEnabled(false);
detailEditButton.addSelectionListener(new DetailEditButtonSelectionAdapter(buttonComposite.getShell()));
}
@@ -69,8 +103,16 @@
if (view == null) {
VView detailView = getVElement().getDetailView();
if (detailView == null) {
- final Setting setting = getVElement().getDomainModelReference().getIterator().next();
- final EReference reference = (EReference) setting.getEStructuralFeature();
+ IValueProperty valueProperty;
+ try {
+ valueProperty = getEMFFormsDatabinding()
+ .getValueProperty(getVElement().getDomainModelReference(),
+ getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new DatabindingFailedReport(ex));
+ return null; // possible because the only caller is null safe.
+ }
+ final EReference reference = (EReference) valueProperty.getValueType();
detailView = ViewProviderHelper.getView(EcoreUtil.create(reference.getEReferenceType()),
Collections.<String, Object> emptyMap());
}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailPanelRenderer.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailPanelRenderer.java
index 63bd2cf..5ebc6f7 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailPanelRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlDetailPanelRenderer.java
@@ -16,19 +16,31 @@
import java.util.List;
import java.util.Set;
+import javax.inject.Inject;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.common.util.TreeIterator;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecp.ui.view.ECPRendererException;
import org.eclipse.emf.ecp.ui.view.swt.ECPSWTView;
import org.eclipse.emf.ecp.ui.view.swt.ECPSWTViewRenderer;
-import org.eclipse.emf.ecp.view.internal.table.swt.Activator;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
+import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.viewers.IStructuredSelection;
@@ -50,6 +62,29 @@
*/
public class TableControlDetailPanelRenderer extends TableControlSWTRenderer {
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param reportService The {@link ReportService}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ * @param imageRegistryService The {@link ImageRegistryService}
+ * @param emfFormsEditSupport The {@link EMFFormsEditSupport}
+ * @since 1.6
+ */
+ @Inject
+ public TableControlDetailPanelRenderer(VTableControl vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider, ImageRegistryService imageRegistryService,
+ EMFFormsEditSupport emfFormsEditSupport) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider,
+ imageRegistryService, emfFormsEditSupport);
+ }
+
private ECPSWTView ecpView;
private VView view;
private Composite detailPanel;
@@ -126,8 +161,16 @@
if (view == null) {
VView detailView = getVElement().getDetailView();
if (detailView == null) {
- final Setting setting = getVElement().getDomainModelReference().getIterator().next();
- final EReference reference = (EReference) setting.getEStructuralFeature();
+ IValueProperty valueProperty;
+ try {
+ valueProperty = getEMFFormsDatabinding()
+ .getValueProperty(getVElement().getDomainModelReference(),
+ getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new DatabindingFailedReport(ex));
+ return null; // possible because the only caller is null safe.
+ }
+ final EReference reference = (EReference) valueProperty.getValueType();
detailView = ViewProviderHelper.getView(EcoreUtil.create(reference.getEReferenceType()),
Collections.<String, Object> emptyMap());
}
@@ -167,11 +210,11 @@
final EObject object = (EObject) selection.getFirstElement();
final VView detailView = getView();
if (detailView == null) {
- if (isDebug()) {
- final Label label = new Label(compositeToRenderOn, SWT.NONE);
- label.setBackground(compositeToRenderOn.getDisplay().getSystemColor(SWT.COLOR_RED));
- label.setText("No Detail View found."); //$NON-NLS-1$
- }
+
+ final Label label = new Label(compositeToRenderOn, SWT.NONE);
+ label.setBackground(compositeToRenderOn.getDisplay().getSystemColor(SWT.COLOR_RED));
+ label.setText("No Detail View found."); //$NON-NLS-1$
+
}
else {
final ViewModelContext childContext = getViewModelContext().getChildContext(object, getVElement(),
@@ -180,7 +223,7 @@
try {
ecpView = ECPSWTViewRenderer.INSTANCE.render(compositeToRenderOn, childContext);
} catch (final ECPRendererException ex) {
- Activator.log(ex);
+ getReportService().report(new RenderingFailedReport(ex));
}
}
border.layout(true, true);
@@ -214,14 +257,22 @@
}
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer#deleteRows(java.util.List,
+ * org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature)
+ * @since 1.6
+ */
@Override
- protected void deleteRows(List<EObject> deletionList, Setting mainSetting) {
- super.deleteRows(deletionList, mainSetting);
+ protected void deleteRows(List<EObject> deletionList, final EObject eObject,
+ final EStructuralFeature structuralFeature) {
+ super.deleteRows(deletionList, eObject, structuralFeature);
final Set<Diagnostic> toDelete = new LinkedHashSet<Diagnostic>();
- for (final EObject eObject : deletionList) {
+ for (final EObject deleteObject : deletionList) {
// getViewModelContext().removeChildContext(eObject);
- toDelete.addAll(getVElement().getDiagnostic().getDiagnostics(eObject));
- final TreeIterator<EObject> eAllContents = eObject.eAllContents();
+ toDelete.addAll(getVElement().getDiagnostic().getDiagnostics(deleteObject));
+ final TreeIterator<EObject> eAllContents = deleteObject.eAllContents();
while (eAllContents.hasNext()) {
toDelete.addAll(getVElement().getDiagnostic().getDiagnostics(eAllContents.next()));
}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java
index 06ae2f1..da3eddc 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt/src/org/eclipse/emf/ecp/view/spi/table/swt/TableControlSWTRenderer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -14,60 +14,78 @@
import java.io.File;
import java.net.MalformedURLException;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import javax.inject.Inject;
+
import org.eclipse.core.databinding.Binding;
+import org.eclipse.core.databinding.observable.IObserving;
import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.core.databinding.observable.map.IObservableMap;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.emf.databinding.EObjectObservableMap;
-import org.eclipse.emf.databinding.edit.EMFEditObservables;
+import org.eclipse.emf.databinding.EMFDataBindingContext;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecp.edit.internal.swt.controls.ControlMessages;
import org.eclipse.emf.ecp.edit.internal.swt.controls.ECPFocusCellDrawHighlighter;
import org.eclipse.emf.ecp.edit.internal.swt.controls.TableViewerColumnBuilder;
import org.eclipse.emf.ecp.edit.internal.swt.util.CellEditorFactory;
+import org.eclipse.emf.ecp.edit.spi.DeleteService;
+import org.eclipse.emf.ecp.edit.spi.EMFDeleteServiceImpl;
import org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor;
import org.eclipse.emf.ecp.edit.spi.swt.util.ECPDialogExecutor;
-import org.eclipse.emf.ecp.view.internal.table.swt.Activator;
import org.eclipse.emf.ecp.view.internal.table.swt.CellReadOnlyTesterHelper;
+import org.eclipse.emf.ecp.view.internal.table.swt.MessageKeys;
import org.eclipse.emf.ecp.view.internal.table.swt.TableConfigurationHelper;
-import org.eclipse.emf.ecp.view.model.common.spi.databinding.DatabindingProviderService;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer;
import org.eclipse.emf.ecp.view.spi.model.DiagnosticMessageExtractor;
import org.eclipse.emf.ecp.view.spi.model.VDiagnostic;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.reporting.StatusReport;
import org.eclipse.emf.ecp.view.spi.provider.ECPTooltipModifierHelper;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
import org.eclipse.emf.ecp.view.template.model.VTStyleProperty;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundFactory;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty;
+import org.eclipse.emf.ecp.view.template.style.fontProperties.model.VTFontPropertiesFactory;
+import org.eclipse.emf.ecp.view.template.style.fontProperties.model.VTFontPropertiesStyleProperty;
import org.eclipse.emf.ecp.view.template.style.tableValidation.model.VTTableValidationFactory;
import org.eclipse.emf.ecp.view.template.style.tableValidation.model.VTTableValidationStyleProperty;
import org.eclipse.emf.edit.command.AddCommand;
import org.eclipse.emf.edit.command.RemoveCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
import org.eclipse.jface.databinding.viewers.ObservableMapCellLabelProvider;
@@ -80,6 +98,7 @@
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.CellLabelProvider;
+import org.eclipse.jface.viewers.ColumnPixelData;
import org.eclipse.jface.viewers.ColumnViewer;
import org.eclipse.jface.viewers.ColumnViewerEditor;
import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
@@ -113,8 +132,7 @@
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
+import org.osgi.framework.FrameworkUtil;
/**
* SWT Renderer for Table Control.
@@ -129,31 +147,48 @@
private static final String ICON_ADD = "icons/add.png"; //$NON-NLS-1$
private static final String ICON_DELETE = "icons/delete.png"; //$NON-NLS-1$
+ private static final String RESIZABLE = "resizable"; //$NON-NLS-1$
+ private static final String WEIGHT = "weight"; //$NON-NLS-1$
+ private static final String MIN_WIDTH = "min_width"; //$NON-NLS-1$
+ private static final String WIDTH = "width"; //$NON-NLS-1$
+
private TableViewer tableViewer;
private Label validationIcon;
private Button addButton;
private Button removeButton;
-
- private boolean debugMode;
+ private final ImageRegistryService imageRegistryService;
+ private final EMFDataBindingContext viewModelDBC;
+ private final EMFFormsEditSupport emfFormsEditSupport;
/**
* Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param reportService The {@link ReportService}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ * @param imageRegistryService The {@link ImageRegistryService}
+ * @param emfFormsEditSupport The {@link EMFFormsEditSupport}
+ * @since 1.6
*/
- public TableControlSWTRenderer() {
- final String[] commandLineArgs = Platform.getCommandLineArgs();
- for (int i = 0; i < commandLineArgs.length; i++) {
- final String arg = commandLineArgs[i];
- if ("-debugEMFForms".equalsIgnoreCase(arg)) { //$NON-NLS-1$
- debugMode = true;
- }
- }
+ @Inject
+ public TableControlSWTRenderer(VTableControl vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider, ImageRegistryService imageRegistryService,
+ EMFFormsEditSupport emfFormsEditSupport) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ this.imageRegistryService = imageRegistryService;
+ this.emfFormsEditSupport = emfFormsEditSupport;
+ viewModelDBC = new EMFDataBindingContext();
}
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -164,32 +199,32 @@
}
/**
- * Returns whether debug is active or inactive.
- *
- * @return <code>true</code> if debug mode is enabled, <code>false</code> otherwise
- * @since 1.5
- */
- protected boolean isDebug() {
- return debugMode;
- }
-
- /**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
* org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
*/
@Override
protected Control renderControl(SWTGridCell gridCell, final Composite parent) throws NoRendererFoundException,
NoPropertyDescriptorFoundExeption {
- final Iterator<Setting> settings = getVElement().getDomainModelReference().getIterator();
- if (!settings.hasNext()) {
+ final VTableDomainModelReference tableDomainModelReference = (VTableDomainModelReference) getVElement()
+ .getDomainModelReference();
+ final VDomainModelReference dmrToCheck = tableDomainModelReference.getDomainModelReference() == null
+ ? tableDomainModelReference
+ : tableDomainModelReference.getDomainModelReference();
+ IObservableValue observableValue;
+ try {
+ observableValue = getEMFFormsDatabinding()
+ .getObservableValue(dmrToCheck, getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new RenderingFailedReport(ex));
return null;
}
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ observableValue.dispose();
- final Setting mainSetting = settings.next();
-
- final EClass clazz = ((EReference) mainSetting.getEStructuralFeature()).getEReferenceType();
+ final EClass clazz = ((EReference) structuralFeature).getEReferenceType();
final Composite composite = new Composite(parent, SWT.NONE);
composite.setLayout(new GridLayout(1, false));
@@ -206,12 +241,23 @@
final Label label = new Label(titleComposite, SWT.NONE);
label.setBackground(parent.getBackground());
- final IItemPropertyDescriptor propDescriptor = getItemPropertyDescriptor(mainSetting);
- String labelText = ""; //$NON-NLS-1$
- if (propDescriptor != null) {
- labelText = propDescriptor.getDisplayName(null);
+
+ final EMFFormsLabelProvider labelService = getEMFFormsLabelProvider();
+ try {
+ final IObservableValue labelText = labelService.getDisplayName(dmrToCheck,
+ getViewModelContext().getDomainModel());
+
+ viewModelDBC.bindValue(SWTObservables.observeText(label), labelText);
+
+ final IObservableValue labelTooltipText = labelService.getDescription(dmrToCheck, getViewModelContext()
+ .getDomainModel());
+ viewModelDBC.bindValue(SWTObservables.observeTooltipText(label), labelTooltipText);
+ } catch (final NoLabelFoundException e) {
+ // FIXME Expectation?
+ getReportService().report(new RenderingFailedReport(e));
+ label.setText(e.getMessage());
+ label.setToolTipText(e.toString());
}
- label.setText(labelText);
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).applyTo(label);
// VALIDATION
@@ -229,15 +275,22 @@
int numButtons = addButtonsToButtonBar(buttonComposite);
if (!getVElement().isAddRemoveDisabled()) {
// addButtons
- addButton = createAddRowButton(clazz, buttonComposite, mainSetting);
- removeButton = createRemoveRowButton(clazz, buttonComposite, mainSetting);
+ addButton = createAddRowButton(clazz, buttonComposite, eObject, structuralFeature);
+ removeButton = createRemoveRowButton(clazz, buttonComposite, eObject, structuralFeature);
numButtons = numButtons + 2;
}
GridLayoutFactory.fillDefaults().numColumns(numButtons).equalWidth(false).applyTo(buttonComposite);
final Composite controlComposite = createControlComposite(composite);
- setTableViewer(createTableViewer(controlComposite, clazz,
- mainSetting));
+ try {
+ setTableViewer(createTableViewer(controlComposite, clazz));
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new RenderingFailedReport(ex));
+ final Label errorLabel = new Label(parent, SWT.NONE);
+ errorLabel.setText(ex.getMessage());
+ return errorLabel;
+
+ }
if (addButton != null && removeButton != null) {
final Button finalAddButton = addButton;
@@ -250,14 +303,14 @@
*/
@Override
public void widgetSelected(SelectionEvent e) {
- addRow(clazz, mainSetting);
+ addRow(clazz, eObject, structuralFeature);
- final List<?> containments = (List<?>) mainSetting.get(true);
- if (mainSetting.getEStructuralFeature().getUpperBound() != -1
- && containments.size() >= mainSetting.getEStructuralFeature().getUpperBound()) {
+ final List<?> containments = (List<?>) eObject.eGet(structuralFeature, true);
+ if (structuralFeature.getUpperBound() != -1
+ && containments.size() >= structuralFeature.getUpperBound()) {
finalAddButton.setEnabled(false);
}
- if (containments.size() > mainSetting.getEStructuralFeature().getLowerBound()) {
+ if (containments.size() > structuralFeature.getLowerBound()) {
finalRemoveButton.setEnabled(true);
}
}
@@ -282,7 +335,8 @@
deletionList.add((EObject) iterator.next());
}
- deleteRowUserConfirmDialog(deletionList, mainSetting, finalAddButton, finalRemoveButton);
+ deleteRowUserConfirmDialog(deletionList, eObject, structuralFeature, finalAddButton,
+ finalRemoveButton);
}
});
@@ -345,8 +399,7 @@
this.tableViewer = tableViewer;
}
- private TableViewer createTableViewer(Composite composite, EClass clazz,
- Setting mainSetting) {
+ private TableViewer createTableViewer(Composite composite, EClass clazz) throws DatabindingFailedException {
final TableViewer tableViewer = new TableViewer(composite, SWT.MULTI | SWT.V_SCROLL | SWT.FULL_SELECTION
| SWT.BORDER);
@@ -354,6 +407,18 @@
tableViewer.getTable().setHeaderVisible(true);
tableViewer.getTable().setLinesVisible(true);
+ /* Set background color */
+ final VTBackgroundStyleProperty backgroundStyleProperty = getBackgroundStyleProperty();
+ if (backgroundStyleProperty.getColor() != null) {
+ tableViewer.getTable().setBackground(getSWTColor(backgroundStyleProperty.getColor()));
+ }
+
+ /* Set foreground color */
+ final VTFontPropertiesStyleProperty fontPropertiesStyleProperty = getFontPropertiesStyleProperty();
+ if (fontPropertiesStyleProperty.getColorHEX() != null) {
+ tableViewer.getTable().setForeground(getSWTColor(fontPropertiesStyleProperty.getColorHEX()));
+ }
+
final TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(tableViewer,
new ECPFocusCellDrawHighlighter(tableViewer));
final ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tableViewer) {
@@ -395,35 +460,49 @@
if (dmr == null) {
continue;
}
- final Iterator<EStructuralFeature> eStructuralFeatureIterator = dmr.getEStructuralFeatureIterator();
- if (eStructuralFeatureIterator == null || !eStructuralFeatureIterator.hasNext()) {
+
+ IValueProperty valueProperty;
+ try {
+ valueProperty = getEMFFormsDatabinding().getValueProperty(dmr, getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new RenderingFailedReport(ex));
continue;
}
- final EStructuralFeature eStructuralFeature = eStructuralFeatureIterator.next();
- String text = eStructuralFeature.getName();
- String tooltipText = eStructuralFeature.getName();
- final IItemPropertyDescriptor itemPropertyDescriptor = getItemPropertyDescriptor(getCellSetting(dmr,
- tempInstance));
- if (itemPropertyDescriptor != null) {
- text = itemPropertyDescriptor.getDisplayName(null);
- tooltipText = itemPropertyDescriptor.getDescription(null);
- }
+ final EStructuralFeature eStructuralFeature = (EStructuralFeature) valueProperty.getValueType();
+
+ final EMFFormsLabelProvider labelService = getEMFFormsLabelProvider();
final CellEditor cellEditor = createCellEditor(tempInstance, eStructuralFeature, tableViewer.getTable());
- final TableViewerColumn column = TableViewerColumnBuilder
- .create()
- .setText(text)
- .setToolTipText(tooltipText)
- .setResizable(true)
- .setMoveable(false)
- .setStyle(SWT.NONE)
- .setData("width", //$NON-NLS-1$
- ECPCellEditor.class.isInstance(cellEditor) ? ECPCellEditor.class.cast(cellEditor)
- .getColumnWidthWeight() : 100)
- .build(tableViewer);
- column.setLabelProvider(new ECPCellLabelProvider(eStructuralFeature, cellEditor, getObservableMap(dmr,
- eStructuralFeature, cp), getVElement(), dmr));
+ final TableViewerColumnBuilder columnBuilder = TableViewerColumnBuilder
+ .create()
+ .setData(RESIZABLE, true)
+ .setMoveable(false)
+ .setStyle(SWT.NONE);
+ if (ECPCellEditor.class.isInstance(cellEditor)) {
+ columnBuilder.setData(WEIGHT, ECPCellEditor.class.cast(cellEditor).getColumnWidthWeight());
+ columnBuilder.setData(MIN_WIDTH, ECPCellEditor.class.cast(cellEditor).getMinWidth());
+ } else {
+ columnBuilder.setData(WEIGHT, 100);
+ columnBuilder.setData(MIN_WIDTH, 0);
+ }
+
+ final TableViewerColumn column = columnBuilder.build(tableViewer);
+
+ try {
+ final IObservableValue text = labelService.getDisplayName(dmr);
+ viewModelDBC.bindValue(SWTObservables.observeText(column.getColumn()), text);
+ final IObservableValue tooltipText = labelService.getDescription(dmr);
+ viewModelDBC.bindValue(SWTObservables.observeTooltipText(column.getColumn()), tooltipText);
+ } catch (final NoLabelFoundException ex) {
+ getReportService().report(new RenderingFailedReport(ex));
+ // FIXME Expectation?
+ column.getColumn().setText(ex.getMessage());
+ column.getColumn().setToolTipText(ex.toString());
+ }
+ final IObservableMap observableMap = valueProperty.observeDetail(cp.getKnownElements());
+ column.setLabelProvider(new ECPCellLabelProvider(eStructuralFeature, cellEditor, observableMap,
+ getVElement(), dmr, tableViewer.getTable()));
column.getColumn().addSelectionListener(
getSelectionAdapter(tableViewer, comparator, column.getColumn(), columnNumber));
@@ -433,14 +512,16 @@
// eStructuralFeature,
// itemPropertyDescriptor
// null,
- getVElement(), dmr);
+ getVElement(), dmr, valueProperty, tempInstance);
column.setEditingSupport(observableSupport);
}
columnNumber++;
}
tableViewer.setContentProvider(cp);
- final IObservableList list = EMFEditObservables.observeList(getEditingDomain(mainSetting),
- mainSetting.getEObject(), mainSetting.getEStructuralFeature());
+
+ final IObservableList list = getEMFFormsDatabinding()
+ .getObservableList(tableDomainModelReference.getDomainModelReference() == null ? tableDomainModelReference
+ : tableDomainModelReference.getDomainModelReference(), getViewModelContext().getDomainModel());
tableViewer.setInput(list);
// IMPORTANT:
@@ -450,9 +531,19 @@
final TableColumnLayout layout = new TableColumnLayout();
composite.setLayout(layout);
for (int i = 0; i < tableViewer.getTable().getColumns().length; i++) {
- final Integer storedValue = (Integer) tableViewer.getTable().getColumns()[i].getData("width"); //$NON-NLS-1$
- layout.setColumnData(tableViewer.getTable().getColumns()[i], new ColumnWeightData(storedValue == null ? 50
- : storedValue));
+ final TableColumn tableColumn = tableViewer.getTable().getColumns()[i];
+
+ final boolean storedIsResizable = (Boolean) tableColumn.getData(RESIZABLE);
+
+ final Integer storedWidth = (Integer) tableColumn.getData(WIDTH);
+ if (storedWidth != null) {
+ layout.setColumnData(tableColumn, new ColumnPixelData(storedWidth, storedIsResizable));
+ continue;
+ }
+
+ final Integer storedWeight = (Integer) tableColumn.getData(WEIGHT);
+ final Integer storedMinWidth = (Integer) tableColumn.getData(MIN_WIDTH);
+ layout.setColumnData(tableColumn, new ColumnWeightData(storedWeight, storedMinWidth, storedIsResizable));
}
tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
@@ -475,57 +566,14 @@
*/
protected void viewerSelectionChanged(SelectionChangedEvent event) {
if (event.getSelection().isEmpty()) {
- if (removeButton != null) {
- removeButton.setEnabled(false);
+ if (getRemoveButton() != null) {
+ getRemoveButton().setEnabled(false);
+ }
+ } else {
+ if (getRemoveButton() != null) {
+ getRemoveButton().setEnabled(true);
}
}
- else {
- if (removeButton != null) {
- removeButton.setEnabled(true);
- }
- }
- }
-
- private IObservableMap getObservableMap(VDomainModelReference dmr, EStructuralFeature eStructuralFeature,
- ObservableListContentProvider cp) {
- if (eStructuralFeature
- .isMany()) {
- return new EObjectObservableMap(cp.getKnownElements(), eStructuralFeature);
- }
-
- return getValueProperty(dmr).observeDetail(
- cp.getKnownElements());
- }
-
- @SuppressWarnings({ "rawtypes", "unchecked" })
- private IValueProperty getValueProperty(VDomainModelReference dmr) {
- ServiceReference<DatabindingProviderService> databindingProviderServiceReference = null;
-
- try {
- final Collection<ServiceReference<DatabindingProviderService>> serviceReferences = Activator.getInstance()
- .getBundle()
- .getBundleContext()
- .getServiceReferences(DatabindingProviderService.class,
- String.format("(domainModelReference=%s)", dmr.getClass().getName())); //$NON-NLS-1$
- final Iterator<ServiceReference<DatabindingProviderService>> iterator = serviceReferences.iterator();
- if (iterator.hasNext()) {
- databindingProviderServiceReference = iterator.next();
- }
- if (databindingProviderServiceReference == null) {
- throw new IllegalStateException("No DatabindingProviderService available."); //$NON-NLS-1$
- }
- } catch (final InvalidSyntaxException e) {
- throw new IllegalStateException(e);
- }
-
- final DatabindingProviderService<VDomainModelReference> databindingProviderService = Activator.getInstance()
- .getBundle().getBundleContext().getService(databindingProviderServiceReference);
- final IValueProperty result = databindingProviderService.getProperty(dmr, IValueProperty.class);
- Activator.getInstance()
- .getBundle()
- .getBundleContext().ungetService(databindingProviderServiceReference);
-
- return result;
}
private SelectionAdapter getSelectionAdapter(final TableViewer tableViewer,
@@ -552,13 +600,14 @@
final TableViewerColumn column = TableViewerColumnBuilder.create()
.setMoveable(false)
.setText(columnName)
- .setWidth(columnWidth)
+ .setData(WIDTH, columnWidth)
+ .setData(RESIZABLE, true)
.build(tableViewer);
if (imagePath != null && !imagePath.isEmpty()) {
Image image = null;
try {
- image = Activator.getImage(new File(imagePath).toURI().toURL());
+ image = getImage(new File(imagePath).toURI().toURL());
} catch (final MalformedURLException ex) {
ex.printStackTrace();
}
@@ -569,19 +618,34 @@
column.setLabelProvider(new ValidationStatusCellLabelProvider(getVElement()));
}
- private VTTableValidationStyleProperty getTableValidationStyleProperty() {
- VTTableValidationStyleProperty tableValidationStyleProperties;
- final Set<VTStyleProperty> styleProperties = Activator.getInstance().getVTViewTemplateProvider()
- .getStyleProperties(getVElement(), getViewModelContext());
- for (final VTStyleProperty styleProperty : styleProperties) {
- if (VTTableValidationStyleProperty.class.isInstance(styleProperty)) {
- tableValidationStyleProperties = VTTableValidationStyleProperty.class
- .cast(styleProperty);
- return tableValidationStyleProperties;
- }
- }
+ /**
+ * Retrieve images from the {@link ImageRegistryService} using an {@link URL}.
+ *
+ * @param url The {@link URL} pointing to the image
+ * @return The retrieved Image
+ * @since 1.6
+ */
+ protected Image getImage(URL url) {
+ return imageRegistryService.getImage(url);
+ }
- tableValidationStyleProperties = getDefaultTableValidationStyleProperty();
+ /**
+ * Retrieve images from the {@link ImageRegistryService} using a bundle relative path.
+ *
+ * @param path The bundle relative path pointing to the image
+ * @return The retrieved Image
+ * @since 1.6
+ */
+ protected Image getImage(String path) {
+ return imageRegistryService.getImage(FrameworkUtil.getBundle(getClass()), path);
+ }
+
+ private VTTableValidationStyleProperty getTableValidationStyleProperty() {
+ VTTableValidationStyleProperty tableValidationStyleProperties = getStyleProperty(
+ VTTableValidationStyleProperty.class);
+ if (tableValidationStyleProperties == null) {
+ tableValidationStyleProperties = getDefaultTableValidationStyleProperty();
+ }
return tableValidationStyleProperties;
}
@@ -589,11 +653,66 @@
final VTTableValidationStyleProperty tableValidationProp = VTTableValidationFactory.eINSTANCE
.createTableValidationStyleProperty();
tableValidationProp.setColumnWidth(80);
- tableValidationProp.setColumnName(ControlMessages.TableControl_ValidationStatusColumn);
+ tableValidationProp.setColumnName(LocalizationServiceHelper.getString(getClass(),
+ MessageKeys.TableControl_ValidationStatusColumn));
tableValidationProp.setImagePath(null);
return tableValidationProp;
}
+ private VTBackgroundStyleProperty getBackgroundStyleProperty() {
+ VTBackgroundStyleProperty styleProperty = getStyleProperty(VTBackgroundStyleProperty.class);
+ if (styleProperty == null) {
+ styleProperty = getDefaultBackgroundStyleProperty();
+ }
+ return styleProperty;
+ }
+
+ private VTBackgroundStyleProperty getDefaultBackgroundStyleProperty() {
+ return VTBackgroundFactory.eINSTANCE.createBackgroundStyleProperty();
+ }
+
+ private VTFontPropertiesStyleProperty getFontPropertiesStyleProperty() {
+ VTFontPropertiesStyleProperty styleProperty = getStyleProperty(VTFontPropertiesStyleProperty.class);
+ if (styleProperty == null) {
+ styleProperty = getDefaultFontPropertiesStyleProperty();
+ }
+ return styleProperty;
+ }
+
+ private VTFontPropertiesStyleProperty getDefaultFontPropertiesStyleProperty() {
+ final VTFontPropertiesStyleProperty property = VTFontPropertiesFactory.eINSTANCE
+ .createFontPropertiesStyleProperty();
+ property.setColorHEX("000000"); //$NON-NLS-1$
+ return property;
+ }
+
+ /**
+ * Returns a {@link VTStyleProperty} of the given class or <code>null</code> if none was found.
+ *
+ * @param stylePropertyClass the style property class
+ * @return the property or <code>null</code>
+ */
+ private <SP extends VTStyleProperty> SP getStyleProperty(Class<SP> stylePropertyClass) {
+ final Set<VTStyleProperty> styleProperties = getVTViewTemplateProvider()
+ .getStyleProperties(getVElement(), getViewModelContext());
+ for (final VTStyleProperty styleProperty : styleProperties) {
+ if (stylePropertyClass.isInstance(styleProperty)) {
+ return stylePropertyClass.cast(styleProperty);
+ }
+ }
+ return null;
+ }
+
+ private Color getSWTColor(String colorHex) {
+ final String redString = colorHex.substring(0, 2);
+ final String greenString = colorHex.substring(2, 4);
+ final String blueString = colorHex.substring(4, 6);
+ final int red = Integer.parseInt(redString, 16);
+ final int green = Integer.parseInt(greenString, 16);
+ final int blue = Integer.parseInt(blueString, 16);
+ return new Color(Display.getDefault(), red, green, blue);
+ }
+
private CellEditor createCellEditor(final EObject tempInstance, final EStructuralFeature feature, Table table) {
return CellEditorFactory.INSTANCE.getCellEditor(feature,
tempInstance, table, getViewModelContext());
@@ -603,32 +722,34 @@
return InternalEObject.class.cast(clazz.getEPackage().getEFactoryInstance().create(clazz));
}
- private Button createRemoveRowButton(EClass clazz, final Composite buttonComposite, Setting mainSetting) {
+ private Button createRemoveRowButton(EClass clazz, final Composite buttonComposite, final EObject eObject,
+ final EStructuralFeature structuralFeature) {
removeButton = new Button(buttonComposite, SWT.None);
- final Image image = Activator.getImage(ICON_DELETE);
+ final Image image = getImage(ICON_DELETE);
removeButton.setImage(image);
removeButton.setEnabled(false);
final String instanceName = clazz.getInstanceClass() == null ? "" : clazz.getInstanceClass().getSimpleName(); //$NON-NLS-1$
- removeButton.setToolTipText(String.format(ControlMessages.TableControl_RemoveSelected
- , instanceName));
+ removeButton.setToolTipText(String.format(
+ LocalizationServiceHelper.getString(getClass(), MessageKeys.TableControl_RemoveSelected), instanceName));
- final List<?> containments = (List<?>) mainSetting.get(true);
- if (containments.size() <= mainSetting.getEStructuralFeature().getLowerBound()) {
+ final List<?> containments = (List<?>) eObject.eGet(structuralFeature, true);
+ if (containments.size() <= structuralFeature.getLowerBound()) {
removeButton.setEnabled(false);
}
return removeButton;
}
- private Button createAddRowButton(final EClass clazz, final Composite buttonComposite, final Setting mainSetting) {
+ private Button createAddRowButton(final EClass clazz, final Composite buttonComposite, final EObject eObject,
+ final EStructuralFeature structuralFeature) {
addButton = new Button(buttonComposite, SWT.None);
- final Image image = Activator.getImage(ICON_ADD);
+ final Image image = getImage(ICON_ADD);
addButton.setImage(image);
final String instanceName = clazz.getInstanceClass() == null ? "" : clazz.getInstanceClass().getSimpleName(); //$NON-NLS-1$
- addButton.setToolTipText(String.format(ControlMessages.TableControl_AddInstanceOf, instanceName));
+ addButton.setToolTipText(String.format(
+ LocalizationServiceHelper.getString(getClass(), MessageKeys.TableControl_AddInstanceOf), instanceName));
- final List<?> containments = (List<?>) mainSetting.get(true);
- if (mainSetting.getEStructuralFeature().getUpperBound() != -1
- && containments.size() >= mainSetting.getEStructuralFeature().getUpperBound()) {
+ final List<?> containments = (List<?>) eObject.eGet(structuralFeature, true);
+ if (structuralFeature.getUpperBound() != -1 && containments.size() >= structuralFeature.getUpperBound()) {
addButton.setEnabled(false);
}
return addButton;
@@ -638,17 +759,21 @@
* This method shows a user confirmation dialog when the user attempts to delete a row in the table.
*
* @param deletionList the list of selected EObjects to delete
- * @param mainSetting the containment reference setting
+ * @param eObject The containment reference {@link EObject}
+ * @param structuralFeature The containment reference {@link EStructuralFeature}
* @param addButton the add button
* @param removeButton the remove button
+ * @since 1.6
*/
- protected void deleteRowUserConfirmDialog(final List<EObject> deletionList, final Setting mainSetting,
- final Button addButton, final Button removeButton) {
+ protected void deleteRowUserConfirmDialog(final List<EObject> deletionList, final EObject eObject,
+ final EStructuralFeature structuralFeature, final Button addButton, final Button removeButton) {
final MessageDialog dialog = new MessageDialog(addButton.getShell(),
- ControlMessages.TableControl_Delete, null,
- ControlMessages.TableControl_DeleteAreYouSure, MessageDialog.CONFIRM, new String[] {
+ LocalizationServiceHelper.getString(getClass(), MessageKeys.TableControl_Delete), null,
+ LocalizationServiceHelper.getString(getClass(), MessageKeys.TableControl_DeleteAreYouSure),
+ MessageDialog.CONFIRM, new String[] {
JFaceResources.getString(IDialogLabelKeys.YES_LABEL_KEY),
- JFaceResources.getString(IDialogLabelKeys.NO_LABEL_KEY) }, 0);
+ JFaceResources.getString(IDialogLabelKeys.NO_LABEL_KEY) },
+ 0);
new ECPDialogExecutor(dialog) {
@@ -658,13 +783,13 @@
return;
}
- deleteRows(deletionList, mainSetting);
+ deleteRows(deletionList, eObject, structuralFeature);
- final List<?> containments = (List<?>) mainSetting.get(true);
- if (containments.size() < mainSetting.getEStructuralFeature().getUpperBound()) {
+ final List<?> containments = (List<?>) eObject.eGet(structuralFeature, true);
+ if (containments.size() < structuralFeature.getUpperBound()) {
addButton.setEnabled(true);
}
- if (containments.size() <= mainSetting.getEStructuralFeature().getLowerBound()) {
+ if (containments.size() <= structuralFeature.getLowerBound()) {
removeButton.setEnabled(false);
}
}
@@ -676,13 +801,43 @@
* elements.
*
* @param deletionList the list of {@link EObject EObjects} to delete
- * @param mainSetting the containment reference setting
+ * @param eObject The containment reference {@link EObject}
+ * @param structuralFeature The containment reference {@link EStructuralFeature}
+ * @since 1.6
*/
- protected void deleteRows(List<EObject> deletionList, Setting mainSetting) {
- final EObject modelElement = mainSetting.getEObject();
- final EditingDomain editingDomain = getEditingDomain(mainSetting);
- editingDomain.getCommandStack().execute(
- RemoveCommand.create(editingDomain, modelElement, mainSetting.getEStructuralFeature(), deletionList));
+ protected void deleteRows(List<EObject> deletionList, final EObject eObject,
+ final EStructuralFeature structuralFeature) {
+
+ final EditingDomain editingDomain = getEditingDomain(eObject);
+
+ /* assured by #isApplicable */
+ final EReference reference = EReference.class.cast(structuralFeature);
+ final List<Object> toDelete = new ArrayList<Object>(deletionList);
+ if (reference.isContainment()) {
+ DeleteService deleteService = getViewModelContext().getService(DeleteService.class);
+ if (deleteService == null) {
+ /*
+ * #getService(Class<?>) will report to the reportservice if it could not be found
+ * Use Default
+ */
+ deleteService = new EMFDeleteServiceImpl();
+ }
+ deleteService.deleteElements(toDelete);
+ } else {
+ removeElements(editingDomain, eObject, reference, toDelete);
+ }
+ }
+
+ private void removeElements(EditingDomain editingDomain, Object source, EStructuralFeature feature,
+ Collection<Object> toRemove) {
+ final Command removeCommand = RemoveCommand.create(editingDomain, source, feature, toRemove);
+ if (removeCommand.canExecute()) {
+ if (editingDomain.getCommandStack() == null) {
+ removeCommand.execute();
+ } else {
+ editingDomain.getCommandStack().execute(removeCommand);
+ }
+ }
}
/**
@@ -691,25 +846,22 @@
* You can override this method but you have to call super nonetheless.
*
* @param clazz the {@link EClass} defining the EObject to create
- * @param mainSetting the containment reference setting
+ * @param eObject The containment reference {@link EObject}
+ * @param structuralFeature The containment reference {@link EStructuralFeature}
+ * @since 1.6
*/
- protected void addRow(EClass clazz, Setting mainSetting) {
+ protected void addRow(EClass clazz, EObject eObject, EStructuralFeature structuralFeature) {
if (clazz.isAbstract() || clazz.isInterface()) {
- Activator
- .getInstance()
- .getLog()
- .log(
- new Status(
- IStatus.WARNING,
- "org.eclipse.emf.ecp.view.table.ui.swt", "The class " + clazz.getName() + " is abstract or an interface.")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ getReportService().report(new StatusReport(
+ new Status(IStatus.WARNING, "org.eclipse.emf.ecp.view.table.ui.swt", //$NON-NLS-1$
+ String.format("The class %1$s is abstract or an interface.", clazz.getName())))); //$NON-NLS-1$
}
- final EObject modelElement = mainSetting.getEObject();
final EObject instance = clazz.getEPackage().getEFactoryInstance().create(clazz);
- final EditingDomain editingDomain = getEditingDomain(mainSetting);
+ final EditingDomain editingDomain = getEditingDomain(eObject);
if (editingDomain == null) {
}
editingDomain.getCommandStack().execute(
- AddCommand.create(editingDomain, modelElement, mainSetting.getEStructuralFeature(), instance));
+ AddCommand.create(editingDomain, eObject, structuralFeature, instance));
}
@Override
@@ -730,12 +882,31 @@
if (getVElement().getDiagnostic() == null) {
return;
}
- final Setting mainSetting = getVElement().getDomainModelReference().getIterator().next();
+
+ final VTableDomainModelReference tableDMR = (VTableDomainModelReference) getVElement()
+ .getDomainModelReference();
+ IObservableValue observableValue;
+ try {
+ if (tableDMR.getDomainModelReference() != null) {
+ observableValue = getEMFFormsDatabinding().getObservableValue(
+ tableDMR.getDomainModelReference(), getViewModelContext().getDomainModel());
+ } else {
+ observableValue = getEMFFormsDatabinding().getObservableValue(tableDMR,
+ getViewModelContext().getDomainModel());
+ }
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ observableValue.dispose();
+
validationIcon.setImage(getValidationIcon(getVElement().getDiagnostic().getHighestSeverity()));
validationIcon.setToolTipText(ECPTooltipModifierHelper.modifyString(getVElement().getDiagnostic()
.getMessage(), null));
- final Collection<?> collection = (Collection<?>) mainSetting.get(true);
+ final Collection<?> collection = (Collection<?>) eObject.eGet(structuralFeature, true);
if (!collection.isEmpty()) {
for (final Object object : collection) {
tableViewer.update(object, null);
@@ -747,43 +918,64 @@
}
/**
+ * Returns the add button created by the framework.
+ *
+ * @return the addButton
+ * @since 1.6
+ */
+ protected Button getAddButton() {
+ return addButton;
+ }
+
+ /**
+ * Returns the remove button created by the framework.
+ *
+ * @return the removeButton
+ * @since 1.6
+ */
+ protected Button getRemoveButton() {
+ return removeButton;
+ }
+
+ /**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#applyEnable()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#applyEnable()
*/
@Override
protected void applyEnable() {
- if (addButton != null) {
- addButton.setVisible(getVElement().isEnabled() && !getVElement().isReadonly());
+ if (getAddButton() != null) {
+ getAddButton().setVisible(getVElement().isEnabled() && !getVElement().isReadonly());
}
- if (removeButton != null) {
- removeButton.setVisible(getVElement().isEnabled() && !getVElement().isReadonly());
+ if (getRemoveButton() != null) {
+ getRemoveButton().setVisible(getVElement().isEnabled() && !getVElement().isReadonly());
}
}
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#applyReadOnly()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#applyReadOnly()
*/
@Override
protected void applyReadOnly() {
- if (addButton != null) {
- addButton.setVisible(getVElement().isEnabled() && !getVElement().isReadonly());
+ if (getAddButton() != null) {
+ getAddButton().setVisible(getVElement().isEnabled() && !getVElement().isReadonly());
}
- if (removeButton != null) {
- removeButton.setVisible(getVElement().isEnabled() && !getVElement().isReadonly());
+ if (getRemoveButton() != null) {
+ getRemoveButton().setVisible(getVElement().isEnabled() && !getVElement().isReadonly());
}
}
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#dispose()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#dispose()
*/
@Override
protected void dispose() {
rendererGridDescription = null;
+ viewModelDBC.dispose();
super.dispose();
}
@@ -838,18 +1030,31 @@
final EObject object1 = (EObject) e1;
final EObject object2 = (EObject) e2;
- Object value1 = null;
- Object value2 = null;
+ Object value1;
+ Object value2;
final VDomainModelReference dmr = ((VTableDomainModelReference) getVElement().getDomainModelReference())
.getColumnDomainModelReferences().get(propertyIndex);
- boolean init = dmr.init(object1);
- if (init && dmr.getIterator().hasNext()) {
- value1 = dmr.getIterator().next().get(true);
+ final EMFFormsDatabinding emfFormsDatabinding = getEMFFormsDatabinding();
+
+ try {
+ final IObservableValue observableValue1 = emfFormsDatabinding.getObservableValue(dmr, object1);
+ final EStructuralFeature structuralFeature1 = (EStructuralFeature) observableValue1.getValueType();
+ final EObject observed1 = (EObject) ((IObserving) observableValue1).getObserved();
+ value1 = observed1.eGet(structuralFeature1, true);
+ observableValue1.dispose();
+ } catch (final DatabindingFailedException ex) {
+ value1 = null;
}
- init = dmr.init(object2);
- if (init && dmr.getIterator().hasNext()) {
- value2 = dmr.getIterator().next().get(true);
+
+ try {
+ final IObservableValue observableValue2 = emfFormsDatabinding.getObservableValue(dmr, object2);
+ final EStructuralFeature structuralFeature2 = (EStructuralFeature) observableValue2.getValueType();
+ final EObject observed2 = (EObject) ((IObserving) observableValue2).getObserved();
+ value2 = observed2.eGet(structuralFeature2, true);
+ observableValue2.dispose();
+ } catch (final DatabindingFailedException ex) {
+ value2 = null;
}
if (value1 == null) {
@@ -880,6 +1085,7 @@
private final CellEditor cellEditor;
private final VTableControl vTableControl;
private final VDomainModelReference dmr;
+ private final Table table;
/**
* Constructor.
@@ -892,14 +1098,17 @@
* an {@link IObservableMap} instance that is passed to the {@link ObservableMapCellLabelProvider}
* @param vTableControl the {@link VTableControl}
* @param dmr the {@link VDomainModelReference} for this cell
+ * @param table the swt table
+ * @since 1.6
*/
public ECPCellLabelProvider(EStructuralFeature feature, CellEditor cellEditor, IObservableMap attributeMap,
- VTableControl vTableControl, VDomainModelReference dmr) {
+ VTableControl vTableControl, VDomainModelReference dmr, Table table) {
super(attributeMap);
this.vTableControl = vTableControl;
this.feature = feature;
this.cellEditor = cellEditor;
this.dmr = dmr;
+ this.table = table;
}
/**
@@ -910,15 +1119,18 @@
@Override
public String getToolTipText(Object element) {
final EObject domainObject = (EObject) element;
- final VDomainModelReference copy = EcoreUtil.copy(dmr);
- copy.init(domainObject);
- final Iterator<Setting> iterator = copy.getIterator();
- Setting setting;
- if (iterator.hasNext()) {
- setting = iterator.next();
- } else {
+ IObservableValue observableValue;
+ try {
+ observableValue = getEMFFormsDatabinding()
+ .getObservableValue(dmr, domainObject);
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new DatabindingFailedReport(ex));
return null;
}
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ final Setting setting = ((InternalEObject) eObject).eSetting(structuralFeature);
+ observableValue.dispose();
final VDiagnostic vDiagnostic = vTableControl.getDiagnostic();
if (vDiagnostic != null) {
@@ -928,7 +1140,7 @@
return ECPTooltipModifierHelper.modifyString(message, setting);
}
}
- final Object value = setting.get(true);
+ final Object value = eObject.eGet(structuralFeature, true);
if (value == null) {
return null;
}
@@ -950,6 +1162,7 @@
cell.getControl().setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_edit_cellEditor_string"); //$NON-NLS-1$
}
+ cell.setForeground(getForeground(element));
cell.setBackground(getBackground(element));
}
@@ -960,7 +1173,7 @@
*/
@Override
public Color getForeground(Object element) {
- return null;
+ return table.getForeground();
}
/**
@@ -992,17 +1205,24 @@
private final VTableControl tableControl;
+ private final IValueProperty valueProperty;
+
private final VDomainModelReference domainModelReference;
+ private final EObject dmrRootEObject;
+
/**
* @param viewer
*/
public ECPTableEditingSupport(ColumnViewer viewer, CellEditor cellEditor,
- VTableControl tableControl, VDomainModelReference domainModelReference) {
+ VTableControl tableControl, VDomainModelReference domainModelReference, IValueProperty valueProperty,
+ EObject dmrRootEObject) {
super(viewer);
this.cellEditor = cellEditor;
this.tableControl = tableControl;
+ this.valueProperty = valueProperty;
this.domainModelReference = domainModelReference;
+ this.dmrRootEObject = dmrRootEObject;
}
private EditingState editingState;
@@ -1020,13 +1240,13 @@
boolean editable = tableControl.isEnabled()
&& !tableControl.isReadonly();
- final Setting setting = getCellSetting(domainModelReference, element);
- if (setting == null) {
- return false;
- }
- editable &= getItemPropertyDescriptor(setting).canSetProperty(null);
- editable &= !CellReadOnlyTesterHelper.getInstance().isReadOnly(getVElement(), setting
- );
+ final IObservableValue observableValue = valueProperty.observe(element);
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final Setting setting = ((InternalEObject) eObject).eSetting(structuralFeature);
+
+ editable &= emfFormsEditSupport.canSetProperty(domainModelReference, (EObject) element);
+ editable &= !CellReadOnlyTesterHelper.getInstance().isReadOnly(getVElement(), setting);
if (ECPCellEditor.class.isInstance(cellEditor)) {
ECPCellEditor.class.cast(cellEditor).setEditable(editable);
@@ -1070,8 +1290,8 @@
final IObservableValue target = doCreateCellEditorObservable(cellEditor);
Assert.isNotNull(target, "doCreateCellEditorObservable(...) did not return an observable"); //$NON-NLS-1$
- final IObservableValue model = doCreateElementObservable(cell.getElement(), cell);
- Assert.isNotNull(model, "doCreateElementObservable(...) did not return an observable"); //$NON-NLS-1$
+ final IObservableValue model = valueProperty.observe(cell.getElement());
+ Assert.isNotNull(model, "The databinding service did not return an observable"); //$NON-NLS-1$
final Binding binding = createBinding(target, model);
@@ -1090,16 +1310,12 @@
protected Binding createBinding(IObservableValue target, IObservableValue model) {
if (ECPCellEditor.class.isInstance(cellEditor)) {
return getDataBindingContext().bindValue(target, model,
- ((ECPCellEditor) cellEditor).getTargetToModelStrategy(),
- ((ECPCellEditor) cellEditor).getModelToTargetStrategy());
+ ((ECPCellEditor) cellEditor).getTargetToModelStrategy(getDataBindingContext()),
+ ((ECPCellEditor) cellEditor).getModelToTargetStrategy(getDataBindingContext()));
}
return getDataBindingContext().bindValue(target, model);
}
- protected IObservableValue doCreateElementObservable(Object element, ViewerCell cell) {
- return getValueProperty(domainModelReference).observe(element);
- }
-
protected IObservableValue doCreateCellEditorObservable(CellEditor cellEditor) {
if (ECPCellEditor.class.isInstance(cellEditor)) {
return ((ECPCellEditor) cellEditor).getValueProperty().observe(cellEditor);
@@ -1122,7 +1338,13 @@
@Override
public void afterEditorActivated(ColumnViewerEditorActivationEvent event) {
- // do nothing
+ // set colors for cell editor
+ final Control control = cellEditor.getControl();
+ if (control == null || control.isDisposed()) {
+ return;
+ }
+ control.setBackground(getViewer().getControl().getBackground());
+ control.setForeground(getViewer().getControl().getForeground());
}
@Override
@@ -1208,15 +1430,4 @@
return ECPTooltipModifierHelper.modifyString(message, null);
}
}
-
- private Setting getCellSetting(VDomainModelReference domainModelReference, Object element) {
- final InternalEObject eObject = InternalEObject.class.cast(element);
- final VDomainModelReference copy = EcoreUtil.copy(domainModelReference);
- copy.init(eObject);
- final Iterator<Setting> iterator = copy.getIterator();
- if (iterator.hasNext()) {
- return iterator.next();
- }
- return null;
- }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.validation/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.table.validation/META-INF/MANIFEST.MF
index e690a13..8620c60 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.validation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.table.validation/META-INF/MANIFEST.MF
@@ -2,12 +2,16 @@
Bundle-ManifestVersion: 2
Bundle-Name: Services
Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.validation;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.table.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.5.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.ecp.view.table.internal.validation;ver
- sion="1.5.1";x-internal:=true
+ sion="1.6.0";x-internal:=true
+Bundle-Activator: org.eclipse.emf.ecp.view.table.internal.validation.Activator
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.view.table.validation/pom.xml b/bundles/org.eclipse.emf.ecp.view.table.validation/pom.xml
index 1bd6ec7..ad489c8 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.validation/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.table.validation/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.table.validation</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.validation/src/org/eclipse/emf/ecp/view/table/internal/validation/Activator.java b/bundles/org.eclipse.emf.ecp.view.table.validation/src/org/eclipse/emf/ecp/view/table/internal/validation/Activator.java
new file mode 100644
index 0000000..22facdd
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.table.validation/src/org/eclipse/emf/ecp/view/table/internal/validation/Activator.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.table.internal.validation;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class Activator extends Plugin {
+ /** The plug-in ID. */
+ public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.table.validation"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ private ServiceReference<ReportService> reportServiceReference;
+
+ /**
+ * The constructor.
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.validation/src/org/eclipse/emf/ecp/view/table/internal/validation/TableValidationInitiator.java b/bundles/org.eclipse.emf.ecp.view.table.validation/src/org/eclipse/emf/ecp/view/table/internal/validation/TableValidationInitiator.java
index dab646f..b29468b 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.validation/src/org/eclipse/emf/ecp/view/table/internal/validation/TableValidationInitiator.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.validation/src/org/eclipse/emf/ecp/view/table/internal/validation/TableValidationInitiator.java
@@ -12,15 +12,17 @@
package org.eclipse.emf.ecp.view.table.internal.validation;
import java.util.Collections;
-import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.TreeIterator;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecp.common.spi.UniqueSetting;
import org.eclipse.emf.ecp.view.spi.context.GlobalViewModelService;
@@ -31,6 +33,9 @@
import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
import org.eclipse.emf.ecp.view.spi.table.model.DetailEditing;
import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* The TableValidationInitiator searches for Tables with an Editing Panel, and creates the necessary ViewModelContexts.
@@ -38,7 +43,6 @@
* @author Eugen Neufeld
*
*/
-@SuppressWarnings("restriction")
public class TableValidationInitiator implements GlobalViewModelService {
/**
@@ -64,9 +68,11 @@
}
private final Map<UniqueSetting, TableContextMapping> mapping = new LinkedHashMap<UniqueSetting, TableContextMapping>();
+ private ViewModelContext context;
@Override
public void instantiate(ViewModelContext context) {
+ this.context = context;
context.registerDomainChangeListener(new ModelChangeListener() {
@Override
@@ -80,8 +86,12 @@
return;
}
for (final EObject newValue : notification.getNewEObjects()) {
- tableContextMapping.context.getChildContext(newValue,
- tableContextMapping.control, getView(tableContextMapping.control));
+ try {
+ tableContextMapping.context.getChildContext(newValue,
+ tableContextMapping.control, getView(tableContextMapping.control));
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ }
}
}
});
@@ -98,17 +108,39 @@
final VTableControl tableControl = VTableControl.class.cast(eObject);
if (tableControl.getDetailEditing() == DetailEditing.WITH_PANEL) {
- final Iterator<Setting> iterator = tableControl
- .getDomainModelReference().getIterator();
- final Setting tableSetting = iterator.next();
- mapping.put(UniqueSetting.createSetting(tableSetting), new TableContextMapping(tableControl,
- context));
- final EList<EObject> tableContents = (EList<EObject>) tableSetting.get(true);
+ final VTableDomainModelReference tableDomainModelReference = (VTableDomainModelReference) tableControl
+ .getDomainModelReference();
+ final IObservableValue observableValue;
+ try {
+ if (tableDomainModelReference.getDomainModelReference() != null) {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(tableDomainModelReference.getDomainModelReference(),
+ context.getDomainModel());
+ } else {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(tableDomainModelReference, context.getDomainModel());
+ }
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ continue;
+ }
+ final IObserving observing = (IObserving) observableValue;
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final EObject observed = (EObject) observing.getObserved();
+ observableValue.dispose();
+
+ mapping.put(UniqueSetting.createSetting(observed, structuralFeature), new TableContextMapping(
+ tableControl, context));
+ final EList<EObject> tableContents = (EList<EObject>) observed.eGet(structuralFeature, true);
for (final EObject tableEObject : tableContents) {
- final VView detailView = getView(tableControl);
- final ViewModelContext childContext = context.getChildContext(tableEObject, tableControl,
- detailView);
- childContext.addContextUser(this);
+ try {
+ final VView detailView = getView(tableControl);
+ final ViewModelContext childContext = context.getChildContext(tableEObject, tableControl,
+ detailView);
+ childContext.addContextUser(this);
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ }
}
}
@@ -116,19 +148,26 @@
}
}
- private VView getView(VTableControl tableControl) {
+ private VView getView(VTableControl tableControl) throws DatabindingFailedException {
VView detailView = tableControl.getDetailView();
if (detailView == null) {
- final Setting setting = tableControl.getDomainModelReference()
- .getIterator().next();
- final EReference reference = (EReference) setting
- .getEStructuralFeature();
+ final VTableDomainModelReference tableDomainModelReference = (VTableDomainModelReference) tableControl
+ .getDomainModelReference();
+ final IValueProperty valueProperty;
+ if (tableDomainModelReference.getDomainModelReference() != null) {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(tableDomainModelReference.getDomainModelReference(), context.getDomainModel());
+ } else {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(tableDomainModelReference, context.getDomainModel());
+ }
+ final EReference reference = (EReference) valueProperty.getValueType();
detailView = ViewProviderHelper.getView(
EcoreUtil.create(reference.getEReferenceType()),
Collections.<String, Object> emptyMap());
}
- return EcoreUtil.copy(detailView);
+ return detailView;
}
@Override
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.classpath b/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.classpath
deleted file mode 100644
index ad32c83..0000000
--- a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.project b/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.project
deleted file mode 100644
index 366e9a8..0000000
--- a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.project
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.ecp.view.template.controls.swt</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.template.controls.swt/META-INF/MANIFEST.MF
deleted file mode 100644
index e6f5250..0000000
--- a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Template Controls SWT
-Bundle-SymbolicName: org.eclipse.emf.ecp.view.template.controls.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
-Bundle-Activator: org.eclipse.emf.ecp.view.template.controls.swt.Activator
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.ui;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.jface.databinding;bundle-version="[1.4.0,2.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-ActivationPolicy: lazy
-Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.template.controls.swt;version
- ="1.5.1";x-internal:=true
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.properties b/bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.properties
deleted file mode 100644
index 60965de..0000000
--- a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) 2011, 2014 Eclipsesource Munich GmbH and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# EclipseSource - initial API and implementation
-
-# NLS_MESSAGEFORMAT_VAR
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-featureName = ECP EMF Client Platform
-featureText = ECP EMF Client Platform\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-Copyright (c) 2011, 2014 Eclipsesource Munich GmbH and others. All rights reserved.\n\
-\n\
-Visit http://www.eclipse.org/ecp
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/build.properties b/bundles/org.eclipse.emf.ecp.view.template.controls.swt/build.properties
deleted file mode 100644
index bb8af2b..0000000
--- a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- about.html,\
- about.ini,\
- about.mappings,\
- about.properties,\
- modeling32.png
-src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/plugin.xml b/bundles/org.eclipse.emf.ecp.view.template.controls.swt/plugin.xml
deleted file mode 100644
index 63a9a96..0000000
--- a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/plugin.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.edit.controls">
- <control
- class="org.eclipse.emf.ecp.view.template.controls.swt.TemplateColorControl"
- id="org.eclipse.emf.ecp.view.template.controls.swt.color">
- <staticTest
- priority="3"
- singleValue="true"
- supportedClassType="java.lang.String"
- supportedEObject="org.eclipse.emf.ecp.view.template.model.VTControlValidationTemplate"
- supportedFeature="okColorHEX">
- </staticTest>
- <staticTest
- priority="3"
- singleValue="true"
- supportedClassType="java.lang.String"
- supportedEObject="org.eclipse.emf.ecp.view.template.model.VTControlValidationTemplate"
- supportedFeature="infoColorHEX">
- </staticTest>
- <staticTest
- priority="3"
- singleValue="true"
- supportedClassType="java.lang.String"
- supportedEObject="org.eclipse.emf.ecp.view.template.model.VTControlValidationTemplate"
- supportedFeature="warningColorHEX">
- </staticTest>
- <staticTest
- priority="3"
- singleValue="true"
- supportedClassType="java.lang.String"
- supportedEObject="org.eclipse.emf.ecp.view.template.model.VTControlValidationTemplate"
- supportedFeature="errorColorHEX">
- </staticTest>
- <staticTest
- priority="3"
- singleValue="true"
- supportedClassType="java.lang.String"
- supportedEObject="org.eclipse.emf.ecp.view.template.model.VTControlValidationTemplate"
- supportedFeature="cancelColorHEX">
- </staticTest>
- </control>
- <control
- class="org.eclipse.emf.ecp.view.template.controls.swt.TemplateIconControl"
- id="org.eclipse.emf.ecp.view.template.controls.swt.icon">
- <staticTest
- priority="3"
- singleValue="true"
- supportedClassType="java.lang.String"
- supportedEObject="org.eclipse.emf.ecp.view.template.model.VTControlValidationTemplate"
- supportedFeature="okImageURL">
- </staticTest>
- <staticTest
- priority="3"
- singleValue="true"
- supportedClassType="java.lang.String"
- supportedEObject="org.eclipse.emf.ecp.view.template.model.VTControlValidationTemplate"
- supportedFeature="infoImageURL">
- </staticTest>
- <staticTest
- priority="3"
- singleValue="true"
- supportedClassType="java.lang.String"
- supportedEObject="org.eclipse.emf.ecp.view.template.model.VTControlValidationTemplate"
- supportedFeature="warningImageURL">
- </staticTest>
- <staticTest
- priority="3"
- singleValue="true"
- supportedClassType="java.lang.String"
- supportedEObject="org.eclipse.emf.ecp.view.template.model.VTControlValidationTemplate"
- supportedFeature="errorImageURL">
- </staticTest>
- <staticTest
- priority="3"
- singleValue="true"
- supportedClassType="java.lang.String"
- supportedEObject="org.eclipse.emf.ecp.view.template.model.VTControlValidationTemplate"
- supportedFeature="cancelImageURL">
- </staticTest>
- </control>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.template.controls.swt/pom.xml
deleted file mode 100644
index 56d20f0..0000000
--- a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/pom.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.emf.ecp</groupId>
- <artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
- <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
- </parent>
-
- <artifactId>org.eclipse.emf.ecp.view.template.controls.swt</artifactId>
- <packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
-
-</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/Activator.java b/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/Activator.java
deleted file mode 100644
index 4c5495e..0000000
--- a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/Activator.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.view.template.controls.swt;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * The Activator.
- *
- * @author Eugen Neufeld
- *
- */
-public class Activator implements BundleActivator {
-
- private static BundleContext context;
-
- /**
- * The BundleContext.
- *
- * @return The {@link BundleContext}
- */
- static BundleContext getContext() {
- return context;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext bundleContext) throws Exception {
- Activator.context = bundleContext;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext bundleContext) throws Exception {
- Activator.context = null;
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/Messages.java b/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/Messages.java
deleted file mode 100644
index 49ef430..0000000
--- a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/Messages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jonas - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.template.controls.swt;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @author Jonas
- * @generated
- *
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.view.template.controls.swt.messages"; //$NON-NLS-1$
- public static String TemplateColorControl_NoColorSet;
- public static String TemplateColorControl_PressToSelectColor;
- public static String TemplateColorControl_SelectColor;
- public static String TemplateColorControl_UnsetColor;
- public static String TemplateIconControl_ExternalFile;
- public static String TemplateIconControl_NoIconSet;
- public static String TemplateIconControl_PluginFile;
- public static String TemplateIconControl_UnsetIcon;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/TemplateColorControl.java b/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/TemplateColorControl.java
deleted file mode 100644
index e309f87..0000000
--- a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/TemplateColorControl.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/**
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.view.template.controls.swt;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.eclipse.core.databinding.UpdateValueStrategy;
-import org.eclipse.emf.ecp.edit.internal.swt.controls.AbstractTextControl;
-import org.eclipse.jface.databinding.swt.ISWTObservableValue;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.ColorDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * Control for selecting a color.
- *
- * @author Eugen Neufeld
- *
- */
-@SuppressWarnings({ "restriction", "deprecation" })
-public class TemplateColorControl extends AbstractTextControl {
-
- private final Map<String, Color> colors = new LinkedHashMap<String, Color>();
-
- @Override
- protected void fillControlComposite(final Composite composite) {
- final Composite main = new Composite(composite, SWT.NONE);
- GridLayoutFactory.fillDefaults().numColumns(3).applyTo(main);
- GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.BEGINNING).applyTo(main);
- super.fillControlComposite(main);
-
- final Label color = new Label(main, SWT.BORDER);
- GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.FILL).applyTo(color);
- color.setText(Messages.TemplateColorControl_SelectColor);
- color.addMouseListener(new MouseListener() {
-
- @Override
- public void mouseUp(MouseEvent e) {
- final ColorDialog cd = new ColorDialog(composite.getShell());
- cd.setText(Messages.TemplateColorControl_SelectColor);
- cd.setRGB(colors.get(getDomainModelReference().getIterator().next()).getRGB());
- final RGB rgb = cd.open();
- if (rgb == null) {
- return;
- }
-
- final String red = Integer.toHexString(0x100 | rgb.red).substring(1);
- final String green = Integer.toHexString(0x100 | rgb.green).substring(1);
- final String blue = Integer.toHexString(0x100 | rgb.blue).substring(1);
- final String result = red + green + blue;
- getDomainModelReference().getIterator().next().set(result);
- }
-
- @Override
- public void mouseDown(MouseEvent e) {
- // Do nothing
- }
-
- @Override
- public void mouseDoubleClick(MouseEvent e) {
- // Do nothing
- }
- });
- final ISWTObservableValue observeBackground = SWTObservables.observeBackground(color);
- getDataBindingContext().bindValue(observeBackground, getModelValue(), new UpdateValueStrategy() {
- // targetToModel
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object)
- */
- @Override
- public Object convert(Object value) {
- if (value == null) {
- return ""; //$NON-NLS-1$
- }
- final Color color = (Color) value;
- final String red = Integer.toHexString(0x100 | color.getRed()).substring(1);
- final String green = Integer.toHexString(0x100 | color.getGreen()).substring(1);
- final String blue = Integer.toHexString(0x100 | color.getBlue()).substring(1);
- return red + green + blue;
- }
-
- }, new UpdateValueStrategy() {
- // ModelToTarget
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object)
- */
- @Override
- public Object convert(Object value) {
- if (value == null) {
- return null;
- }
- final String colorHex = (String) value;
- if (!colors.containsKey(value)) {
- final String redString = colorHex.substring(0, 2);
- final String greenString = colorHex.substring(2, 4);
- final String blueString = colorHex.substring(4, 6);
- final int red = Integer.parseInt(redString, 16);
- final int green = Integer.parseInt(greenString, 16);
- final int blue = Integer.parseInt(blueString, 16);
- colors.put(colorHex, new Color(Display.getDefault(), red, green, blue));
- }
- return colors.get(colorHex);
- }
- });
- color.setToolTipText(Messages.TemplateColorControl_PressToSelectColor);
- }
-
- @Override
- protected String getTextVariantID() {
- return "org_eclipse_emf_ecp_view_template_control_color"; //$NON-NLS-1$
- }
-
- @Override
- protected String getUnsetLabelText() {
- return Messages.TemplateColorControl_NoColorSet;
- }
-
- @Override
- protected String getUnsetButtonTooltip() {
- return Messages.TemplateColorControl_UnsetColor;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.edit.internal.swt.controls.AbstractTextControl#dispose()
- */
- @Override
- public void dispose() {
- for (final Color color : colors.values()) {
- color.dispose();
- }
- super.dispose();
- }
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/TemplateIconControl.java b/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/TemplateIconControl.java
deleted file mode 100644
index 4a9e9dc..0000000
--- a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/TemplateIconControl.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/**
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.view.template.controls.swt;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.util.Enumeration;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.eclipse.emf.ecp.edit.internal.swt.controls.AbstractTextControl;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.osgi.framework.Bundle;
-
-/**
- * Control for setting the url of an icon.
- *
- * @author Eugen Neufeld
- *
- */
-@SuppressWarnings("restriction")
-public class TemplateIconControl extends AbstractTextControl {
-
- @Override
- protected void fillControlComposite(final Composite composite) {
- final Composite main = new Composite(composite, SWT.NONE);
- GridLayoutFactory.fillDefaults().numColumns(3).applyTo(main);
- GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.BEGINNING).applyTo(main);
- super.fillControlComposite(main);
-
- final Button selectExternalFile = new Button(main, SWT.PUSH);
- selectExternalFile.setText(Messages.TemplateIconControl_ExternalFile);
-
- selectExternalFile.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- final FileDialog fd = new FileDialog(composite.getShell(), SWT.OPEN);
- final String filePath = fd.open();
- if (filePath == null) {
- return;
- }
- try {
- final String url = new File(filePath).toURL().toExternalForm();
- getDomainModelReference().getIterator().next().set(url);
- } catch (final MalformedURLException ex) {
-
- }
- }
-
- });
- final Button selectFileFromPlugin = new Button(main, SWT.PUSH);
- selectFileFromPlugin.setText(Messages.TemplateIconControl_PluginFile);
-
- selectFileFromPlugin.addSelectionListener(new SelectFileFromPluginAdapter(composite));
- }
-
- @Override
- protected String getTextVariantID() {
- return "org_eclipse_emf_ecp_view_template_control_icon"; //$NON-NLS-1$
- }
-
- @Override
- protected String getUnsetLabelText() {
- return Messages.TemplateIconControl_NoIconSet;
- }
-
- @Override
- protected String getUnsetButtonTooltip() {
- return Messages.TemplateIconControl_UnsetIcon;
- }
-
- /**
- * @author Jonas
- *
- */
- private final class SelectFileFromPluginAdapter extends SelectionAdapter {
- private final Composite composite;
-
- /**
- * @param composite
- */
- private SelectFileFromPluginAdapter(Composite composite) {
- this.composite = composite;
- }
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- final IconTreeContentProvider iconTreeContentProvider = new IconTreeContentProvider();
- final ElementTreeSelectionDialog etsd = new ElementTreeSelectionDialog(composite.getShell(),
- new LabelProvider() {
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
- */
- @Override
- public String getText(Object element) {
- if (Bundle.class.isInstance(element)) {
- return ((Bundle) element).getSymbolicName();
- }
- return super.getText(element);
- }
-
- }, iconTreeContentProvider);
-
- etsd.setInput(Activator.getContext().getBundles());
- final int result = etsd.open();
- if (Window.OK != result) {
- return;
- }
- final Object selectedResult = etsd.getFirstResult();
- if (!String.class.isInstance(selectedResult)) {
- return;
- }
- final String file = (String) selectedResult;
- if (file.endsWith("png") || file.endsWith("gif") || file.endsWith("jpg")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- getDomainModelReference()
- .getIterator()
- .next()
- .set(
- "platform:/plugin/" + iconTreeContentProvider.getLastBundle().getSymbolicName() + "/" //$NON-NLS-1$ //$NON-NLS-2$
- + file);
- }
- }
- }
-
- /**
- * The tree content provider for selecting the icon url.
- *
- * @author Eugen Neufeld
- *
- */
- private class IconTreeContentProvider implements ITreeContentProvider {
-
- private Bundle lastBundle;
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void dispose() {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public boolean hasChildren(Object element) {
- if (element.getClass().isArray()) {
- final Object[] array = (Object[]) element;
- return array.length > 0;
- }
- if (Bundle.class.isInstance(element)) {
- final Bundle bundle = (Bundle) element;
- return bundle.getEntryPaths("/").hasMoreElements(); //$NON-NLS-1$
- }
- if (String.class.isInstance(element) && lastBundle != null) {
- if (!((String) element).endsWith("/")) { //$NON-NLS-1$
- return false;
- }
- return lastBundle.getEntryPaths((String) element).hasMoreElements();
- }
- return false;
- }
-
- @Override
- public Object getParent(Object element) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- return getChildren(inputElement);
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- if (parentElement.getClass().isArray()) {
- return (Object[]) parentElement;
- }
- if (Bundle.class.isInstance(parentElement)) {
- lastBundle = (Bundle) parentElement;
- final Set<String> result = new LinkedHashSet<String>();
- final Enumeration<String> resources = lastBundle.getEntryPaths("/"); //$NON-NLS-1$
- while (resources.hasMoreElements()) {
- result.add(resources.nextElement());
- }
-
- return result.toArray();
- }
- if (String.class.isInstance(parentElement) && lastBundle != null) {
- final Set<String> result = new LinkedHashSet<String>();
- final Enumeration<String> resources = lastBundle.getEntryPaths((String) parentElement);
- while (resources.hasMoreElements()) {
- result.add(resources.nextElement());
- }
-
- return result.toArray();
- }
- return null;
- }
-
- /**
- * @return the lastBundle
- */
- public Bundle getLastBundle() {
- return lastBundle;
- }
- }
-}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/messages.properties b/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/messages.properties
deleted file mode 100644
index b86deae..0000000
--- a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/src/org/eclipse/emf/ecp/view/template/controls/swt/messages.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-TemplateColorControl_NoColorSet=No Color set
-TemplateColorControl_PressToSelectColor=Press to select the color
-TemplateColorControl_SelectColor=Select Color
-TemplateColorControl_UnsetColor=Unset Color
-TemplateIconControl_ExternalFile=External File
-TemplateIconControl_NoIconSet=No Icon URL set
-TemplateIconControl_PluginFile=Plugin File
-TemplateIconControl_UnsetIcon=Unset Icon URL
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/.gitignore b/bundles/org.eclipse.emf.ecp.view.template.model.edit/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.template.model.edit/.settings/.api_filters
index f97ecde..6bd7fbf 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.template.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model.edit"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.template.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.template.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.template.model.edit_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.template.model.edit/META-INF/MANIFEST.MF
index 52c87f0..af43ed7 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/META-INF/MANIFEST.MF
@@ -2,26 +2,22 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.template.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.template.model.provider.TemplateEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.view.template.model.provider;versi
- on="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.template.selecto
- r.domainmodelreference.model.provider;version="1.5.1";x-internal:=tru
- e,org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.p
- rovider;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.tem
- plate.style.alignment.model.provider;version="1.5.1";x-internal:=true
- ,org.eclipse.emf.ecp.view.template.style.fontProperties.model.provide
- r;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.template.
- style.mandatory.model.provider;version="1.5.1";x-internal:=true,org.e
- clipse.emf.ecp.view.template.style.tableValidation.model.provider;ver
- sion="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.template.style
- .textControlEnablement.model.provider;version="1.5.1";x-internal:=tru
- e,org.eclipse.emf.ecp.view.template.style.validation.model.provider;v
- ersion="1.5.1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.template.model.provider;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model.provider;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.provider;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.alignment.model.provider;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.background.model.provider;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.fontProperties.model.provider;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.mandatory.model.provider;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.tableValidation.model.provider;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.textControlEnablement.model.provider;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.validation.model.provider;version="1.6.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/icons/full/ctool16/CreateStyle_properties_BackgroundStyleProperty.gif b/bundles/org.eclipse.emf.ecp.view.template.model.edit/icons/full/ctool16/CreateStyle_properties_BackgroundStyleProperty.gif
new file mode 100644
index 0000000..30f3614
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/icons/full/ctool16/CreateStyle_properties_BackgroundStyleProperty.gif
Binary files differ
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/icons/full/obj16/BackgroundStyleProperty.gif b/bundles/org.eclipse.emf.ecp.view.template.model.edit/icons/full/obj16/BackgroundStyleProperty.gif
new file mode 100644
index 0000000..522d80c
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/icons/full/obj16/BackgroundStyleProperty.gif
Binary files differ
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/plugin.properties b/bundles/org.eclipse.emf.ecp.view.template.model.edit/plugin.properties
index 3d17b49..ea415dd 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model.edit/plugin.properties
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/plugin.properties
@@ -194,3 +194,5 @@
_UI_MandatoryStyleProperty_mandatoryMarker_feature = Mandatory Marker
_UI_TextControlEnablementStyleProperty_type = Style Property
_UI_TextControlEnablementStyleProperty_RenderDisableAsEditable_feature = Render Disable As Editable
+_UI_BackgroundStyleProperty_type = Background Style Property
+_UI_BackgroundStyleProperty_color_feature = Color
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/plugin.xml b/bundles/org.eclipse.emf.ecp.view.template.model.edit/plugin.xml
index d2ce964..a82b055 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model.edit/plugin.xml
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/plugin.xml
@@ -185,4 +185,23 @@
uri="http://org/eclipse/emf/ecp/view/template/model"
class="org.eclipse.emf.ecp.view.template.style.textControlEnablement.model.provider.TextControlEnablementItemProviderAdapterFactory$TemplateChildCreationExtender"/>
</extension>
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated backgroundStyle -->
+ <factory
+ uri="http://www.eclipse.org/emf/ecp/view/template/style/background/model"
+ class="org.eclipse.emf.ecp.view.template.style.background.model.provider.BackgroundItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.childCreationExtenders">
+ <!-- @generated backgroundStyle -->
+ <extender
+ uri="http://org/eclipse/emf/ecp/view/template/model"
+ class="org.eclipse.emf.ecp.view.template.style.background.model.provider.BackgroundItemProviderAdapterFactory$TemplateChildCreationExtender"/>
+ </extension>
</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.template.model.edit/pom.xml
index 1231251..24ea559 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.template.model.edit</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/background/model/provider/BackgroundEditPlugin.java b/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/background/model/provider/BackgroundEditPlugin.java
new file mode 100644
index 0000000..bbb03f9
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/background/model/provider/BackgroundEditPlugin.java
@@ -0,0 +1,113 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.template.style.background.model.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecp.view.template.model.provider.TemplateEditPlugin;
+
+/**
+ * This is the central singleton for the Background edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public final class BackgroundEditPlugin extends EMFPlugin
+{
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final BackgroundEditPlugin INSTANCE = new BackgroundEditPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BackgroundEditPlugin()
+ {
+ super(new ResourceLocator[]
+ {
+ TemplateEditPlugin.INSTANCE,
+ });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator()
+ {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin()
+ {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin
+ {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Implementation()
+ {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/background/model/provider/BackgroundItemProviderAdapterFactory.java b/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/background/model/provider/BackgroundItemProviderAdapterFactory.java
new file mode 100644
index 0000000..10f754c
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/background/model/provider/BackgroundItemProviderAdapterFactory.java
@@ -0,0 +1,413 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.template.style.background.model.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.template.model.VTStyle;
+import org.eclipse.emf.ecp.view.template.model.VTTemplatePackage;
+import org.eclipse.emf.ecp.view.template.model.util.TemplateSwitch;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundFactory;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage;
+import org.eclipse.emf.ecp.view.template.style.background.model.util.BackgroundAdapterFactory;
+import org.eclipse.emf.edit.command.CommandParameter;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ChildCreationExtenderManager;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged
+ * fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class BackgroundItemProviderAdapterFactory extends BackgroundAdapterFactory implements
+ ComposeableAdapterFactory, IChangeNotifier, IDisposable, IChildCreationExtender
+{
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This helps manage the child creation extenders.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ChildCreationExtenderManager childCreationExtenderManager = new ChildCreationExtenderManager(
+ BackgroundEditPlugin.INSTANCE, VTBackgroundPackage.eNS_URI);
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BackgroundItemProviderAdapterFactory()
+ {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BackgroundStylePropertyItemProvider backgroundStylePropertyItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createBackgroundStylePropertyAdapter()
+ {
+ if (backgroundStylePropertyItemProvider == null)
+ {
+ backgroundStylePropertyItemProvider = new BackgroundStylePropertyItemProvider(this);
+ }
+
+ return backgroundStylePropertyItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ComposeableAdapterFactory getRootAdapterFactory()
+ {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory)
+ {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type)
+ {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type)
+ {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type)
+ {
+ if (isFactoryForType(type))
+ {
+ final Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || ((Class<?>) type).isInstance(adapter))
+ {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public List<IChildCreationExtender> getChildCreationExtenders()
+ {
+ return childCreationExtenderManager.getChildCreationExtenders();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<?> getNewChildDescriptors(Object object, EditingDomain editingDomain)
+ {
+ return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return childCreationExtenderManager;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void addListener(INotifyChangedListener notifyChangedListener)
+ {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void removeListener(INotifyChangedListener notifyChangedListener)
+ {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void fireNotifyChanged(Notification notification)
+ {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null)
+ {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void dispose()
+ {
+ if (backgroundStylePropertyItemProvider != null) {
+ backgroundStylePropertyItemProvider.dispose();
+ }
+ }
+
+ /**
+ * A child creation extender for the {@link VTTemplatePackage}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static class TemplateChildCreationExtender implements IChildCreationExtender
+ {
+ /**
+ * The switch for creating child descriptors specific to each extended class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static class CreationSwitch extends TemplateSwitch<Object>
+ {
+ /**
+ * The child descriptors being populated.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected List<Object> newChildDescriptors;
+
+ /**
+ * The domain in which to create the children.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EditingDomain editingDomain;
+
+ /**
+ * Creates the a switch for populating child descriptors in the given domain.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ CreationSwitch(List<Object> newChildDescriptors, EditingDomain editingDomain)
+ {
+ this.newChildDescriptors = newChildDescriptors;
+ this.editingDomain = editingDomain;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object caseStyle(VTStyle object)
+ {
+ newChildDescriptors.add
+ (createChildParameter
+ (VTTemplatePackage.Literals.STYLE__PROPERTIES,
+ VTBackgroundFactory.eINSTANCE.createBackgroundStyleProperty()));
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CommandParameter createChildParameter(Object feature, Object child)
+ {
+ return new CommandParameter(null, feature, child);
+ }
+
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<Object> getNewChildDescriptors(Object object, EditingDomain editingDomain)
+ {
+ final ArrayList<Object> result = new ArrayList<Object>();
+ new CreationSwitch(result, editingDomain).doSwitch((EObject) object);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return BackgroundEditPlugin.INSTANCE;
+ }
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/background/model/provider/BackgroundStylePropertyItemProvider.java b/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/background/model/provider/BackgroundStylePropertyItemProvider.java
new file mode 100644
index 0000000..aeaae27
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model.edit/src/org/eclipse/emf/ecp/view/template/style/background/model/provider/BackgroundStylePropertyItemProvider.java
@@ -0,0 +1,186 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.template.style.background.model.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class BackgroundStylePropertyItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BackgroundStylePropertyItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addColorPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Color feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addColorPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors
+ .add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BackgroundStyleProperty_color_feature"), //$NON-NLS-1$
+ getString(
+ "_UI_PropertyDescriptor_description", "_UI_BackgroundStyleProperty_color_feature", "_UI_BackgroundStyleProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ VTBackgroundPackage.Literals.BACKGROUND_STYLE_PROPERTY__COLOR,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns BackgroundStyleProperty.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/BackgroundStyleProperty")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ final String label = ((VTBackgroundStyleProperty) object).getColor();
+ return label == null || label.length() == 0 ?
+ getString("_UI_BackgroundStyleProperty_type") : //$NON-NLS-1$
+ getString("_UI_BackgroundStyleProperty_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(VTBackgroundStyleProperty.class))
+ {
+ case VTBackgroundPackage.BACKGROUND_STYLE_PROPERTY__COLOR:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return ((IChildCreationExtender) adapterFactory).getResourceLocator();
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/.gitignore b/bundles/org.eclipse.emf.ecp.view.template.model/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.template.model/.settings/.api_filters
index 08c975a..1f2156e 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.template.model" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.template.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.template.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.template.model_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.template.model/META-INF/MANIFEST.MF
index 251853e..029bd04 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/META-INF/MANIFEST.MF
@@ -2,51 +2,47 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.template.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.view.template.model;version="1.5.1
- ",org.eclipse.emf.ecp.view.template.model.impl;version="1.5.1";x-inte
- rnal:=true,org.eclipse.emf.ecp.view.template.model.util;version="1.5.
- 1";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",org.ecli
- pse.emf.ecp.view.template.selector.domainmodelreference.model;version
- ="1.5.1",org.eclipse.emf.ecp.view.template.selector.domainmodelrefere
- nce.model.impl;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.v
- iew.template.selector.domainmodelreference.model.util;version="1.5.1"
- ;x-friends:="org.eclipse.emf.ecp.view.template.model.edit",org.eclips
- e.emf.ecp.view.template.selector.viewModelElement.model;version="1.5.
- 1",org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.
- impl;version="1.5.1",org.eclipse.emf.ecp.view.template.selector.viewM
- odelElement.model.util;version="1.5.1",org.eclipse.emf.ecp.view.templ
- ate.style.alignment.model;version="1.5.1",org.eclipse.emf.ecp.view.te
- mplate.style.alignment.model.impl;version="1.5.1";x-internal:=true,or
- g.eclipse.emf.ecp.view.template.style.alignment.model.util;version="1
- .5.1";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",org.e
- clipse.emf.ecp.view.template.style.fontProperties.model;version="1.5.
- 1",org.eclipse.emf.ecp.view.template.style.fontProperties.model.impl;
- version="1.5.1",org.eclipse.emf.ecp.view.template.style.fontPropertie
- s.model.util;version="1.5.1",org.eclipse.emf.ecp.view.template.style.
- mandatory.model;version="1.5.1",org.eclipse.emf.ecp.view.template.sty
- le.mandatory.model.impl;version="1.5.1";x-internal:=true,org.eclipse.
- emf.ecp.view.template.style.mandatory.model.util;version="1.5.1";x-fr
- iends:="org.eclipse.emf.ecp.view.template.model.edit",org.eclipse.emf
- .ecp.view.template.style.tableValidation.model;version="1.5.1",org.ec
- lipse.emf.ecp.view.template.style.tableValidation.model.impl;version=
- "1.5.1",org.eclipse.emf.ecp.view.template.style.tableValidation.model
- .util;version="1.5.1",org.eclipse.emf.ecp.view.template.style.textCon
- trolEnablement.model;version="1.5.1",org.eclipse.emf.ecp.view.templat
- e.style.textControlEnablement.model.impl;version="1.5.1";x-internal:=
- true,org.eclipse.emf.ecp.view.template.style.textControlEnablement.mo
- del.util;version="1.5.1";x-friends:="org.eclipse.emf.ecp.view.templat
- e.model.edit",org.eclipse.emf.ecp.view.template.style.validation.mode
- l;version="1.5.1",org.eclipse.emf.ecp.view.template.style.validation.
- model.impl;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.
- template.style.validation.model.util;version="1.5.1";x-friends:="org.
- eclipse.emf.ecp.view.template.model.edit"
+Export-Package: org.eclipse.emf.ecp.internal.view.template.model;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.model;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.model.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.model.util;version="1.6.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model.util;version="1.6.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.selector.viewModelElement.model;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.impl;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.util;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.style.alignment.model;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.style.alignment.model.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.alignment.model.util;version="1.6.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.style.background.model;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.style.background.model.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.background.model.util;version="1.6.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.style.fontProperties.model;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.style.fontProperties.model.impl;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.style.fontProperties.model.util;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.style.mandatory.model;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.style.mandatory.model.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.mandatory.model.util;version="1.6.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.style.tableValidation.model;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.style.tableValidation.model.impl;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.style.tableValidation.model.util;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.style.textControlEnablement.model;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.style.textControlEnablement.model.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.textControlEnablement.model.util;version="1.6.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit",
+ org.eclipse.emf.ecp.view.template.style.validation.model;version="1.6.0",
+ org.eclipse.emf.ecp.view.template.style.validation.model.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.template.style.validation.model.util;version="1.6.0";x-friends:="org.eclipse.emf.ecp.view.template.model.edit"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)"
Bundle-ActivationPolicy: lazy
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)"
+Bundle-Activator: org.eclipse.emf.ecp.internal.view.template.model.Activator
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/model/backgroundStyle.ecore b/bundles/org.eclipse.emf.ecp.view.template.model/model/backgroundStyle.ecore
new file mode 100644
index 0000000..0472f95
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/model/backgroundStyle.ecore
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="background" nsURI="http://www.eclipse.org/emf/ecp/view/template/style/background/model"
+ nsPrefix="org.eclipse.emf.ecp.view.template.style.background.model">
+ <eClassifiers xsi:type="ecore:EClass" name="BackgroundStyleProperty" eSuperTypes="template.ecore#//StyleProperty">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="color" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/model/backgroundStyle.genmodel b/bundles/org.eclipse.emf.ecp.view.template.model/model/backgroundStyle.genmodel
new file mode 100644
index 0000000..0682a86
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/model/backgroundStyle.genmodel
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html

Contributors:
EclipseSource Munich - initial API and implementation"
+ modelDirectory="/org.eclipse.emf.ecp.view.template.model/src" modelPluginID="org.eclipse.emf.ecp.view.template.model"
+ modelName="Background" nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ codeFormatting="true" commentFormatting="true" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="6.0" copyrightFields="false" usedGenPackages="template.genmodel#//template"
+ interfaceNamePattern="VT{0}" classNamePattern="VT{0}Impl" operationReflection="true"
+ importOrganizing="true">
+ <foreignModel>backgroundStyle.ecore</foreignModel>
+ <genPackages prefix="Background" basePackage="org.eclipse.emf.ecp.view.template.style"
+ disposableProviderFactory="true" interfacePackageSuffix="model" metaDataPackageSuffix="model"
+ classPackageSuffix="model.impl" utilityPackageSuffix="model.util" providerPackageSuffix="model.provider"
+ presentationPackageSuffix="model.presentation" testsPackageSuffix="model.tests"
+ extensibleProviderFactory="true" childCreationExtenders="true" ecorePackage="backgroundStyle.ecore#/">
+ <genClasses ecoreClass="backgroundStyle.ecore#//BackgroundStyleProperty">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute backgroundStyle.ecore#//BackgroundStyleProperty/color"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/plugin.xml b/bundles/org.eclipse.emf.ecp.view.template.model/plugin.xml
index d541e0e..a052e07 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/plugin.xml
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/plugin.xml
@@ -89,4 +89,12 @@
genModel="model/textControlEnablementStyle.genmodel"/>
</extension>
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated backgroundStyle -->
+ <package
+ uri="http://www.eclipse.org/emf/ecp/view/template/style/background/model"
+ class="org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage"
+ genModel="model/backgroundStyle.genmodel"/>
+ </extension>
+
</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.template.model/pom.xml
index a7bf856..6d1a43d 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.template.model</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/internal/view/template/model/Activator.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/internal/view/template/model/Activator.java
new file mode 100644
index 0000000..8d3a892
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/internal/view/template/model/Activator.java
@@ -0,0 +1,108 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.internal.view.template.model;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * The Class Activator.
+ *
+ * @author Lucas Koehler
+ * @since 1.6
+ */
+public class Activator extends Plugin {
+
+ /**
+ * The constant holding the id of this plugin.
+ */
+ public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.template.model"; //$NON-NLS-1$
+
+ private static Activator plugin;
+ private ServiceReference<ReportService> reportServiceReference;
+
+ // BEGIN SUPRESS CATCH EXCEPTION
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext bundleContext) throws Exception {
+ super.start(bundleContext);
+ plugin = this;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext bundleContext) throws Exception {
+ plugin = null;
+ super.stop(bundleContext);
+ }
+
+ // END SUPRESS CATCH EXCEPTION
+ /**
+ * Returns the instance of this Activator.
+ *
+ * @return the saved instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Logs a {@link Throwable}.
+ *
+ * @param t the {@link Throwable} to log
+ */
+ public static void log(Throwable t) {
+ getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, t.getMessage(), t));
+ }
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/selector/domainmodelreference/model/impl/VTDomainModelReferenceSelectorImpl.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/selector/domainmodelreference/model/impl/VTDomainModelReferenceSelectorImpl.java
index 1afe951..e0754c6 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/selector/domainmodelreference/model/impl/VTDomainModelReferenceSelectorImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/selector/domainmodelreference/model/impl/VTDomainModelReferenceSelectorImpl.java
@@ -11,22 +11,26 @@
*/
package org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model.impl;
-import java.util.Iterator;
-
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecp.common.spi.UniqueSetting;
+import org.eclipse.emf.ecp.internal.view.template.model.Activator;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model.VTDomainModelReferenceSelector;
import org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model.VTDomainmodelreferencePackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* <!-- begin-user-doc -->
@@ -251,26 +255,29 @@
if (controlDomainModelReference == null) {
return NOT_APPLICABLE;
}
- final boolean resolve = getDomainModelReference().init(viewModelContext.getDomainModel());
- if (!resolve) {
+
+ IObservableValue controlObservableValue;
+ IObservableValue selectorObservableValue;
+ try {
+ controlObservableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(controlDomainModelReference, viewModelContext.getDomainModel());
+ selectorObservableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
- final Iterator<Setting> controlSettings = controlDomainModelReference.getIterator();
- final Iterator<Setting> selectorSettings = getDomainModelReference().getIterator();
+ final EObject controlEObject = (EObject) ((IObserving) controlObservableValue).getObserved();
+ final EStructuralFeature controlStructuralFeature = (EStructuralFeature) controlObservableValue.getValueType();
+ final EObject selectorEObject = (EObject) ((IObserving) selectorObservableValue).getObserved();
+ final EStructuralFeature selectorStructuralFeature = (EStructuralFeature) selectorObservableValue
+ .getValueType();
+ controlObservableValue.dispose();
+ selectorObservableValue.dispose();
- while (selectorSettings.hasNext()) {
- final Setting selectorSetting = selectorSettings.next();
- if (!controlSettings.hasNext()) {
- return NOT_APPLICABLE;
- }
- final Setting controlSetting = controlSettings.next();
- final boolean equal = UniqueSetting.createSetting(selectorSetting).equals(
- UniqueSetting.createSetting(controlSetting));
- if (!equal) {
- return NOT_APPLICABLE;
- }
- }
- if (controlSettings.hasNext()) {
+ final boolean equal = UniqueSetting.createSetting(selectorEObject, selectorStructuralFeature).equals(
+ UniqueSetting.createSetting(controlEObject, controlStructuralFeature));
+ if (!equal) {
return NOT_APPLICABLE;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/VTBackgroundFactory.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/VTBackgroundFactory.java
new file mode 100644
index 0000000..cb5c862
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/VTBackgroundFactory.java
@@ -0,0 +1,58 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.template.style.background.model;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage
+ * @generated
+ */
+public interface VTBackgroundFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ VTBackgroundFactory eINSTANCE = org.eclipse.emf.ecp.view.template.style.background.model.impl.VTBackgroundFactoryImpl
+ .init();
+
+ /**
+ * Returns a new object of class '<em>Style Property</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Style Property</em>'.
+ * @generated
+ */
+ VTBackgroundStyleProperty createBackgroundStyleProperty();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ VTBackgroundPackage getBackgroundPackage();
+
+} // VTBackgroundFactory
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/VTBackgroundPackage.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/VTBackgroundPackage.java
new file mode 100644
index 0000000..da38c4b
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/VTBackgroundPackage.java
@@ -0,0 +1,195 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.template.style.background.model;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecp.view.template.model.VTTemplatePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface VTBackgroundPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "background"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/ecp/view/template/style/background/model"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "org.eclipse.emf.ecp.view.template.style.background.model"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ VTBackgroundPackage eINSTANCE = org.eclipse.emf.ecp.view.template.style.background.model.impl.VTBackgroundPackageImpl
+ .init();
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.emf.ecp.view.template.style.background.model.impl.VTBackgroundStylePropertyImpl
+ * <em>Style Property</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecp.view.template.style.background.model.impl.VTBackgroundStylePropertyImpl
+ * @see org.eclipse.emf.ecp.view.template.style.background.model.impl.VTBackgroundPackageImpl#getBackgroundStyleProperty()
+ * @generated
+ */
+ int BACKGROUND_STYLE_PROPERTY = 0;
+
+ /**
+ * The feature id for the '<em><b>Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BACKGROUND_STYLE_PROPERTY__COLOR = VTTemplatePackage.STYLE_PROPERTY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Style Property</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BACKGROUND_STYLE_PROPERTY_FEATURE_COUNT = VTTemplatePackage.STYLE_PROPERTY_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Style Property</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BACKGROUND_STYLE_PROPERTY_OPERATION_COUNT = VTTemplatePackage.STYLE_PROPERTY_OPERATION_COUNT + 0;
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty
+ * <em>Style Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Style Property</em>'.
+ * @see org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty
+ * @generated
+ */
+ EClass getBackgroundStyleProperty();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty#getColor
+ * <em>Color</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Color</em>'.
+ * @see org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty#getColor()
+ * @see #getBackgroundStyleProperty()
+ * @generated
+ */
+ EAttribute getBackgroundStyleProperty_Color();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ VTBackgroundFactory getBackgroundFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.emf.ecp.view.template.style.background.model.impl.VTBackgroundStylePropertyImpl
+ * <em>Style Property</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecp.view.template.style.background.model.impl.VTBackgroundStylePropertyImpl
+ * @see org.eclipse.emf.ecp.view.template.style.background.model.impl.VTBackgroundPackageImpl#getBackgroundStyleProperty()
+ * @generated
+ */
+ EClass BACKGROUND_STYLE_PROPERTY = eINSTANCE.getBackgroundStyleProperty();
+
+ /**
+ * The meta object literal for the '<em><b>Color</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BACKGROUND_STYLE_PROPERTY__COLOR = eINSTANCE.getBackgroundStyleProperty_Color();
+
+ }
+
+} // VTBackgroundPackage
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/VTBackgroundStyleProperty.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/VTBackgroundStyleProperty.java
new file mode 100644
index 0000000..aa6ab8c
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/VTBackgroundStyleProperty.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.template.style.background.model;
+
+import org.eclipse.emf.ecp.view.template.model.VTStyleProperty;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Style Property</b></em>'.
+ *
+ * @since 1.6
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty#getColor <em>
+ * Color </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage#getBackgroundStyleProperty()
+ * @model
+ * @generated
+ */
+public interface VTBackgroundStyleProperty extends VTStyleProperty {
+ /**
+ * Returns the value of the '<em><b>Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Color</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Color</em>' attribute.
+ * @see #setColor(String)
+ * @see org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage#getBackgroundStyleProperty_Color()
+ * @model
+ * @generated
+ */
+ String getColor();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty#getColor
+ * <em>Color</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value the new value of the '<em>Color</em>' attribute.
+ * @see #getColor()
+ * @generated
+ */
+ void setColor(String value);
+
+} // VTBackgroundStyleProperty
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/impl/VTBackgroundFactoryImpl.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/impl/VTBackgroundFactoryImpl.java
new file mode 100644
index 0000000..df83183
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/impl/VTBackgroundFactoryImpl.java
@@ -0,0 +1,115 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.template.style.background.model.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundFactory;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ *
+ * @since 1.5
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class VTBackgroundFactoryImpl extends EFactoryImpl implements VTBackgroundFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static VTBackgroundFactory init() {
+ try {
+ final VTBackgroundFactory theBackgroundFactory = (VTBackgroundFactory) EPackage.Registry.INSTANCE
+ .getEFactory(VTBackgroundPackage.eNS_URI);
+ if (theBackgroundFactory != null) {
+ return theBackgroundFactory;
+ }
+ } catch (final Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new VTBackgroundFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public VTBackgroundFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case VTBackgroundPackage.BACKGROUND_STYLE_PROPERTY:
+ return createBackgroundStyleProperty();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public VTBackgroundStyleProperty createBackgroundStyleProperty() {
+ final VTBackgroundStylePropertyImpl backgroundStyleProperty = new VTBackgroundStylePropertyImpl();
+ return backgroundStyleProperty;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public VTBackgroundPackage getBackgroundPackage() {
+ return (VTBackgroundPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static VTBackgroundPackage getPackage() {
+ return VTBackgroundPackage.eINSTANCE;
+ }
+
+} // VTBackgroundFactoryImpl
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/impl/VTBackgroundPackageImpl.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/impl/VTBackgroundPackageImpl.java
new file mode 100644
index 0000000..120d589
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/impl/VTBackgroundPackageImpl.java
@@ -0,0 +1,220 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.template.style.background.model.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.ecp.view.template.model.VTTemplatePackage;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundFactory;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ *
+ * @since 1.5
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class VTBackgroundPackageImpl extends EPackageImpl implements VTBackgroundPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass backgroundStylePropertyEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
+ * EPackage.Registry} by the package
+ * package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
+ * performs initialization of the package, or returns the registered package, if one already exists. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private VTBackgroundPackageImpl() {
+ super(eNS_URI, VTBackgroundFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>
+ * This method is used to initialize {@link VTBackgroundPackage#eINSTANCE} when that field is accessed. Clients
+ * should not invoke it directly. Instead, they should simply access that field to obtain the package. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static VTBackgroundPackage init() {
+ if (isInited) {
+ return (VTBackgroundPackage) EPackage.Registry.INSTANCE.getEPackage(VTBackgroundPackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ final VTBackgroundPackageImpl theBackgroundPackage = (VTBackgroundPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof VTBackgroundPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new VTBackgroundPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ VTTemplatePackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theBackgroundPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theBackgroundPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theBackgroundPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(VTBackgroundPackage.eNS_URI, theBackgroundPackage);
+ return theBackgroundPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getBackgroundStyleProperty() {
+ return backgroundStylePropertyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getBackgroundStyleProperty_Color() {
+ return (EAttribute) backgroundStylePropertyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public VTBackgroundFactory getBackgroundFactory() {
+ return (VTBackgroundFactory) getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) {
+ return;
+ }
+ isCreated = true;
+
+ // Create classes and their features
+ backgroundStylePropertyEClass = createEClass(BACKGROUND_STYLE_PROPERTY);
+ createEAttribute(backgroundStylePropertyEClass, BACKGROUND_STYLE_PROPERTY__COLOR);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) {
+ return;
+ }
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ final VTTemplatePackage theTemplatePackage = (VTTemplatePackage) EPackage.Registry.INSTANCE
+ .getEPackage(VTTemplatePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ backgroundStylePropertyEClass.getESuperTypes().add(theTemplatePackage.getStyleProperty());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(backgroundStylePropertyEClass, VTBackgroundStyleProperty.class,
+ "BackgroundStyleProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(
+ getBackgroundStyleProperty_Color(),
+ ecorePackage.getEString(),
+ "color", null, 0, 1, VTBackgroundStyleProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, //$NON-NLS-1$
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // VTBackgroundPackageImpl
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/impl/VTBackgroundStylePropertyImpl.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/impl/VTBackgroundStylePropertyImpl.java
new file mode 100644
index 0000000..7ec8827
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/impl/VTBackgroundStylePropertyImpl.java
@@ -0,0 +1,214 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.template.style.background.model.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecp.view.template.model.VTStyleProperty;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Style Property</b></em>'.
+ *
+ * @since 1.5
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>
+ * {@link org.eclipse.emf.ecp.view.template.style.background.model.impl.VTBackgroundStylePropertyImpl#getColor
+ * <em> Color</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VTBackgroundStylePropertyImpl extends MinimalEObjectImpl.Container implements VTBackgroundStyleProperty {
+ /**
+ * The default value of the '{@link #getColor() <em>Color</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getColor()
+ * @generated
+ * @ordered
+ */
+ protected static final String COLOR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getColor() <em>Color</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getColor()
+ * @generated
+ * @ordered
+ */
+ protected String color = COLOR_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected VTBackgroundStylePropertyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VTBackgroundPackage.Literals.BACKGROUND_STYLE_PROPERTY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getColor() {
+ return color;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setColor(String newColor) {
+ final String oldColor = color;
+ color = newColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, VTBackgroundPackage.BACKGROUND_STYLE_PROPERTY__COLOR,
+ oldColor, color));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VTBackgroundPackage.BACKGROUND_STYLE_PROPERTY__COLOR:
+ return getColor();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VTBackgroundPackage.BACKGROUND_STYLE_PROPERTY__COLOR:
+ setColor((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VTBackgroundPackage.BACKGROUND_STYLE_PROPERTY__COLOR:
+ setColor(COLOR_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VTBackgroundPackage.BACKGROUND_STYLE_PROPERTY__COLOR:
+ return COLOR_EDEFAULT == null ? color != null : !COLOR_EDEFAULT.equals(color);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ final StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (color: "); //$NON-NLS-1$
+ result.append(color);
+ result.append(')');
+ return result.toString();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.template.model.VTStyleProperty#equalStyles(org.eclipse.emf.ecp.view.template.model.VTStyleProperty)
+ */
+ @Override
+ public boolean equalStyles(VTStyleProperty styleProperty) {
+ if (styleProperty == null) {
+ return false;
+ }
+ if (eClass() != styleProperty.eClass()) {
+ return false;
+ }
+ final VTBackgroundStyleProperty backgroundStyleProperty = VTBackgroundStyleProperty.class.cast(styleProperty);
+ if (getColor() == null && backgroundStyleProperty.getColor() == null) {
+ return true;
+ }
+ if (getColor() == null && backgroundStyleProperty.getColor() != null) {
+ return false;
+ }
+ return getColor().equalsIgnoreCase(backgroundStyleProperty.getColor());
+ }
+
+} // VTBackgroundStylePropertyImpl
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/util/BackgroundAdapterFactory.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/util/BackgroundAdapterFactory.java
new file mode 100644
index 0000000..b702360
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/util/BackgroundAdapterFactory.java
@@ -0,0 +1,161 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.template.style.background.model.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.template.model.VTStyleProperty;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ *
+ * @since 1.5
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage
+ * @generated
+ */
+public class BackgroundAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static VTBackgroundPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BackgroundAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = VTBackgroundPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance
+ * object of the model.
+ * <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BackgroundSwitch<Adapter> modelSwitch = new BackgroundSwitch<Adapter>() {
+ @Override
+ public Adapter caseBackgroundStyleProperty(VTBackgroundStyleProperty object) {
+ return createBackgroundStylePropertyAdapter();
+ }
+
+ @Override
+ public Adapter caseStyleProperty(VTStyleProperty object) {
+ return createStylePropertyAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject) target);
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty
+ * <em>Style Property</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty
+ * @generated
+ */
+ public Adapter createBackgroundStylePropertyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecp.view.template.model.VTStyleProperty
+ * <em>Style Property</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecp.view.template.model.VTStyleProperty
+ * @generated
+ */
+ public Adapter createStylePropertyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} // BackgroundAdapterFactory
diff --git a/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/util/BackgroundSwitch.java b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/util/BackgroundSwitch.java
new file mode 100644
index 0000000..f65cc9c
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.model/src/org/eclipse/emf/ecp/view/template/style/background/model/util/BackgroundSwitch.java
@@ -0,0 +1,151 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.template.style.background.model.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.emf.ecp.view.template.model.VTStyleProperty;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundStyleProperty;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each
+ * class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ *
+ * @since 1.5
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage
+ * @generated
+ */
+public class BackgroundSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static VTBackgroundPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BackgroundSwitch() {
+ if (modelPackage == null) {
+ modelPackage = VTBackgroundPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
+ * result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case VTBackgroundPackage.BACKGROUND_STYLE_PROPERTY: {
+ final VTBackgroundStyleProperty backgroundStyleProperty = (VTBackgroundStyleProperty) theEObject;
+ T result = caseBackgroundStyleProperty(backgroundStyleProperty);
+ if (result == null) {
+ result = caseStyleProperty(backgroundStyleProperty);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Style Property</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Style Property</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBackgroundStyleProperty(VTBackgroundStyleProperty object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Style Property</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Style Property</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStyleProperty(VTStyleProperty object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // BackgroundSwitch
diff --git a/bundles/org.eclipse.emf.ecp.view.template.service/.gitignore b/bundles/org.eclipse.emf.ecp.view.template.service/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.service/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.template.service/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.template.service/META-INF/MANIFEST.MF
index 161b020..31d5b46 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.service/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.template.service/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ViewTemplate Service
Bundle-SymbolicName: org.eclipse.emf.ecp.view.template.service;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.template.service.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)",
@@ -11,6 +11,6 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/viewTemplate.xml
-Export-Package: org.eclipse.emf.ecp.view.template.service;version="1.5
- .1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.template.service;version="1.6
+ .0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.view.template.service/pom.xml b/bundles/org.eclipse.emf.ecp.view.template.service/pom.xml
index c529d5f..6ccd4d3 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.service/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.template.service/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.template.service</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/.gitignore b/bundles/org.eclipse.emf.ecp.view.template.tooling/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.template.tooling/META-INF/MANIFEST.MF
index e9e5153..d022052 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Template Tooling
Bundle-SymbolicName: org.eclipse.emf.ecp.view.template.tooling;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
org.eclipse.ui.ide;bundle-version="[3.9.0,4.0.0)",
@@ -19,15 +19,21 @@
org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ide.util;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.model.editor;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.template.internal.tooling;ver
- sion="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.template.inter
- nal.tooling.controls;version="1.5.1";x-internal:=true,org.eclipse.emf
- .ecp.view.template.internal.tooling.util;version="1.5.1";x-internal:=
- true,org.eclipse.emf.ecp.view.template.tooling;version="1.5.1";x-inte
+ sion="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.template.inter
+ nal.tooling.controls;version="1.6.0";x-internal:=true,org.eclipse.emf
+ .ecp.view.template.internal.tooling.util;version="1.6.0";x-internal:=
+ true,org.eclipse.emf.ecp.view.template.tooling;version="1.6.0";x-inte
rnal:=true,org.eclipse.emf.ecp.view.template.tooling.editor;version="
- 1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.template.tooling.wiz
- ards;version="1.5.1";x-internal:=true
+ 1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.template.tooling.wiz
+ ards;version="1.6.0";x-internal:=true
Import-Package: org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
org.eclipse.jface.databinding.swt;version="0.0.0"
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.emf.ecp.view.template.internal.tooling.Activator
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/pom.xml b/bundles/org.eclipse.emf.ecp.view.template.tooling/pom.xml
index 7bd8d22..3db2d5f 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/Activator.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/Activator.java
index 9eb6ee1..6e1f778 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/Activator.java
@@ -13,7 +13,8 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
@@ -84,4 +85,21 @@
}
return plugin.getBundle().getBundleContext().getService(reportServiceReference);
}
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+
}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/Messages.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/Messages.java
index 2b49ea5..1629932 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/Messages.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/Messages.java
@@ -43,6 +43,7 @@
public static String EMFFormsTemplateWizardPage_fileSelection;
public static String EMFFormsTemplateWizardPage_title;
public static String HexColorSelectionControlSWTRenderer_SelectColorBtn;
+ public static String HexColorSelectionControlSWTRenderer_UnsetColorBtn;
public static String URLSelectionControlSWTRenderer_SelectExternalFileBtn;
public static String URLSelectionControlSWTRenderer_SelectWorkspaceFileBtn;
public static String URLSelectionControlSWTRenderer_UnsetText;
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeSelectControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeSelectControlSWTRenderer.java
index e655779..01ee29f 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeSelectControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeSelectControlSWTRenderer.java
@@ -11,16 +11,24 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.template.internal.tooling.controls;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.internal.editor.controls.EditableEReferenceLabelControlSWTRenderer;
import org.eclipse.emf.ecp.view.model.common.edit.provider.CustomReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.internal.tooling.Activator;
import org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.VTViewModelElementSelector;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Shell;
@@ -36,13 +44,35 @@
public class AttributeSelectControlSWTRenderer extends EditableEReferenceLabelControlSWTRenderer {
/**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public AttributeSelectControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
+ /**
* {@inheritDoc}
*
* @see org.eclipse.emf.ecp.view.internal.editor.controls.EditableEReferenceLabelControlSWTRenderer#linkValue(org.eclipse.swt.widgets.Shell)
*/
@Override
protected void linkValue(Shell shell) {
- final Setting setting = getVElement().getDomainModelReference().getIterator().next();
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ showLinkValueFailedMessageDialog(shell, ex);
+ return;
+ }
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
final ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
new CustomReflectiveItemProviderAdapterFactory(),
@@ -52,7 +82,7 @@
final ListDialog ld = new ListDialog(shell);
ld.setLabelProvider(labelProvider);
ld.setContentProvider(ArrayContentProvider.getInstance());
- ld.setInput(VTViewModelElementSelector.class.cast(setting.getEObject()).getClassType().getEAllAttributes());
+ ld.setInput(VTViewModelElementSelector.class.cast(eObject).getClassType().getEAllAttributes());
ld.setBlockOnOpen(true);
final int open = ld.open();
adapterFactory.dispose();
@@ -63,9 +93,8 @@
final Object result = ld.getResult()[0];
- final EditingDomain editingDomain = getEditingDomain(setting);
- final Command command = SetCommand.create(editingDomain, setting.getEObject(), setting.getEStructuralFeature(),
- result);
+ final EditingDomain editingDomain = getEditingDomain(eObject);
+ final Command command = SetCommand.create(editingDomain, eObject, structuralFeature, result);
editingDomain.getCommandStack().execute(command);
}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeSelectControlTester.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeSelectControlTester.java
index 8fe25b7..b4ecc12 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeSelectControlTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeSelectControlTester.java
@@ -11,15 +11,17 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.template.internal.tooling.controls;
-import java.util.Iterator;
-
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.template.internal.tooling.Activator;
import org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.VTViewModelElementPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* The tester for the {@link ViewModelSelectControlSWTRenderer}.
@@ -38,17 +40,16 @@
if (dmr == null) {
return NOT_APPLICABLE;
}
- final Iterator<EStructuralFeature> iterator = dmr.getEStructuralFeatureIterator();
- if (iterator == null) {
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
- if (!iterator.hasNext()) {
- return NOT_APPLICABLE;
- }
- final EStructuralFeature feature = iterator.next();
- if (feature == null) {
- return NOT_APPLICABLE;
- }
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
if (VTViewModelElementPackage.eINSTANCE.getViewModelElementSelector_Attribute().equals(feature)) {
return 5;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeValueControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeValueControlSWTRenderer.java
index 2aa61d9..f74f8e1 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeValueControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeValueControlSWTRenderer.java
@@ -13,14 +13,26 @@
import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.UpdateValueStrategy;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.internal.tooling.Activator;
import org.eclipse.emf.ecp.view.template.internal.tooling.Messages;
import org.eclipse.emf.ecp.view.template.internal.tooling.util.ValueSelectionHelper;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.VTViewModelElementSelector;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
@@ -31,6 +43,9 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* Renderer for the
@@ -42,6 +57,36 @@
*/
public class AttributeValueControlSWTRenderer extends SimpleControlSWTControlSWTRenderer {
+ private static final EMFFormsDatabinding emfFormsDatabinding;
+ private static final EMFFormsLabelProvider emfFormsLabelProvider;
+ private static final VTViewTemplateProvider vtViewTemplateProvider;
+
+ static {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(AttributeValueControlSWTRenderer.class)
+ .getBundleContext();
+ final ServiceReference<EMFFormsDatabinding> emfFormsDatabindingServiceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ emfFormsDatabinding = bundleContext.getService(emfFormsDatabindingServiceReference);
+ final ServiceReference<EMFFormsLabelProvider> emfFormsLabelProviderServiceReference = bundleContext
+ .getServiceReference(EMFFormsLabelProvider.class);
+ emfFormsLabelProvider = bundleContext.getService(emfFormsLabelProviderServiceReference);
+ final ServiceReference<VTViewTemplateProvider> vtViewTemplateProviderServiceReference = bundleContext
+ .getServiceReference(VTViewTemplateProvider.class);
+ vtViewTemplateProvider = bundleContext.getService(vtViewTemplateProviderServiceReference);
+ }
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ */
+ public AttributeValueControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ }
+
/**
* {@inheritDoc}
*
@@ -49,10 +94,10 @@
* org.eclipse.emf.ecore.EStructuralFeature.Setting)
*/
@Override
- protected Binding[] createBindings(Control control, Setting setting) {
+ protected Binding[] createBindings(Control control) throws DatabindingFailedException {
final Label label = (Label) Composite.class.cast(control).getChildren()[0];
final Binding binding = getDataBindingContext().bindValue(SWTObservables.observeText(label),
- getModelValue(setting), new UpdateValueStrategy(), new UpdateValueStrategy() {
+ getModelValue(), new UpdateValueStrategy(), new UpdateValueStrategy() {
/**
* {@inheritDoc}
@@ -75,7 +120,7 @@
* org.eclipse.emf.ecore.EStructuralFeature.Setting)
*/
@Override
- protected Control createSWTControl(final Composite parent, Setting setting) {
+ protected Control createSWTControl(final Composite parent) {
final Composite composite = new Composite(parent, SWT.NONE);
composite.setBackgroundMode(SWT.INHERIT_FORCE);
GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).applyTo(composite);
@@ -87,24 +132,33 @@
GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.BEGINNING).grab(false, false).applyTo(button);
button.addSelectionListener(new SelectionAdapter() {
-
/**
* {@inheritDoc}
*
* @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
-
@Override
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
- final Setting setting = getVElement().getDomainModelReference().getIterator().next();
- final Object result = ValueSelectionHelper.getValueSelectionDialog(parent.getShell(),
- VTViewModelElementSelector.class.cast(setting.getEObject()).getAttribute());
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator
+ .getDefault()
+ .getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(),
+ getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
- final EditingDomain editingDomain = getEditingDomain(setting);
- final Command command = SetCommand.create(editingDomain, setting.getEObject(),
- setting.getEStructuralFeature(),
- result);
+ final Object result = ValueSelectionHelper.getValueSelectionDialog(parent.getShell(),
+ VTViewModelElementSelector.class.cast(eObject).getAttribute());
+ final EditingDomain editingDomain = getEditingDomain(eObject);
+ final Command command = SetCommand.create(editingDomain, eObject, structuralFeature, result);
editingDomain.getCommandStack().execute(command);
}
});
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeValueControlTester.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeValueControlTester.java
index 86f50bc..c93cf11 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeValueControlTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/AttributeValueControlTester.java
@@ -11,15 +11,17 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.template.internal.tooling.controls;
-import java.util.Iterator;
-
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.template.internal.tooling.Activator;
import org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.VTViewModelElementPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* The tester for the {@link ViewModelSelectControlSWTRenderer}.
@@ -38,17 +40,16 @@
if (dmr == null) {
return NOT_APPLICABLE;
}
- final Iterator<EStructuralFeature> iterator = dmr.getEStructuralFeatureIterator();
- if (iterator == null) {
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
- if (!iterator.hasNext()) {
- return NOT_APPLICABLE;
- }
- final EStructuralFeature feature = iterator.next();
- if (feature == null) {
- return NOT_APPLICABLE;
- }
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
if (VTViewModelElementPackage.eINSTANCE.getViewModelElementSelector_AttributeValue().equals(feature)) {
return 5;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/DMRSelectorControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/DMRSelectorControlSWTRenderer.java
index f554284..6d11c54 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/DMRSelectorControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/DMRSelectorControlSWTRenderer.java
@@ -13,15 +13,18 @@
import java.io.IOException;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.resources.IFile;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.internal.ide.util.EcoreHelper;
import org.eclipse.emf.ecp.view.internal.editor.controls.EditableEReferenceLabelControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.template.internal.tooling.Activator;
@@ -29,6 +32,8 @@
import org.eclipse.emf.ecp.view.template.model.VTViewTemplate;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
import org.eclipse.jface.window.Window;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.widgets.Shell;
@@ -42,6 +47,15 @@
@SuppressWarnings("restriction")
public class DMRSelectorControlSWTRenderer extends EditableEReferenceLabelControlSWTRenderer {
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public DMRSelectorControlSWTRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
@Override
protected void linkValue(Shell shell) {
final DMRCreationWizard dmrWizard = new DMRCreationWizard();
@@ -68,13 +82,23 @@
}
}
- final Setting setting = getVElement().getDomainModelReference().getIterator().next();
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ showLinkValueFailedMessageDialog(shell, ex);
+ return;
+ }
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
final VFeaturePathDomainModelReference value = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
value.setDomainModelEFeature(featureToSet);
- final EditingDomain editingDomain = getEditingDomain(setting);
- final Command command = SetCommand.create(editingDomain, setting.getEObject(), setting.getEStructuralFeature(),
+ final EditingDomain editingDomain = getEditingDomain(eObject);
+ final Command command = SetCommand.create(editingDomain, eObject, structuralFeature,
value);
editingDomain.getCommandStack().execute(command);
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/DMRSelectorControlTester.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/DMRSelectorControlTester.java
index 8cecd12..23c5359 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/DMRSelectorControlTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/DMRSelectorControlTester.java
@@ -11,15 +11,17 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.template.internal.tooling.controls;
-import java.util.Iterator;
-
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.template.internal.tooling.Activator;
import org.eclipse.emf.ecp.view.template.selector.domainmodelreference.model.VTDomainmodelreferencePackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* The tester for the {@link ViewModelSelectControlSWTRenderer}.
@@ -38,17 +40,16 @@
if (dmr == null) {
return NOT_APPLICABLE;
}
- final Iterator<EStructuralFeature> iterator = dmr.getEStructuralFeatureIterator();
- if (iterator == null) {
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
- if (!iterator.hasNext()) {
- return NOT_APPLICABLE;
- }
- final EStructuralFeature feature = iterator.next();
- if (feature == null) {
- return NOT_APPLICABLE;
- }
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
if (VTDomainmodelreferencePackage.eINSTANCE.getDomainModelReferenceSelector_DomainModelReference().equals(
feature)) {
return 5;
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/HexColorSelectionControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/HexColorSelectionControlSWTRenderer.java
index d046ec8..615230f 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/HexColorSelectionControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/HexColorSelectionControlSWTRenderer.java
@@ -13,13 +13,24 @@
import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.UpdateValueStrategy;
+import org.eclipse.core.databinding.observable.IObserving;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.internal.tooling.Activator;
import org.eclipse.emf.ecp.view.template.internal.tooling.Messages;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
@@ -34,6 +45,9 @@
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* @author Eugen
@@ -41,6 +55,36 @@
*/
public class HexColorSelectionControlSWTRenderer extends SimpleControlSWTControlSWTRenderer {
+ private static final EMFFormsDatabinding emfFormsDatabinding;
+ private static final EMFFormsLabelProvider emfFormsLabelProvider;
+ private static final VTViewTemplateProvider vtViewTemplateProvider;
+
+ static {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(HexColorSelectionControlSWTRenderer.class)
+ .getBundleContext();
+ final ServiceReference<EMFFormsDatabinding> emfFormsDatabindingServiceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ emfFormsDatabinding = bundleContext.getService(emfFormsDatabindingServiceReference);
+ final ServiceReference<EMFFormsLabelProvider> emfFormsLabelProviderServiceReference = bundleContext
+ .getServiceReference(EMFFormsLabelProvider.class);
+ emfFormsLabelProvider = bundleContext.getService(emfFormsLabelProviderServiceReference);
+ final ServiceReference<VTViewTemplateProvider> vtViewTemplateProviderServiceReference = bundleContext
+ .getServiceReference(VTViewTemplateProvider.class);
+ vtViewTemplateProvider = bundleContext.getService(vtViewTemplateProviderServiceReference);
+ }
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ */
+ public HexColorSelectionControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ }
+
/**
* {@inheritDoc}
*
@@ -48,11 +92,11 @@
* org.eclipse.emf.ecore.EStructuralFeature.Setting)
*/
@Override
- protected Binding[] createBindings(Control control, Setting setting) {
+ protected Binding[] createBindings(Control control) throws DatabindingFailedException {
final Composite composite = Composite.class.cast(control);
final Control childControl = composite.getChildren()[0];
final IObservableValue value = SWTObservables.observeBackground(childControl);
- final Binding binding = getDataBindingContext().bindValue(value, getModelValue(setting),
+ final Binding binding = getDataBindingContext().bindValue(value, getModelValue(),
new UpdateValueStrategy() {
@Override
public Object convert(Object value) {
@@ -77,20 +121,19 @@
});
final IObservableValue textValue = SWTObservables.observeTooltipText(childControl);
- final Binding textBinding = getDataBindingContext().bindValue(textValue, getModelValue(setting));
+ final Binding textBinding = getDataBindingContext().bindValue(textValue, getModelValue());
return new Binding[] { binding, textBinding };
}
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite,
- * org.eclipse.emf.ecore.EStructuralFeature.Setting)
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite)
*/
@Override
- protected Control createSWTControl(final Composite parent, final Setting setting) {
+ protected Control createSWTControl(final Composite parent) {
final Composite composite = new Composite(parent, SWT.NONE);
- GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).applyTo(composite);
+ GridLayoutFactory.fillDefaults().numColumns(3).equalWidth(false).applyTo(composite);
final Label colorExample = new Label(composite, SWT.BORDER);
GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.FILL).grab(false, false).hint(40, SWT.DEFAULT)
.applyTo(colorExample);
@@ -109,25 +152,50 @@
super.widgetSelected(e);
final ColorDialog cd = new ColorDialog(parent.getShell());
final RGB rgb = cd.open();
-
- setValue(getString(rgb), setting);
+ if (rgb != null) {
+ setValue(getString(rgb));
+ }
}
});
+ final Button unsetColorBtn = new Button(composite, SWT.PUSH);
+ GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.FILL).grab(false, false).applyTo(unsetColorBtn);
+ unsetColorBtn.setText(Messages.HexColorSelectionControlSWTRenderer_UnsetColorBtn);
+ unsetColorBtn.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ setValue(null);
+ }
+ });
+
return composite;
}
private String getString(RGB rgb) {
+ if (rgb == null) {
+ return null;
+ }
final String red = Integer.toHexString(0x100 | rgb.red).substring(1);
final String green = Integer.toHexString(0x100 | rgb.green).substring(1);
final String blue = Integer.toHexString(0x100 | rgb.blue).substring(1);
return red + green + blue;
}
- private void setValue(String hexColor, Setting setting) {
- final EditingDomain editingDomain = getEditingDomain(setting);
- final Command command = SetCommand.create(editingDomain, setting.getEObject(), setting.getEStructuralFeature(),
- hexColor);
+ private void setValue(String hexColor) {
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ observableValue.dispose();
+
+ final EditingDomain editingDomain = getEditingDomain(eObject);
+ final Command command = SetCommand.create(editingDomain, eObject, structuralFeature, hexColor);
editingDomain.getCommandStack().execute(command);
}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/TemplateColorHexControlTester.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/TemplateColorHexControlTester.java
index bc91019..bd04354 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/TemplateColorHexControlTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/TemplateColorHexControlTester.java
@@ -11,17 +11,20 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.template.internal.tooling.controls;
-import java.util.Iterator;
-
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.template.internal.tooling.Activator;
import org.eclipse.emf.ecp.view.template.model.VTTemplatePackage;
+import org.eclipse.emf.ecp.view.template.style.background.model.VTBackgroundPackage;
import org.eclipse.emf.ecp.view.template.style.fontProperties.model.VTFontPropertiesPackage;
import org.eclipse.emf.ecp.view.template.style.validation.model.VTValidationPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* The tester for the
@@ -42,17 +45,16 @@
if (dmr == null) {
return NOT_APPLICABLE;
}
- final Iterator<EStructuralFeature> iterator = dmr.getEStructuralFeatureIterator();
- if (iterator == null) {
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
- if (!iterator.hasNext()) {
- return NOT_APPLICABLE;
- }
- final EStructuralFeature feature = iterator.next();
- if (feature == null) {
- return NOT_APPLICABLE;
- }
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
if (VTFontPropertiesPackage.eINSTANCE.getFontPropertiesStyleProperty_ColorHEX().equals(feature)) {
return 5;
}
@@ -89,6 +91,10 @@
if (VTTemplatePackage.eINSTANCE.getControlValidationTemplate_CancelColorHEX().equals(feature)) {
return 5;
}
+ // background
+ if (VTBackgroundPackage.eINSTANCE.getBackgroundStyleProperty_Color().equals(feature)) {
+ return 5;
+ }
return NOT_APPLICABLE;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/TemplateImagePathControlTester.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/TemplateImagePathControlTester.java
index 0c87dac..096f834 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/TemplateImagePathControlTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/TemplateImagePathControlTester.java
@@ -11,17 +11,19 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.template.internal.tooling.controls;
-import java.util.Iterator;
-
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.template.internal.tooling.Activator;
import org.eclipse.emf.ecp.view.template.model.VTTemplatePackage;
import org.eclipse.emf.ecp.view.template.style.tableValidation.model.VTTableValidationPackage;
import org.eclipse.emf.ecp.view.template.style.validation.model.VTValidationPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* The tester for the
@@ -42,17 +44,16 @@
if (dmr == null) {
return NOT_APPLICABLE;
}
- final Iterator<EStructuralFeature> iterator = dmr.getEStructuralFeatureIterator();
- if (iterator == null) {
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
- if (!iterator.hasNext()) {
- return NOT_APPLICABLE;
- }
- final EStructuralFeature feature = iterator.next();
- if (feature == null) {
- return NOT_APPLICABLE;
- }
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
// tablevalidation
if (VTTableValidationPackage.eINSTANCE.getTableValidationStyleProperty_ImagePath().equals(feature)) {
return 5;
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/URLSelectionControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/URLSelectionControlSWTRenderer.java
index 1f65b7a..6859583 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/URLSelectionControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/URLSelectionControlSWTRenderer.java
@@ -15,16 +15,26 @@
import java.net.MalformedURLException;
import org.eclipse.core.databinding.Binding;
+import org.eclipse.core.databinding.observable.IObserving;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.template.internal.tooling.Activator;
import org.eclipse.emf.ecp.view.template.internal.tooling.Messages;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
@@ -42,6 +52,9 @@
import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
import org.eclipse.ui.model.WorkbenchContentProvider;
import org.eclipse.ui.model.WorkbenchLabelProvider;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* Control for selecting a file and saving the path as url.
@@ -51,6 +64,36 @@
*/
public class URLSelectionControlSWTRenderer extends SimpleControlSWTControlSWTRenderer {
+ private static final EMFFormsDatabinding emfFormsDatabinding;
+ private static final EMFFormsLabelProvider emfFormsLabelProvider;
+ private static final VTViewTemplateProvider vtViewTemplateProvider;
+
+ static {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(URLSelectionControlSWTRenderer.class)
+ .getBundleContext();
+ final ServiceReference<EMFFormsDatabinding> emfFormsDatabindingServiceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ emfFormsDatabinding = bundleContext.getService(emfFormsDatabindingServiceReference);
+ final ServiceReference<EMFFormsLabelProvider> emfFormsLabelProviderServiceReference = bundleContext
+ .getServiceReference(EMFFormsLabelProvider.class);
+ emfFormsLabelProvider = bundleContext.getService(emfFormsLabelProviderServiceReference);
+ final ServiceReference<VTViewTemplateProvider> vtViewTemplateProviderServiceReference = bundleContext
+ .getServiceReference(VTViewTemplateProvider.class);
+ vtViewTemplateProvider = bundleContext.getService(vtViewTemplateProviderServiceReference);
+ }
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ */
+ public URLSelectionControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ }
+
/**
* {@inheritDoc}
*
@@ -58,25 +101,24 @@
* org.eclipse.emf.ecore.EStructuralFeature.Setting)
*/
@Override
- protected Binding[] createBindings(Control control, Setting setting) {
+ protected Binding[] createBindings(Control control) throws DatabindingFailedException {
final Composite composite = Composite.class.cast(control);
final Control childControl = composite.getChildren()[0];
final IObservableValue value = SWTObservables.observeText(childControl);
- final Binding binding = getDataBindingContext().bindValue(value, getModelValue(setting));
+ final Binding binding = getDataBindingContext().bindValue(value, getModelValue());
final IObservableValue toolTip = SWTObservables.observeTooltipText(childControl);
- final Binding tooltipBinding = getDataBindingContext().bindValue(toolTip, getModelValue(setting));
+ final Binding tooltipBinding = getDataBindingContext().bindValue(toolTip, getModelValue());
return new Binding[] { binding, tooltipBinding };
}
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite,
- * org.eclipse.emf.ecore.EStructuralFeature.Setting)
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite)
*/
@Override
- protected Control createSWTControl(Composite parent, final Setting setting) {
+ protected Control createSWTControl(Composite parent) {
final Composite composite = new Composite(parent, SWT.NONE);
composite.setBackgroundMode(SWT.INHERIT_FORCE);
GridLayoutFactory.fillDefaults().numColumns(3).equalWidth(false).applyTo(composite);
@@ -108,7 +150,7 @@
} catch (final MalformedURLException ex) {
Activator.log(ex);
}
- setValue(selectedURL, setting);
+ setValue(selectedURL);
}
});
@@ -140,17 +182,28 @@
final String selectedURL = "platform:/plugin" + resource.getFullPath().toString(); //$NON-NLS-1$
- setValue(selectedURL, setting);
+ setValue(selectedURL);
}
});
return composite;
}
- private void setValue(String selectedURL, Setting setting) {
- final EditingDomain editingDomain = getEditingDomain(setting);
- final Command command = SetCommand.create(editingDomain, setting.getEObject(), setting.getEStructuralFeature(),
- selectedURL);
+ private void setValue(String selectedURL) {
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ observableValue.dispose();
+
+ final EditingDomain editingDomain = getEditingDomain(eObject);
+ final Command command = SetCommand.create(editingDomain, eObject, structuralFeature, selectedURL);
editingDomain.getCommandStack().execute(command);
}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/ViewModelSelectControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/ViewModelSelectControlSWTRenderer.java
index 125fab6..2d6264d 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/ViewModelSelectControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/ViewModelSelectControlSWTRenderer.java
@@ -11,21 +11,29 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.template.internal.tooling.controls;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.common.spi.EMFUtils;
import org.eclipse.emf.ecp.view.internal.editor.controls.EditableEReferenceLabelControlSWTRenderer;
import org.eclipse.emf.ecp.view.model.common.edit.provider.CustomReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emf.ecp.view.template.internal.tooling.Activator;
import org.eclipse.emf.ecp.view.template.internal.tooling.Messages;
import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.dialogs.ElementListSelectionDialog;
@@ -42,6 +50,18 @@
@SuppressWarnings("restriction")
public class ViewModelSelectControlSWTRenderer extends EditableEReferenceLabelControlSWTRenderer {
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public ViewModelSelectControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
private static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.template.tooling"; //$NON-NLS-1$
/**
@@ -89,12 +109,21 @@
return;
}
final Object result = elsd.getFirstResult();
- final Setting setting = getVElement().getDomainModelReference().getIterator().next();
- final EditingDomain editingDomain = getEditingDomain(setting);
- final Command command = SetCommand.create(editingDomain, setting.getEObject(), setting.getEStructuralFeature(),
- result);
- editingDomain.getCommandStack().execute(command);
+ final IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ showLinkValueFailedMessageDialog(shell, ex);
+ return;
+ }
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+ final EditingDomain editingDomain = getEditingDomain(eObject);
+ final Command command = SetCommand.create(editingDomain, eObject, structuralFeature, result);
+ editingDomain.getCommandStack().execute(command);
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/ViewModelSelectControlTester.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/ViewModelSelectControlTester.java
index 2724e2e..44edd29 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/ViewModelSelectControlTester.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/internal/tooling/controls/ViewModelSelectControlTester.java
@@ -11,15 +11,17 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.template.internal.tooling.controls;
-import java.util.Iterator;
-
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.template.internal.tooling.Activator;
import org.eclipse.emf.ecp.view.template.selector.viewModelElement.model.VTViewModelElementPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* The tester for the {@link ViewModelSelectControlSWTRenderer}.
@@ -38,17 +40,16 @@
if (dmr == null) {
return NOT_APPLICABLE;
}
- final Iterator<EStructuralFeature> iterator = dmr.getEStructuralFeatureIterator();
- if (iterator == null) {
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(control.getDomainModelReference(), viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return NOT_APPLICABLE;
}
- if (!iterator.hasNext()) {
- return NOT_APPLICABLE;
- }
- final EStructuralFeature feature = iterator.next();
- if (feature == null) {
- return NOT_APPLICABLE;
- }
+ final EStructuralFeature feature = (EStructuralFeature) valueProperty.getValueType();
if (VTViewModelElementPackage.eINSTANCE.getViewModelElementSelector_ClassType().equals(feature)) {
return 5;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/editor/TemplateModelEditorPart.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/editor/TemplateModelEditorPart.java
index 68b208d..6771142 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/editor/TemplateModelEditorPart.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/editor/TemplateModelEditorPart.java
@@ -22,6 +22,7 @@
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.ecp.edit.spi.EMFDeleteServiceImpl;
import org.eclipse.emf.ecp.internal.ide.util.EcoreHelper;
import org.eclipse.emf.ecp.ui.view.ECPRendererException;
import org.eclipse.emf.ecp.ui.view.swt.DefaultReferenceService;
@@ -95,23 +96,17 @@
super.setPartName(input.getName());
basicCommandStack = new BasicCommandStack();
- basicCommandStack.addCommandStackListener
- (new CommandStackListener()
- {
- @Override
- public void commandStackChanged(final EventObject event)
- {
- parent.getDisplay().asyncExec
- (new Runnable()
- {
- @Override
- public void run()
- {
- firePropertyChange(IEditorPart.PROP_DIRTY);
- }
- });
- }
- });
+ basicCommandStack.addCommandStackListener(new CommandStackListener() {
+ @Override
+ public void commandStackChanged(final EventObject event) {
+ parent.getDisplay().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+ }
+ });
+ }
+ });
final FileEditorInput fei = (FileEditorInput) getEditorInput();
@@ -156,7 +151,7 @@
parent.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
final VView view = ViewProviderHelper.getView(template, null);
final ViewModelContext viewContext = ViewModelContextFactory.INSTANCE.createViewModelContext(view,
- template, new DefaultReferenceService());
+ template, new DefaultReferenceService(), new EMFDeleteServiceImpl());
try {
ECPSWTViewRenderer.INSTANCE.render(parent, viewContext);
} catch (final ECPRendererException ex) {
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/messages.properties b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/messages.properties
index 8b85574..2ff33d0 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/messages.properties
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/messages.properties
@@ -18,6 +18,7 @@
EMFFormsTemplateWizardPage_fileSelection=&File name:
EMFFormsTemplateWizardPage_title=Multi-page Editor File
HexColorSelectionControlSWTRenderer_SelectColorBtn=Select color
+HexColorSelectionControlSWTRenderer_UnsetColorBtn=Unset color
URLSelectionControlSWTRenderer_SelectExternalFileBtn=Select external File
URLSelectionControlSWTRenderer_SelectWorkspaceFileBtn=Select workspace File
URLSelectionControlSWTRenderer_UnsetText=No file selected\!
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/.settings/.api_filters
index b7bcad2..9f3c9d4 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.treemasterdetail.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model.edit"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.treemasterdetail.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.treemasterdetail.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.treemasterdetail.model.edit_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/META-INF/MANIFEST.MF
index e0c2cc6..b056975 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.treemasterdetail.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.treemasterdetail.model.provider.TreeMasterDetailEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.model.provid
- er;version="1.5.1";x-internal:=true
+ er;version="1.6.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.view.treemasterdetail.model;visibility:=reexport;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.edit;visibility:=reexport;bundle-version="[2.5.0,3.0.0)",
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/pom.xml
index c5fb6c6..9bffc7c 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.treemasterdetail.model.edit</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/src/org/eclipse/emf/ecp/view/treemasterdetail/model/provider/TreeMasterDetailItemProvider.java b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/src/org/eclipse/emf/ecp/view/treemasterdetail/model/provider/TreeMasterDetailItemProvider.java
index 992e9e4..ccddee8 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/src/org/eclipse/emf/ecp/view/treemasterdetail/model/provider/TreeMasterDetailItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model.edit/src/org/eclipse/emf/ecp/view/treemasterdetail/model/provider/TreeMasterDetailItemProvider.java
@@ -17,6 +17,8 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.model.provider.ContainedElementItemProvider;
import org.eclipse.emf.ecp.view.treemasterdetail.model.VTreeMasterDetail;
@@ -114,11 +116,14 @@
* <!-- begin-user-doc
* --> <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object) {
- final String label = ((VTreeMasterDetail) object).getName();
+ String label = ((VTreeMasterDetail) object).getName();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_TreeMasterDetail_type") : //$NON-NLS-1$
getString("_UI_TreeMasterDetail_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/.gitignore b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/.settings/.api_filters
index 4a2baf7..7923b24 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.treemasterdetail.model" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.treemasterdetail.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.treemasterdetail.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.treemasterdetail.model_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/META-INF/MANIFEST.MF
index 78a76b6..9ddd04a 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.treemasterdetail.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.model;versio
- n="1.5.1";x-friends:="org.eclipse.emf.ecp.view.treemasterdetail.model
+ n="1.6.0";x-friends:="org.eclipse.emf.ecp.view.treemasterdetail.model
.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt",org.eclipse.e
- mf.ecp.view.treemasterdetail.model.impl;version="1.5.1";x-internal:=t
- rue,org.eclipse.emf.ecp.view.treemasterdetail.model.util;version="1.5
- .1";x-friends:="org.eclipse.emf.ecp.view.treemasterdetail.model.edit"
+ mf.ecp.view.treemasterdetail.model.impl;version="1.6.0";x-internal:=t
+ rue,org.eclipse.emf.ecp.view.treemasterdetail.model.util;version="1.6
+ .0";x-friends:="org.eclipse.emf.ecp.view.treemasterdetail.model.edit"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;visibility:=reexport;bundle-version="[2.7.0,3.0.0)",
org.eclipse.emf.ecp.view.model;visibility:=reexport;bundle-version="[1.5.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/pom.xml
index 41c6398..0afc0b8 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.model/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.treemasterdetail.model</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/.settings/.api_filters
new file mode 100644
index 0000000..2a4d340
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/.settings/.api_filters
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.emf.ecp.view.treemasterdetail.ui.swt" version="2">
+ <resource path="META-INF/MANIFEST.MF">
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/treemasterdetail/ui/swt/TreeMasterDetailSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.treemasterdetail.ui.swt.TreeMasterDetailSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.treemasterdetail.ui.swt.TreeMasterDetailSWTRenderer"/>
+ <message_argument value="TreeMasterDetailSWTRenderer()"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.treemasterdetail.ui.swt.TreeMasterDetailSWTRenderer"/>
+ <message_argument value="getGridDescription(SWTGridDescription)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="338792546">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.treemasterdetail.ui.swt.TreeMasterDetailSWTRenderer"/>
+ <message_argument value="renderControl(SWTGridCell, Composite)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/META-INF/MANIFEST.MF
index 3c6019a..dd24b64 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Model Vertical UI SWT
Bundle-SymbolicName: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
@@ -11,17 +11,20 @@
org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.validation;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.validation;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.ecp.view.internal.treemasterdetail.ui.
- swt;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.spi.tre
- emasterdetail.ui.swt;version="1.5.1",org.eclipse.emf.ecp.view.treemas
- terdetail.ui.swt.internal;version="1.5.1";x-internal:=true,org.eclips
- e.emf.edit.ui.action.ecp;version="1.5.1";x-internal:=true
+ swt;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.spi.tre
+ emasterdetail.ui.swt;version="1.6.0",org.eclipse.emf.ecp.view.treemas
+ terdetail.ui.swt.internal;version="1.6.0";x-internal:=true,org.eclips
+ e.emf.edit.ui.action.ecp;version="1.6.0";x-internal:=true
Import-Package: org.eclipse.core.commands;version="0.0.0",
org.eclipse.emf.edit.ui.dnd;version="0.0.0",
org.eclipse.emf.edit.ui.provider;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.emfforms.spi.swt.core;version="1.6.0",
org.eclipse.jface.action;version="0.0.0",
org.eclipse.jface.layout;version="0.0.0",
org.eclipse.jface.resource;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/build.properties b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/build.properties
index 461e561..9b54cf4 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/build.properties
@@ -4,5 +4,6 @@
.,\
plugin.xml,\
icons/,\
- about.html
+ about.html,\
+ schema/
src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/pom.xml
index abc15f2..27c488d 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.treemasterdetail.ui.swt</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/internal/treemasterdetail/ui/swt/Activator.java b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/internal/treemasterdetail/ui/swt/Activator.java
index 3fc71ae..4ea73c1 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/internal/treemasterdetail/ui/swt/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/internal/treemasterdetail/ui/swt/Activator.java
@@ -12,7 +12,8 @@
package org.eclipse.emf.ecp.view.internal.treemasterdetail.ui.swt;
import org.eclipse.core.runtime.Plugin;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
+import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
+import org.eclipse.emfforms.spi.common.report.ReportService;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
@@ -51,9 +52,9 @@
}
/**
- * Returns the {@link ReportService}.
+ * Returns the {@link SWTRendererFactory}.
*
- * @return the {@link ReportService}
+ * @return the {@link SWTRendererFactory}
*/
public ReportService getReportService() {
if (reportServiceReference == null) {
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/spi/treemasterdetail/ui/swt/MasterDetailAction.java b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/spi/treemasterdetail/ui/swt/MasterDetailAction.java
index 7d01147..d29d068 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/spi/treemasterdetail/ui/swt/MasterDetailAction.java
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/spi/treemasterdetail/ui/swt/MasterDetailAction.java
@@ -13,6 +13,7 @@
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jface.viewers.TreeViewer;
/**
* @author Alexandra Buzila
@@ -21,6 +22,7 @@
*/
public abstract class MasterDetailAction extends AbstractHandler {
private String label, imagePath;
+ private TreeViewer treeviewer;
/**
* @param eObject the {@link EObject} on which to test if the action can be executed
@@ -60,4 +62,23 @@
void setImagePath(String imagePath) {
this.imagePath = imagePath;
}
+
+ /**
+ * Sets the treeviewer of the tree master detail renderer.
+ *
+ * @param treeviewer the tree
+ */
+ void setTreeViewer(TreeViewer treeviewer) {
+ this.treeviewer = treeviewer;
+ }
+
+ /**
+ * Returns the treeviewer renderered by the tree master detail renderer.
+ *
+ * @return the tree
+ * @since 1.6
+ */
+ protected TreeViewer getTreeViewer() {
+ return treeviewer;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/spi/treemasterdetail/ui/swt/TreeMasterDetailSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/spi/treemasterdetail/ui/swt/TreeMasterDetailSWTRenderer.java
index 7de9fc8..7e57c81 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/spi/treemasterdetail/ui/swt/TreeMasterDetailSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt/src/org/eclipse/emf/ecp/view/spi/treemasterdetail/ui/swt/TreeMasterDetailSWTRenderer.java
@@ -33,6 +33,8 @@
import org.eclipse.emf.ecore.impl.DynamicEObjectImpl;
import org.eclipse.emf.ecp.common.spi.ChildrenDescriptorCollector;
import org.eclipse.emf.ecp.edit.internal.swt.util.OverlayImageDescriptor;
+import org.eclipse.emf.ecp.edit.spi.DeleteService;
+import org.eclipse.emf.ecp.edit.spi.EMFDeleteServiceImpl;
import org.eclipse.emf.ecp.edit.spi.ReferenceService;
import org.eclipse.emf.ecp.edit.spi.swt.util.SWTValidationHelper;
import org.eclipse.emf.ecp.ui.view.ECPRendererException;
@@ -48,16 +50,11 @@
import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
import org.eclipse.emf.ecp.view.treemasterdetail.model.VTreeMasterDetail;
import org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.internal.RootObject;
import org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.internal.TreeMasterDetailSelectionManipulatorHelper;
import org.eclipse.emf.edit.command.AddCommand;
import org.eclipse.emf.edit.command.CommandParameter;
-import org.eclipse.emf.edit.command.RemoveCommand;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
@@ -67,6 +64,11 @@
import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
@@ -77,6 +79,7 @@
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
@@ -117,6 +120,19 @@
public class TreeMasterDetailSWTRenderer extends AbstractSWTRenderer<VTreeMasterDetail> {
/**
+ * Default Constructor.
+ *
+ * @param vElement the view element to be rendered
+ * @param viewContext The view model context
+ * @param reportService the ReportService to use
+ * @since 1.6
+ */
+ public TreeMasterDetailSWTRenderer(final VTreeMasterDetail vElement, final ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
+ /**
* The detail key passed to the view model context.
*/
public static final String DETAIL_KEY = "detail"; //$NON-NLS-1$
@@ -222,7 +238,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#dispose()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#dispose()
*/
@Override
protected void dispose() {
@@ -233,7 +249,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(SWTGridDescription)
*/
@Override
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
@@ -246,7 +262,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@Override
@@ -681,6 +697,7 @@
final MasterDetailAction command = (MasterDetailAction) e.createExecutableExtension("command"); //$NON-NLS-1$
command.setLabel(label);
command.setImagePath(imagePath);
+ command.setTreeViewer(treeViewer);
commands.add(command);
@@ -750,10 +767,16 @@
@Override
public void run() {
super.run();
- for (final Object obj : selection.toList())
- {
- editingDomain.getCommandStack().execute(
- RemoveCommand.create(editingDomain, obj));
+ DeleteService deleteService = getViewModelContext().getService(DeleteService.class);
+ if (deleteService == null) {
+ /*
+ * #getService(Class<?>) will report to the reportservice if it could not be found
+ * Use Default
+ */
+ deleteService = new EMFDeleteServiceImpl();
+ }
+ for (final Object obj : selection.toList()) {
+ deleteService.deleteElement(obj);
}
treeViewer.setSelection(new StructuredSelection(getViewModelContext().getDomainModel()));
}
@@ -790,8 +813,7 @@
// TODO refactor
if (getViewModelContext().hasService(ReferenceService.class)) {
referenceService = getViewModelContext().getService(ReferenceService.class);
- }
- else {
+ } else {
referenceService = new DefaultReferenceService();
}
}
@@ -809,9 +831,8 @@
}
childComposite = createComposite();
- final Object root = manipulateSelection(((RootObject) ((TreeViewer)
- event.getSource()).getInput())
- .getRoot());
+ final Object root = manipulateSelection(((RootObject) ((TreeViewer) event.getSource()).getInput())
+ .getRoot());
final Map<String, Object> context = new LinkedHashMap<String, Object>();
context.put(DETAIL_KEY, true);
@@ -822,9 +843,11 @@
if (vView.getChildren().isEmpty()) {
vView = ViewProviderHelper.getView((EObject) selected, context);
}
-
+ final ReferenceService referenceService = getViewModelContext().getService(
+ ReferenceService.class);
final ViewModelContext childContext = getViewModelContext()
- .getChildContext((EObject) selected, getVElement(), vView);
+ .getChildContext((EObject) selected, getVElement(), vView,
+ new TreeMasterDetailReferenceService(referenceService));
manipulateViewContext(childContext);
@@ -834,8 +857,10 @@
/* child selected */
else {
final VView view = ViewProviderHelper.getView((EObject) selected, context);
+ final ReferenceService referenceService = getViewModelContext().getService(
+ ReferenceService.class);
final ViewModelContext childContext = getViewModelContext().getChildContext((EObject) selected,
- getVElement(), view);
+ getVElement(), view, new TreeMasterDetailReferenceService(referenceService));
manipulateViewContext(childContext);
ECPSWTViewRenderer.INSTANCE.render(childComposite, childContext);
@@ -950,7 +975,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer#applyValidation()
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#applyValidation()
*/
@Override
protected void applyValidation() {
@@ -969,7 +994,94 @@
treeViewer.refresh();
}
});
+ }
+ private class TreeMasterDetailReferenceService implements ReferenceService {
+
+ private final ReferenceService delegate;
+
+ public TreeMasterDetailReferenceService(ReferenceService delegate) {
+ this.delegate = delegate;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#instantiate(org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public void instantiate(ViewModelContext context) {
+ // no op
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#dispose()
+ */
+ @Override
+ public void dispose() {
+ // no op
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#getPriority()
+ */
+ @Override
+ public int getPriority() {
+ if (delegate == null) {
+ return 0;
+ }
+ return delegate.getPriority() - 1;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.spi.ReferenceService#addNewModelElements(org.eclipse.emf.ecore.EObject,
+ * org.eclipse.emf.ecore.EReference)
+ */
+ @Override
+ public void addNewModelElements(EObject eObject, EReference eReference) {
+ if (delegate == null) {
+ return;
+ }
+ delegate.addNewModelElements(eObject, eReference);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.spi.ReferenceService#addExistingModelElements(org.eclipse.emf.ecore.EObject,
+ * org.eclipse.emf.ecore.EReference)
+ */
+ @Override
+ public void addExistingModelElements(EObject eObject, EReference eReference) {
+ if (delegate == null) {
+ return;
+ }
+ delegate.addExistingModelElements(eObject, eReference);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.edit.spi.ReferenceService#openInNewContext(org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public void openInNewContext(EObject eObject) {
+ treeViewer.setSelection(new StructuredSelection(eObject), true);
+ final ISelection selection = treeViewer.getSelection();
+ if (!selection.isEmpty()) {
+ return;
+ }
+ if (delegate == null) {
+ return;
+ }
+ delegate.openInNewContext(eObject);
+ }
}
}
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/META-INF/MANIFEST.MF
index 5e7de65..f2df4d0 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
Bundle-ManifestVersion: 2
Bundle-Name: EMF Forms TreeMasterDetail Services
Bundle-SymbolicName: org.eclipse.emf.ecp.view.treemasterdetail.validation;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.5.0,2.0.0)"
Import-Package: org.eclipse.emf.edit.ui.provider;version="0.0.0",
org.eclipse.jface.viewers;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.internal.val
- idation;version="1.5.1";x-internal:=true
+ idation;version="1.6.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/pom.xml b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/pom.xml
index eabe971..1bc8d8a 100644
--- a/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.treemasterdetail.validation/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.treemasterdetail.validation</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.unset/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.unset/META-INF/MANIFEST.MF
index 05485b0..3a15396 100644
--- a/bundles/org.eclipse.emf.ecp.view.unset/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.unset/META-INF/MANIFEST.MF
@@ -2,12 +2,17 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Model Unset Service
Bundle-SymbolicName: org.eclipse.emf.ecp.view.unset;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.view.internal.unset;version="1.5.1
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.view.internal.unset;version="1.6.0
";x-friends:="org.eclipse.emf.ecp.view.unset.test"
+Bundle-Activator: org.eclipse.emf.ecp.view.internal.unset.Activator
+Bundle-ActivationPolicy: lazy
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.view.unset/pom.xml b/bundles/org.eclipse.emf.ecp.view.unset/pom.xml
index 1d2c222..03e860c 100644
--- a/bundles/org.eclipse.emf.ecp.view.unset/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.unset/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.unset</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.unset/src/org/eclipse/emf/ecp/view/internal/unset/Activator.java b/bundles/org.eclipse.emf.ecp.view.unset/src/org/eclipse/emf/ecp/view/internal/unset/Activator.java
new file mode 100644
index 0000000..b1752c9
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.unset/src/org/eclipse/emf/ecp/view/internal/unset/Activator.java
@@ -0,0 +1,105 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.unset;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * The Class Activator.
+ */
+public class Activator extends Plugin {
+
+ /**
+ * The constant holding the id of this plugin.
+ */
+ public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.unset"; //$NON-NLS-1$
+
+ private static Activator plugin;
+ private ServiceReference<ReportService> reportServiceReference;
+
+ // BEGIN SUPRESS CATCH EXCEPTION
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext bundleContext) throws Exception {
+ super.start(bundleContext);
+ plugin = this;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext bundleContext) throws Exception {
+ plugin = null;
+ super.stop(bundleContext);
+ }
+
+ // END SUPRESS CATCH EXCEPTION
+ /**
+ * Returns the instance of this Activator.
+ *
+ * @return the saved instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Logs a {@link Throwable}.
+ *
+ * @param t the {@link Throwable} to log
+ */
+ public static void log(Throwable t) {
+ getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, t.getMessage(), t));
+ }
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.view.unset/src/org/eclipse/emf/ecp/view/internal/unset/UnsetService.java b/bundles/org.eclipse.emf.ecp.view.unset/src/org/eclipse/emf/ecp/view/internal/unset/UnsetService.java
index ee8304c..e8ba8bf 100644
--- a/bundles/org.eclipse.emf.ecp.view.unset/src/org/eclipse/emf/ecp/view/internal/unset/UnsetService.java
+++ b/bundles/org.eclipse.emf.ecp.view.unset/src/org/eclipse/emf/ecp/view/internal/unset/UnsetService.java
@@ -11,27 +11,29 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.internal.unset;
-import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.TreeIterator;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.context.ViewModelService;
import org.eclipse.emf.ecp.view.spi.model.ModelChangeAddRemoveListener;
import org.eclipse.emf.ecp.view.spi.model.ModelChangeNotification;
import org.eclipse.emf.ecp.view.spi.model.VControl;
-import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* Unset service that, once instantiated, synchronizes the visible state of a
@@ -148,14 +150,22 @@
}
private void addControlToMap(VControl control) {
- final Setting lastSetting = getSetting(control);
- if (lastSetting == null) {
+ if (control.getDomainModelReference() == null) {
+ Activator.getDefault().getReportService().report(
+ new AbstractReport(String.format("The provided control [%1$s] has no defined DMR.", control), 1)); //$NON-NLS-1$
return;
}
- final EObject eObject = lastSetting.getEObject();
- final EStructuralFeature eStructuralFeature = lastSetting
- .getEStructuralFeature();
-
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(control.getDomainModelReference(), context.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ observableValue.dispose();
if (!objectToFeatureMap.containsKey(eObject)) {
objectToFeatureMap
.put(eObject, new LinkedHashSet<FeatureWrapper>());
@@ -163,13 +173,13 @@
final Set<FeatureWrapper> features = objectToFeatureMap.get(eObject);
FeatureWrapper wrapper = null;
for (final FeatureWrapper w : features) {
- if (w.isWrapperFor(eStructuralFeature)) {
+ if (w.isWrapperFor(structuralFeature)) {
wrapper = w;
break;
}
}
if (wrapper == null) {
- wrapper = new FeatureWrapper(eStructuralFeature);
+ wrapper = new FeatureWrapper(structuralFeature);
features.add(wrapper);
}
@@ -180,13 +190,17 @@
}
private void removeControlFromMapAndUnsetIfNeeded(VControl control) {
- final Setting lastSetting = getSetting(control);
- if (lastSetting == null) {
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(control.getDomainModelReference(), context.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
return;
}
- final EObject eObject = lastSetting.getEObject();
- final EStructuralFeature eStructuralFeature = lastSetting
- .getEStructuralFeature();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final EObject eObject = (EObject) ((IObserving) observableValue).getObserved();
+ observableValue.dispose();
final Set<FeatureWrapper> wrappers = objectToFeatureMap
.get(eObject);
FeatureWrapper wrapper = null;
@@ -194,7 +208,7 @@
return;
}
for (final FeatureWrapper w : wrappers) {
- if (w.isWrapperFor(eStructuralFeature)) {
+ if (w.isWrapperFor(structuralFeature)) {
wrapper = w;
}
}
@@ -203,7 +217,7 @@
.get(wrapper);
visibleControls.remove(control);
if (visibleControls.isEmpty()) {
- eObject.eUnset(eStructuralFeature);
+ eObject.eUnset(structuralFeature);
}
}
@@ -260,23 +274,6 @@
}
}
- private Setting getSetting(VControl control) {
- final VDomainModelReference domainModelReference = control
- .getDomainModelReference();
- if (domainModelReference == null) {
- return null;
- }
- final Iterator<Setting> settings = domainModelReference.getIterator();
- Setting firstSetting = null;
- while (settings.hasNext()) {
- final Setting setting = settings.next();
- if (firstSetting == null) {
- firstSetting = setting;
- }
- }
- return firstSetting;
- }
-
/**
* {@inheritDoc}
*
diff --git a/bundles/org.eclipse.emf.ecp.view.util.swt.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.util.swt.rap/META-INF/MANIFEST.MF
index 52fd980..1e55e63 100644
--- a/bundles/org.eclipse.emf.ecp.view.util.swt.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.util.swt.rap/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: EMFForms SWT Util RAP
Bundle-SymbolicName: org.eclipse.emf.ecp.view.util.swt.rap
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Export-Package: org.eclipse.emf.ecp.view.internal.util.swt.rap;version
- ="1.5.1";x-internal:=true
+ ="1.6.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.rap.rwt;bundle-version="[2.2.0,3.0.0)"
+ org.eclipse.rap.rwt;bundle-version="[2.2.0,4.0.0)"
Import-Package: org.osgi.framework;version="1.3.0"
Bundle-Activator: org.eclipse.emf.ecp.view.internal.util.swt.rap.Activator
Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.util.swt.rap/pom.xml b/bundles/org.eclipse.emf.ecp.view.util.swt.rap/pom.xml
index 0177a7c..3c28d65 100644
--- a/bundles/org.eclipse.emf.ecp.view.util.swt.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.util.swt.rap/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.util.swt.rap</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.util.swt/.gitignore b/bundles/org.eclipse.emf.ecp.view.util.swt/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.util.swt/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.util.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.util.swt/META-INF/MANIFEST.MF
index a3b0a0d..2680266 100644
--- a/bundles/org.eclipse.emf.ecp.view.util.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.util.swt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: EMFForms SWT Util
Bundle-SymbolicName: org.eclipse.emf.ecp.view.util.swt
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.eclipse.jface.resource;version="0.0.0",
@@ -11,5 +11,5 @@
Service-Component: OSGI-INF/rcpImageRegistry.xml
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.ecp.view.internal.util.swt;version="1.
- 5.1";x-internal:=true,org.eclipse.emf.ecp.view.spi.util.swt;version="
- 1.5.1"
+ 6.0";x-internal:=true,org.eclipse.emf.ecp.view.spi.util.swt;version="
+ 1.6.0"
diff --git a/bundles/org.eclipse.emf.ecp.view.util.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.util.swt/pom.xml
index 7a7aadc..56c590e 100644
--- a/bundles/org.eclipse.emf.ecp.view.util.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.util.swt/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.util.swt</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.validation.bean.default/.gitignore b/bundles/org.eclipse.emf.ecp.view.validation.bean.default/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.validation.bean.default/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.validation.bean.default/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.validation.bean.default/META-INF/MANIFEST.MF
index 16de134..0f8837f 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation.bean.default/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.validation.bean.default/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Default Bean Validation
Bundle-SymbolicName: org.eclipse.emf.ecp.view.validation.bean.default;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
@@ -11,4 +11,4 @@
org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)"
Import-Package: javax.validation
Export-Package: org.eclipse.emf.ecp.view.internal.validation.bean;vers
- ion="1.5.1";x-internal:=true
+ ion="1.6.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.ecp.view.validation.bean.default/pom.xml b/bundles/org.eclipse.emf.ecp.view.validation.bean.default/pom.xml
index b9f27b8..b7b025e 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation.bean.default/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.validation.bean.default/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.validation.bean.default</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.validation.bean/.gitignore b/bundles/org.eclipse.emf.ecp.view.validation.bean/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.validation.bean/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.validation.bean/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.validation.bean/META-INF/MANIFEST.MF
index 5d622c1..037e7bd 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation.bean/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.validation.bean/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: EMF Forms BeanValidation
Bundle-SymbolicName: org.eclipse.emf.ecp.view.validation.bean;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
@@ -13,6 +13,6 @@
javax.validation.bootstrap,
org.apache.commons.logging
Export-Package: org.eclipse.emf.ecp.view.internal.validation.bean;vers
- ion="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.validation.bean
- ;version="1.5.1"
+ ion="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.validation.bean
+ ;version="1.6.0"
Bundle-Activator: org.eclipse.emf.ecp.view.internal.validation.bean.Activator
diff --git a/bundles/org.eclipse.emf.ecp.view.validation.bean/pom.xml b/bundles/org.eclipse.emf.ecp.view.validation.bean/pom.xml
index 087742d..cd84621 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation.bean/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.validation.bean/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.validation.bean</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.validation/.gitignore b/bundles/org.eclipse.emf.ecp.view.validation/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.validation/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.validation/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.validation/.settings/.api_filters
new file mode 100644
index 0000000..e7e2816
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.validation/.settings/.api_filters
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.emf.ecp.view.validation" version="2">
+ <resource path="META-INF/MANIFEST.MF">
+ <filter comment="EMFForms 1.6 SPI Change" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/validation/ValidationService.java" type="org.eclipse.emf.ecp.view.spi.validation.ValidationService">
+ <filter comment="EMFForms 1.6 SPI Change" id="403804204">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.validation.ValidationService"/>
+ <message_argument value="addValidationProvider(ValidationProvider, boolean)"/>
+ </message_arguments>
+ </filter>
+ <filter comment="EMFForms 1.6 SPI Change" id="403804204">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.validation.ValidationService"/>
+ <message_argument value="removeValidationProvider(ValidationProvider, boolean)"/>
+ </message_arguments>
+ </filter>
+ </resource>
+</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.validation/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.validation/META-INF/MANIFEST.MF
index dc25c9a..683596d 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.validation/META-INF/MANIFEST.MF
@@ -2,19 +2,22 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Model Validation Service
Bundle-SymbolicName: org.eclipse.emf.ecp.view.validation;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.internal.validation.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.common;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Bundle-Vendor: Eclipse Modeling Project
Export-Package: org.eclipse.emf.ecp.view.internal.validation;version="
- 1.5.1"; x-friends:="org.eclipse.emf.ecp.view.table.ui, org.eclipse.e
+ 1.6.0"; x-friends:="org.eclipse.emf.ecp.view.table.ui, org.eclipse.e
mf.ecp.view.custom.ui, org.eclipse.emf.ecp.edit.swt, org.eclipse.em
f.ecp.test.model",org.eclipse.emf.ecp.view.spi.validation;version="1.
- 5.1"
+ 6.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0"
diff --git a/bundles/org.eclipse.emf.ecp.view.validation/pom.xml b/bundles/org.eclipse.emf.ecp.view.validation/pom.xml
index 7ee0ef7..04a6672 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.validation/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.validation</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/Activator.java b/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/Activator.java
index a98bb18..cc0b58f 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/Activator.java
@@ -14,7 +14,10 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
/**
* The bundle activator.
@@ -71,4 +74,31 @@
new Status(IStatus.ERROR, Activator.getDefault().getBundle().getSymbolicName(), e.getMessage(), e));
}
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ final BundleContext bundleContext = getBundle().getBundleContext();
+ final ServiceReference<ReportService> serviceReference =
+ bundleContext.getServiceReference(ReportService.class);
+ return bundleContext.getService(serviceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ValidationServiceImpl.java b/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ValidationServiceImpl.java
index 56872c8..2a6a2e1 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ValidationServiceImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/internal/validation/ValidationServiceImpl.java
@@ -14,7 +14,6 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
@@ -23,6 +22,8 @@
import java.util.Queue;
import java.util.Set;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtensionRegistry;
@@ -58,6 +59,8 @@
import org.eclipse.emf.ecp.view.spi.validation.ViewValidationListener;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
/**
* Validation service that, once instantiated, synchronizes the validation result of a model element with its
@@ -91,14 +94,31 @@
if (domainModelReference == null) {
return;
}
- final Iterator<Setting> settings = domainModelReference.getIterator();
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(domainModelReference, context.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ final EObject observed = (EObject) ((IObserving) observableValue).getObserved();
+ validate(observed);
+ // TODO: add test case fo this
final Set<EObject> eObjectsToValidate = new LinkedHashSet<EObject>();
- while (settings.hasNext()) {
- eObjectsToValidate.add(settings.next().getEObject());
+ eObjectsToValidate.add(observed);
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ if (EReference.class.isInstance(structuralFeature)) {
+ if (structuralFeature.isMany()) {
+ @SuppressWarnings("unchecked")
+ final List<EObject> list = (List<EObject>) observableValue.getValue();
+ eObjectsToValidate.addAll(list);
+ } else {
+ eObjectsToValidate.add((EObject) observableValue.getValue());
+ }
}
- for (final EObject eObject : eObjectsToValidate) {
- validate(eObject);
- }
+ validate(eObjectsToValidate);
+ observableValue.dispose();
}
}
if (!VElement.class.isInstance(notification.getNotifier())) {
@@ -123,14 +143,31 @@
if (domainModelReference == null) {
return;
}
- final Iterator<Setting> settings = domainModelReference.getIterator();
+
+ IObservableValue observableValue;
+ try {
+ observableValue = Activator.getDefault().getEMFFormsDatabinding()
+ .getObservableValue(domainModelReference, context.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
+ return;
+ }
+ final EObject observed = (EObject) ((IObserving) observableValue).getObserved();
+ validate(observed);
final Set<EObject> eObjectsToValidate = new LinkedHashSet<EObject>();
- while (settings.hasNext()) {
- eObjectsToValidate.add(settings.next().getEObject());
+ eObjectsToValidate.add(observed);
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ if (EReference.class.isInstance(structuralFeature)) {
+ if (structuralFeature.isMany()) {
+ @SuppressWarnings("unchecked")
+ final List<EObject> list = (List<EObject>) observableValue.getValue();
+ eObjectsToValidate.addAll(list);
+ } else {
+ eObjectsToValidate.add((EObject) observableValue.getValue());
+ }
}
- for (final EObject eObject : eObjectsToValidate) {
- validate(eObject);
- }
+ validate(eObjectsToValidate);
+ observableValue.dispose();
}
}
@@ -594,8 +631,21 @@
*/
@Override
public void addValidationProvider(ValidationProvider validationProvider) {
+ addValidationProvider(validationProvider, true);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.validation.ValidationService#addValidationProvider(org.eclipse.emf.ecp.view.spi.validation.ValidationProvider,
+ * boolean)
+ */
+ @Override
+ public void addValidationProvider(ValidationProvider validationProvider, boolean revalidate) {
validationProviders.add(validationProvider);
- validate(getAllEObjects(context.getDomainModel()));
+ if (revalidate) {
+ validate(getAllEObjects(context.getDomainModel()));
+ }
}
/**
@@ -606,8 +656,21 @@
*/
@Override
public void removeValidationProvider(ValidationProvider validationProvider) {
+ removeValidationProvider(validationProvider, true);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.validation.ValidationService#removeValidationProvider(org.eclipse.emf.ecp.view.spi.validation.ValidationProvider,
+ * boolean)
+ */
+ @Override
+ public void removeValidationProvider(ValidationProvider validationProvider, boolean revalidate) {
validationProviders.remove(validationProvider);
- validate(getAllEObjects(context.getDomainModel()));
+ if (revalidate) {
+ validate(getAllEObjects(context.getDomainModel()));
+ }
}
private final Set<ViewValidationListener> validationListeners = new LinkedHashSet<ViewValidationListener>();
diff --git a/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/spi/validation/ValidationService.java b/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/spi/validation/ValidationService.java
index f01d6e3..857d4ae 100644
--- a/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/spi/validation/ValidationService.java
+++ b/bundles/org.eclipse.emf.ecp.view.validation/src/org/eclipse/emf/ecp/view/spi/validation/ValidationService.java
@@ -23,13 +23,23 @@
*/
public interface ValidationService extends GlobalViewModelService {
/**
- * Adds a validation provider to the list of known validation providers.
+ * Adds a validation provider to the list of known validation providers. The domain model will be revalidated after
+ * the provider has been added.
*
* @param validationProvider the {@link ValidationProvider} to add
*/
void addValidationProvider(ValidationProvider validationProvider);
/**
+ * Adds a validation provider to the list of known validation providers.
+ *
+ * @param validationProvider the {@link ValidationProvider} to add
+ * @param revalidate whether to revalidate the domain model after the provider has been added
+ * @since 1.6
+ */
+ void addValidationProvider(ValidationProvider validationProvider, boolean revalidate);
+
+ /**
* Removes a validation provider from the list of known validation providers.
*
* @param validationProvider the {@link ValidationProvider} to remove
@@ -37,6 +47,16 @@
void removeValidationProvider(ValidationProvider validationProvider);
/**
+ * Removes a validation provider from the list of known validation providers. The domain model will be revalidated
+ * after the provider has been removed
+ *
+ * @param validationProvider the {@link ValidationProvider} to remove
+ * @param revalidate whether to revalidate the domain model after the provider has been removed
+ * @since 1.6
+ */
+ void removeValidationProvider(ValidationProvider validationProvider, boolean revalidate);
+
+ /**
* Registers a listener that will receive {@link org.eclipse.emf.common.util.Diagnostic Diagnostic}s with severity
* higher than {@link org.eclipse.emf.common.util.Diagnostic Diagnostic#OK}. After
* registration the listener's {@link ViewValidationListener#onNewValidation(java.util.Set)} will be called with
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/.settings/.api_filters
index 7eabff3..126debc 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/.settings/.api_filters
@@ -1,6 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.vertical.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
<filter comment="Change just synched versions" id="927989779">
<message_arguments>
<message_argument value="1.4.0"/>
@@ -14,4 +20,28 @@
</message_arguments>
</filter>
</resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.vertical.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.vertical.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.vertical.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
</component>
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/META-INF/MANIFEST.MF
index cbb7436..729cfdd 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.vertical.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.spi.vertical.model.provider.VerticalEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.vertical.model.provider;v
- ersion="1.5.1"
+ ersion="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/pom.xml
index b7cec86..155720e 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.vertical.model.edit</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/src/org/eclipse/emf/ecp/view/spi/vertical/model/provider/VerticalLayoutItemProvider.java b/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/src/org/eclipse/emf/ecp/view/spi/vertical/model/provider/VerticalLayoutItemProvider.java
index 1710521..cae0b0e 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/src/org/eclipse/emf/ecp/view/spi/vertical/model/provider/VerticalLayoutItemProvider.java
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.model.edit/src/org/eclipse/emf/ecp/view/spi/vertical/model/provider/VerticalLayoutItemProvider.java
@@ -16,6 +16,8 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VElementUtil;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.ecp.view.spi.model.provider.ContainedContainerItemProvider;
import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalFactory;
@@ -83,12 +85,15 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object)
{
- final String label = ((VVerticalLayout) object).getName();
+ String label = ((VVerticalLayout) object).getName();
+ if (label == null) {
+ label = VElementUtil.getCleanName(VElement.class.cast(object));
+ }
return label == null || label.length() == 0 ?
getString("_UI_VerticalLayout_type") : //$NON-NLS-1$
getString("_UI_VerticalLayout_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.vertical.model/.settings/.api_filters
index d148fd4..c19b072 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.model/.settings/.api_filters
@@ -1,10 +1,85 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.vertical.model" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.vertical.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.vertical.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.vertical.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/vertical/model/VVerticalPackage.java" type="org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalPackage">
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalPackage"/>
+ <message_argument value="VERTICAL_LAYOUT_FEATURE_COUNT"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalPackage"/>
+ <message_argument value="VERTICAL_LAYOUT__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalPackage"/>
+ <message_argument value="VERTICAL_LAYOUT__CHILDREN"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalPackage"/>
+ <message_argument value="VERTICAL_LAYOUT__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalPackage"/>
+ <message_argument value="VERTICAL_LAYOUT__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalPackage"/>
+ <message_argument value="VERTICAL_LAYOUT__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalPackage"/>
+ <message_argument value="VERTICAL_LAYOUT__VISIBLE"/>
+ <message_argument value="1"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.vertical.model/META-INF/MANIFEST.MF
index 6e697e5..1b7e5b0 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.model/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.vertical.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.spi.vertical.model;version="1
- .5.1",org.eclipse.emf.ecp.view.spi.vertical.model.impl;version="1.5.1
- ",org.eclipse.emf.ecp.view.spi.vertical.model.util;version="1.5.1"
+ .6.0",org.eclipse.emf.ecp.view.spi.vertical.model.impl;version="1.6.0
+ ",org.eclipse.emf.ecp.view.spi.vertical.model.util;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.vertical.model/pom.xml
index 089a02c..9c19e2a 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.model/pom.xml
@@ -7,13 +7,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.vertical.model</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/.project b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/.project
index 785e0d6..4af809e 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/.project
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/.project
@@ -30,6 +30,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/.settings/.api_filters
index fef53f3..0b17c0d 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/.settings/.api_filters
@@ -7,8 +7,20 @@
<message_argument value="1.2.1"/>
</message_arguments>
</filter>
+ <filter comment="SPI Change in 1.6" id="923795461">
+ <message_arguments>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
</resource>
<resource path="src/org/eclipse/emf/ecp/view/spi/vertical/swt/VerticalLayoutSWTRenderer.java" type="org.eclipse.emf.ecp.view.spi.vertical.swt.VerticalLayoutSWTRenderer">
+ <filter comment="SPI Change in 1.6" id="338722907">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.vertical.swt.VerticalLayoutSWTRenderer"/>
+ <message_argument value="VerticalLayoutSWTRenderer()"/>
+ </message_arguments>
+ </filter>
<filter comment="This is SPI" id="338792546">
<message_arguments>
<message_argument value="org.eclipse.emf.ecp.view.spi.vertical.swt.VerticalLayoutSWTRenderer"/>
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/META-INF/MANIFEST.MF
index 67778ab..357fa0d 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/META-INF/MANIFEST.MF
@@ -1,18 +1,23 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: View Model Vertical UI SWT
-Bundle-SymbolicName: org.eclipse.emf.ecp.view.vertical.ui.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-SymbolicName: org.eclipse.emf.ecp.view.vertical.ui.swt
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.view.spi.vertical.swt;version="1.5
- .1"
-Import-Package: org.eclipse.jface.layout;version="0.0.0",
+Export-Package: org.eclipse.emf.ecp.view.internal.vertical.swt;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.spi.vertical.swt;version="1.6.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0",
+ org.eclipse.jface.layout;version="0.0.0",
org.eclipse.swt;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
+Service-Component: OSGI-INF/verticalLayoutRendererService.xml
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/OSGI-INF/verticalLayoutRendererService.xml b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/OSGI-INF/verticalLayoutRendererService.xml
new file mode 100644
index 0000000..4628bb9
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/OSGI-INF/verticalLayoutRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.vertical.ui.swt.rendererService">
+ <implementation class="org.eclipse.emf.ecp.view.internal.vertical.swt.VerticalLayoutSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/build.properties b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/build.properties
index e5a949c..5689bc7 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/build.properties
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/build.properties
@@ -1,7 +1,7 @@
-source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.xml,\
- about.html
+ about.html,\
+ OSGI-INF/
src.includes = about.html
+source.. = src/
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/plugin.xml b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/plugin.xml
deleted file mode 100644
index 53855b8..0000000
--- a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.view.spi.vertical.swt.VerticalLayoutSWTRenderer">
- <staticTest
- element="org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout"
- priority="1">
- </staticTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/pom.xml b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/pom.xml
index 1772810..223c09c 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/src/org/eclipse/emf/ecp/view/internal/vertical/swt/VerticalLayoutSWTRendererService.java b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/src/org/eclipse/emf/ecp/view/internal/vertical/swt/VerticalLayoutSWTRendererService.java
new file mode 100644
index 0000000..73ee66e
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/src/org/eclipse/emf/ecp/view/internal/vertical/swt/VerticalLayoutSWTRendererService.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.vertical.swt;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout;
+import org.eclipse.emf.ecp.view.spi.vertical.swt.VerticalLayoutSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * VerticalLayoutSWTRendererService which provides the VerticalLayoutSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class VerticalLayoutSWTRendererService implements EMFFormsDIRendererService<VVerticalLayout> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VVerticalLayout.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ return 1d;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VVerticalLayout>> getRendererClass() {
+ return VerticalLayoutSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/src/org/eclipse/emf/ecp/view/spi/vertical/swt/VerticalLayoutSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/src/org/eclipse/emf/ecp/view/spi/vertical/swt/VerticalLayoutSWTRenderer.java
index 4e79129..0c5a605 100644
--- a/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/src/org/eclipse/emf/ecp/view/spi/vertical/swt/VerticalLayoutSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.vertical.ui.swt/src/org/eclipse/emf/ecp/view/spi/vertical/swt/VerticalLayoutSWTRenderer.java
@@ -1,52 +1,75 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Edagr Mueller - initial API and implementation
- * Eugen Neufeld - Refactoring
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.spi.vertical.swt;
-
-import java.util.Collection;
-
-import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
-import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout;
-
-/**
- * The SWT Renderer for the {@link VVerticalLayout}. It renders all elements under each other.
- *
- * @author Eugen Neufeld
- * @since 1.2
- *
- */
-public class VerticalLayoutSWTRenderer extends ContainerSWTRenderer<VVerticalLayout> {
-
- private static final String CONTROL_COLUMN = "org_eclipse_emf_ecp_ui_layout_vertical"; //$NON-NLS-1$
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getChildren()
- */
- @Override
- protected Collection<VContainedElement> getChildren() {
- return getVElement().getChildren();
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getCustomVariant()
- */
- @Override
- protected String getCustomVariant() {
- return CONTROL_COLUMN;
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Edagr Mueller - initial API and implementation
+ * Eugen Neufeld - Refactoring
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.vertical.swt;
+
+import java.util.Collection;
+
+import javax.inject.Inject;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+
+/**
+ * The SWT Renderer for the {@link VVerticalLayout}. It renders all elements under each other.
+ *
+ * @author Eugen Neufeld
+ * @since 1.2
+ *
+ */
+public class VerticalLayoutSWTRenderer extends ContainerSWTRenderer<VVerticalLayout> {
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param factory the {@link EMFFormsRendererFactory}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @since 1.6
+ */
+ @Inject
+ public VerticalLayoutSWTRenderer(VVerticalLayout vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
+ super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+ }
+
+ private static final String CONTROL_COLUMN = "org_eclipse_emf_ecp_ui_layout_vertical"; //$NON-NLS-1$
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getChildren()
+ */
+ @Override
+ protected Collection<VContainedElement> getChildren() {
+ return getVElement().getChildren();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getCustomVariant()
+ */
+ @Override
+ protected String getCustomVariant() {
+ return CONTROL_COLUMN;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/.gitignore b/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/.settings/.api_filters
index 643f270..0c0c51a 100644
--- a/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/.settings/.api_filters
@@ -1,10 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.viewproxy.model.edit" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model.edit"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.viewproxy.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.viewproxy.model.edit_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.viewproxy.model.edit_1.5.0"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/META-INF/MANIFEST.MF
index a28e666..3043e93 100644
--- a/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.viewproxy.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.internal.viewproxy.model.provider.ViewproxyEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.internal.viewproxy.model.prov
- ider;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.spi.vi
- ewproxy.model.provider;version="1.5.1"
+ ider;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.spi.vi
+ ewproxy.model.provider;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.viewproxy.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/plugin.properties b/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/plugin.properties
index 1a5781f..3c64256 100644
--- a/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/plugin.properties
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/plugin.properties
@@ -9,7 +9,7 @@
# Johannes Faltermeier - initial API and implementation
pluginName = Viewproxy Edit Support
-providerName = www.example.org
+providerName = Eclipse Modeling Project
_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/pom.xml
index 396dd49..b7cc63a 100644
--- a/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model.edit/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/.gitignore b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/.settings/.api_filters b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/.settings/.api_filters
index 59b2dd0..561a733 100644
--- a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/.settings/.api_filters
@@ -1,10 +1,88 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.emf.ecp.view.viewproxy.model" version="2">
<resource path="META-INF/MANIFEST.MF">
- <filter comment="There was no change that would require us to update the minor version.." id="929038356">
+ <filter comment="SPI Change in 1.6" id="923795461">
<message_arguments>
- <message_argument value="1.5.1"/>
- <message_argument value="org.eclipse.emf.ecp.view.model"/>
+ <message_argument value="1.6.0"/>
+ <message_argument value="1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.AbstractReport"/>
+ <message_argument value="org.eclipse.emf.ecp.view.viewproxy.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportService"/>
+ <message_argument value="org.eclipse.emf.ecp.view.viewproxy.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="META-INF/MANIFEST.MF" type="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer">
+ <filter comment="SPI Change in 1.6" id="305422471">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.model.reporting.ReportServiceConsumer"/>
+ <message_argument value="org.eclipse.emf.ecp.view.viewproxy.model_1.5.0"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/viewproxy/model/VViewproxyPackage.java">
+ <filter comment="Changes due to new label field in 1.6" id="0"/>
+ </resource>
+ <resource path="src/org/eclipse/emf/ecp/view/spi/viewproxy/model/VViewproxyPackage.java" type="org.eclipse.emf.ecp.view.spi.viewproxy.model.VViewproxyPackage">
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.viewproxy.model.VViewproxyPackage"/>
+ <message_argument value="VIEW_PROXY_FEATURE_COUNT"/>
+ <message_argument value="7"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.viewproxy.model.VViewproxyPackage"/>
+ <message_argument value="VIEW_PROXY__ATTACHMENTS"/>
+ <message_argument value="5"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.viewproxy.model.VViewproxyPackage"/>
+ <message_argument value="VIEW_PROXY__DIAGNOSTIC"/>
+ <message_argument value="4"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.viewproxy.model.VViewproxyPackage"/>
+ <message_argument value="VIEW_PROXY__ENABLED"/>
+ <message_argument value="2"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.viewproxy.model.VViewproxyPackage"/>
+ <message_argument value="VIEW_PROXY__ID"/>
+ <message_argument value="6"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.viewproxy.model.VViewproxyPackage"/>
+ <message_argument value="VIEW_PROXY__READONLY"/>
+ <message_argument value="3"/>
+ </message_arguments>
+ </filter>
+ <filter comment="Changes due to new label field in 1.6" id="388194388">
+ <message_arguments>
+ <message_argument value="org.eclipse.emf.ecp.view.spi.viewproxy.model.VViewproxyPackage"/>
+ <message_argument value="VIEW_PROXY__VISIBLE"/>
+ <message_argument value="1"/>
</message_arguments>
</filter>
</resource>
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/META-INF/MANIFEST.MF
index 228835f..dec01fd 100644
--- a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.viewproxy.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.internal.viewproxy.resolver;v
- ersion="1.5.1",org.eclipse.emf.ecp.view.spi.viewproxy.model;version="
- 1.5.1",org.eclipse.emf.ecp.view.spi.viewproxy.model.impl;version="1.5
- .1",org.eclipse.emf.ecp.view.spi.viewproxy.model.util;version="1.5.1"
- ,org.eclipse.emf.ecp.view.spi.viewproxy.resolver;version="1.5.1"
+ ersion="1.6.0",org.eclipse.emf.ecp.view.spi.viewproxy.model;version="
+ 1.6.0",org.eclipse.emf.ecp.view.spi.viewproxy.model.impl;version="1.6
+ .0",org.eclipse.emf.ecp.view.spi.viewproxy.model.util;version="1.6.0"
+ ,org.eclipse.emf.ecp.view.spi.viewproxy.resolver;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/plugin.properties b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/plugin.properties
index 4f7ec5a..e1ea8f9 100644
--- a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/plugin.properties
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/plugin.properties
@@ -9,4 +9,4 @@
# Johannes Faltermeier - initial API and implementation
pluginName = Viewproxy Model
-providerName = www.example.org
+providerName = Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/pom.xml b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/pom.xml
index d9832fd..2e23980 100644
--- a/bundles/org.eclipse.emf.ecp.view.viewproxy.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.view.viewproxy.model/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
diff --git a/bundles/org.eclipse.emf.ecp.workspace.core/.gitignore b/bundles/org.eclipse.emf.ecp.workspace.core/.gitignore
index 934e0e0..bf56436 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.core/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.workspace.core/.gitignore
@@ -1,2 +1,3 @@
/bin
/target
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.workspace.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.workspace.core/META-INF/MANIFEST.MF
index 6e3d282..651d64d 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.workspace.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Workspace Integration Core
Bundle-SymbolicName: org.eclipse.emf.ecp.workspace.core;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.workspace.internal.core.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
@@ -11,6 +11,6 @@
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.workspace.internal.core;version="1
- .5.1";x-friends:="org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.ec
+ .6.0";x-friends:="org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.ec
p.ui.view.editor.controls"
Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.ecp.workspace.core/pom.xml b/bundles/org.eclipse.emf.ecp.workspace.core/pom.xml
index e5c7711..f24829c 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.core/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.workspace.core/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.workspace.core</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/WorkspaceProvider.java b/bundles/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/WorkspaceProvider.java
index 294c682..3780593 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/WorkspaceProvider.java
+++ b/bundles/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/WorkspaceProvider.java
@@ -66,7 +66,13 @@
/** Root URI Property Name. */
public static final String PROP_ROOT_URI = "rootURI"; //$NON-NLS-1$
- /** The Workspace Provider Instance. */
+ /**
+ * The Workspace Provider Instance.
+ *
+ * @deprecated use ECPUtil.getECPProviderRegistry().getProvider(WorkspaceProvider.NAME) instead
+ *
+ */
+ @Deprecated
static WorkspaceProvider INSTANCE;
/**
diff --git a/bundles/org.eclipse.emf.ecp.workspace.ui/.gitignore b/bundles/org.eclipse.emf.ecp.workspace.ui/.gitignore
index 934e0e0..bf56436 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.ui/.gitignore
+++ b/bundles/org.eclipse.emf.ecp.workspace.ui/.gitignore
@@ -1,2 +1,3 @@
/bin
/target
+/bin/
diff --git a/bundles/org.eclipse.emf.ecp.workspace.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.workspace.ui/META-INF/MANIFEST.MF
index 7eb4589..ab21881 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.workspace.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Workspace Integration UI
Bundle-SymbolicName: org.eclipse.emf.ecp.workspace.ui;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.workspace.internal.ui.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
@@ -14,8 +14,8 @@
org.eclipse.emf.ecp.common.ui;bundle-version="[1.5.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.workspace.internal.ui;version="1.5
- .1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.workspace.internal.ui;version="1.6
+ .0";x-internal:=true
Import-Package: org.eclipse.core.commands;version="0.0.0",
org.eclipse.jface.action;version="0.0.0",
org.eclipse.jface.dialogs;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.workspace.ui/pom.xml b/bundles/org.eclipse.emf.ecp.workspace.ui/pom.xml
index a33303f..d6689b7 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.workspace.ui/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.workspace.ui</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.rap.edit.ui.minimal/.gitignore b/bundles/org.eclipse.emf.rap.edit.ui.minimal/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emf.rap.edit.ui.minimal/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emf.rap.edit.ui.minimal/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.rap.edit.ui.minimal/META-INF/MANIFEST.MF
index 7517ea9..9caa0a5 100644
--- a/bundles/org.eclipse.emf.rap.edit.ui.minimal/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.rap.edit.ui.minimal/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Minimal RAP EMF Edit UI
Bundle-SymbolicName: org.eclipse.emf.rap.edit.ui.minimal
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.rap.edit.ui.minimal/pom.xml b/bundles/org.eclipse.emf.rap.edit.ui.minimal/pom.xml
index de3d901..e118de9 100644
--- a/bundles/org.eclipse.emf.rap.edit.ui.minimal/pom.xml
+++ b/bundles/org.eclipse.emf.rap.edit.ui.minimal/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.rap.edit.ui.minimal</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle b/bundles/org.eclipse.emfforms.common/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle
copy to bundles/org.eclipse.emfforms.common/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.classpath b/bundles/org.eclipse.emfforms.common/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.classpath
copy to bundles/org.eclipse.emfforms.common/.classpath
diff --git a/bundles/org.eclipse.emfforms.common/.gitignore b/bundles/org.eclipse.emfforms.common/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emfforms.common/.project b/bundles/org.eclipse.emfforms.common/.project
new file mode 100644
index 0000000..23b6241
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.common</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.wuetherich.osgi.ds.annotations.dsAnnotationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.common/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.common/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.common/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.common/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emfforms.common/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.common/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..66c53c1
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.common/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.common/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.common/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.ui.prefs
rename to bundles/org.eclipse.emfforms.common/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.common/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.common/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emfforms.common/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.common/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..cc2c025
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,98 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Warning
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Ignore
+automatically_removed_unused_problem_filters=Disabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.emfforms.common/.settings/org.eclipse.pde.core.prefs
similarity index 100%
rename from examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.core.prefs
rename to bundles/org.eclipse.emfforms.common/.settings/org.eclipse.pde.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.common/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.common/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.common/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.common/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..c13015b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms Common
+Bundle-SymbolicName: org.eclipse.emfforms.common
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Export-Package: org.eclipse.emfforms.internal.common.report;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.spi.common.locale;version="1.6.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Service-Component: OSGI-INF/org.eclipse.emfforms.internal.common.report.ReportServiceImpl.xml
+Import-Package: org.osgi.service.component.annotations;version="[1.1.0,2.0.0)";resolution:=optional
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.common/OSGI-INF/org.eclipse.emfforms.internal.common.report.ReportServiceImpl.xml b/bundles/org.eclipse.emfforms.common/OSGI-INF/org.eclipse.emfforms.internal.common.report.ReportServiceImpl.xml
new file mode 100644
index 0000000..3b7dabe
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/OSGI-INF/org.eclipse.emfforms.internal.common.report.ReportServiceImpl.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/common/report/ReportServiceImpl.java]-->
+<scr:component name="org.eclipse.emfforms.internal.common.report.ReportServiceImpl" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+ <implementation class="org.eclipse.emfforms.internal.common.report.ReportServiceImpl"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.common.report.ReportService"/>
+ </service>
+ <reference name="Consumer" interface="org.eclipse.emfforms.spi.common.report.ReportServiceConsumer" cardinality="0..n" policy="dynamic" bind="addConsumer" unbind="removeConsumer"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/about.html b/bundles/org.eclipse.emfforms.common/about.html
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/about.html
copy to bundles/org.eclipse.emfforms.common/about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties b/bundles/org.eclipse.emfforms.common/build.properties
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties
rename to bundles/org.eclipse.emfforms.common/build.properties
diff --git a/bundles/org.eclipse.emfforms.common/pom.xml b/bundles/org.eclipse.emfforms.common/pom.xml
new file mode 100644
index 0000000..99769a4
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emfforms.common</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/internal/common/report/ReportServiceImpl.java b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/internal/common/report/ReportServiceImpl.java
new file mode 100644
index 0000000..d8c0d7c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/internal/common/report/ReportServiceImpl.java
@@ -0,0 +1,100 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Edgar Mueller - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.common.report;
+
+import java.util.ArrayList;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.common.report.ReportServiceConsumer;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
+
+/**
+ * Implementation of a {@link ReportService}.
+ *
+ * @author emueller
+ */
+@Component
+public class ReportServiceImpl implements ReportService {
+
+ private final List<AbstractReport> reports;
+ private final Set<ReportServiceConsumer> consumers;
+
+ /**
+ * Constructor.
+ */
+ public ReportServiceImpl() {
+ reports = new ArrayList<AbstractReport>();
+ consumers = new LinkedHashSet<ReportServiceConsumer>();
+ }
+
+ /**
+ * Report an {@link AbstractReport} to the service.
+ *
+ * @param reportEntity
+ * the report entity
+ */
+ @Override
+ public void report(AbstractReport reportEntity) {
+ reports.add(reportEntity);
+ for (final ReportServiceConsumer consumer : consumers) {
+ consumer.reported(reportEntity);
+ }
+ }
+
+ /**
+ * Returns all ReportEntities.
+ *
+ * @return all ReportEntities
+ */
+ @Override
+ public List<AbstractReport> getReports() {
+ return reports;
+ }
+
+ /**
+ * Discards all ReportEntities.
+ */
+ @Override
+ public void clearReports() {
+ reports.clear();
+ }
+
+ /**
+ *
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.common.report.ReportService#addConsumer(org.eclipse.emfforms.spi.common.report.ReportServiceConsumer)
+ */
+ @Override
+ @Reference(cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC)
+ public void addConsumer(ReportServiceConsumer consumer) {
+ consumers.add(consumer);
+ }
+
+ /**
+ *
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.common.report.ReportService#removeConsumer(org.eclipse.emfforms.spi.common.report.ReportServiceConsumer)
+ */
+ @Override
+ public void removeConsumer(ReportServiceConsumer consumer) {
+ consumers.remove(consumer);
+ }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/locale/AbstractEMFFormsLocaleProvider.java b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/locale/AbstractEMFFormsLocaleProvider.java
new file mode 100644
index 0000000..b0354d9
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/locale/AbstractEMFFormsLocaleProvider.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.common.locale;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+/**
+ * Abstract implementation of the EMF Forms provider for {@link java.util.Locale Locales}.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public abstract class AbstractEMFFormsLocaleProvider implements EMFFormsLocaleProvider {
+
+ private final Set<EMFFormsLocaleChangeListener> listeners = new LinkedHashSet<EMFFormsLocaleChangeListener>();
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider#addEMFFormsLocaleChangeListener(org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener)
+ */
+ @Override
+ public void addEMFFormsLocaleChangeListener(EMFFormsLocaleChangeListener listener) {
+ listeners.add(listener);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider#removeEMFFormsLocaleChangeListener(org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener)
+ */
+ @Override
+ public void removeEMFFormsLocaleChangeListener(EMFFormsLocaleChangeListener listener) {
+ listeners.remove(listener);
+ }
+
+ /**
+ * Notify listeners about a locale change.
+ */
+ protected void notifyListeners() {
+ for (final EMFFormsLocaleChangeListener localeChangeListener : listeners) {
+ localeChangeListener.notifyLocaleChange();
+ }
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/locale/EMFFormsLocaleChangeListener.java b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/locale/EMFFormsLocaleChangeListener.java
new file mode 100644
index 0000000..52eb305
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/locale/EMFFormsLocaleChangeListener.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.common.locale;
+
+
+/**
+ * EMF Forms locale change listener.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public interface EMFFormsLocaleChangeListener {
+
+ /**
+ * Notify about a locale change.
+ */
+ void notifyLocaleChange();
+}
diff --git a/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/locale/EMFFormsLocaleProvider.java b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/locale/EMFFormsLocaleProvider.java
new file mode 100644
index 0000000..a658226
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/locale/EMFFormsLocaleProvider.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.common.locale;
+
+import java.util.Locale;
+
+/**
+ * EMF Forms provider for {@link Locale Locales}.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public interface EMFFormsLocaleProvider {
+
+ /**
+ * Returns the current locale service.
+ *
+ * @return the current {@link Locale}
+ */
+ Locale getLocale();
+
+ /**
+ * Add an EMFFormsLocaleChangeListener that gets notified about locale changes.
+ *
+ * @param listener The EMFFormsLocaleChangeListener to add
+ */
+ void addEMFFormsLocaleChangeListener(EMFFormsLocaleChangeListener listener);
+
+ /**
+ * Remove an EMFFormsLocaleChangeListener.
+ *
+ * @param listener The EMFFormsLocaleChangeListener to remove
+ */
+ void removeEMFFormsLocaleChangeListener(EMFFormsLocaleChangeListener listener);
+}
diff --git a/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/report/AbstractReport.java b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/report/AbstractReport.java
new file mode 100644
index 0000000..58dd595
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/report/AbstractReport.java
@@ -0,0 +1,178 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Edgar Mueller - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.common.report;
+
+/**
+ * Common base type for reports that may be reported.
+ *
+ * @author emueller
+ * @since 1.5
+ *
+ */
+public class AbstractReport {
+
+ private Throwable exception;
+ private String message;
+ private final int severity;
+
+ /**
+ * <p>
+ * Default constructor.
+ * </p>
+ *
+ * Sets the severity to <code>IStatus.ERROR</code>.
+ */
+ public AbstractReport() {
+ exception = null;
+ severity = 4; // == IStatus.ERROR
+ }
+
+ /**
+ * <p>
+ * Constructor.
+ * </p>
+ *
+ * Sets the severity to <code>IStatus.ERROR</code>.
+ *
+ * @param exception
+ * the exception this report is based on
+ */
+ public AbstractReport(Throwable exception) {
+ this.exception = exception;
+ severity = 4; // == IStatus.ERROR
+ }
+
+ /**
+ * <p>
+ * Constructor.
+ * </p>
+ *
+ * Sets the severity to <code>IStatus.ERROR</code>.
+ *
+ * @param message
+ * the report message
+ */
+ public AbstractReport(String message) {
+ this.message = message;
+ severity = 4; // == IStatus.ERROR
+ }
+
+ /**
+ * <p>
+ * Constructor.
+ * </p>
+ *
+ * Sets the severity to <code>IStatus.ERROR</code>.
+ *
+ * @param message
+ * the report message
+ * @param severity
+ * the severity of the report
+ */
+ public AbstractReport(String message, int severity) {
+ this.message = message;
+ this.severity = severity;
+ }
+
+ /**
+ * <p>
+ * Constructor.
+ * </p>
+ *
+ * Sets the severity to <code>IStatus.ERROR</code>.
+ *
+ * @param exception
+ * the exception this report is based on
+ * @param message
+ * the report message
+ */
+ public AbstractReport(Throwable exception, String message) {
+ this.exception = exception;
+ this.message = message;
+ severity = 4; // == IStatus.ERROR
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param exception
+ * the exception this report is based on
+ * @param severity
+ * the severity of the report
+ */
+ public AbstractReport(Throwable exception, int severity) {
+ this.exception = exception;
+ this.severity = severity;
+ }
+
+ /**
+ * Returns the report message.
+ *
+ * @return the report message
+ */
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * Whether this report is based upon an exception.
+ *
+ * @return {@code true}, if this report is based upon an exception, {@code false} otherwise
+ */
+ public boolean hasException() {
+ return getException() != null;
+ }
+
+ /**
+ * Returns the exception this report is based on, if any.
+ *
+ * @return the exception this report is based on, if any, otherwise {@code null}
+ *
+ *
+ * @see #hasException()
+ */
+ public Throwable getException() {
+ return exception;
+ }
+
+ /**
+ * Returns the status of this report.
+ *
+ * @return the status of this report
+ *
+ */
+ public int getSeverity() {
+ return severity;
+ }
+
+ /**
+ * Sets the exception this report is based on.
+ *
+ * @param exception
+ * the exception this report is based on
+ *
+ * @see #hasException()
+ */
+ protected void setException(Throwable exception) {
+ this.exception = exception;
+ }
+
+ /**
+ * Sets the report' message.
+ *
+ * @param message
+ * the report message to set
+ */
+ protected void setMessage(String message) {
+ this.message = message;
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/report/ReportService.java b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/report/ReportService.java
new file mode 100644
index 0000000..657d3d7
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/report/ReportService.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Edgar Mueller - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.common.report;
+
+import java.util.List;
+
+/**
+ * Service for reporting and aggregating errors.
+ *
+ * @author emueller
+ * @since 1.5
+ */
+public interface ReportService {
+
+ /**
+ * Report an {@link AbstractReport} to the service.
+ *
+ * @param reportEntity
+ * the report entity
+ */
+ void report(AbstractReport reportEntity);
+
+ /**
+ * Returns all ReportEntities.
+ *
+ * @return all ReportEntities
+ */
+ List<AbstractReport> getReports();
+
+ /**
+ * Discards all ReportEntities.
+ */
+ void clearReports();
+
+ /**
+ * Adds a {@link ReportServiceConsumer} that consumes {@code ReportEntities}.
+ *
+ * @param consumer
+ * a {@link ReportServiceConsumer}
+ */
+ void addConsumer(ReportServiceConsumer consumer);
+
+ /**
+ * Removes a {@link ReportServiceConsumer}.
+ *
+ * @param consumer
+ * the consumer to be removed
+ */
+ void removeConsumer(ReportServiceConsumer consumer);
+
+}
diff --git a/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/report/ReportServiceConsumer.java b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/report/ReportServiceConsumer.java
new file mode 100644
index 0000000..b08a233
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.common/src/org/eclipse/emfforms/spi/common/report/ReportServiceConsumer.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Edgar Mueller - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.common.report;
+
+
+/**
+ * Common base types for any {@link AbstractReport} consumer that may
+ * be added to the {@link ReportService} in order to be notified.
+ *
+ * @author emueller
+ * @since 1.5
+ */
+public interface ReportServiceConsumer {
+
+ /**
+ * Called when a {@link AbstractReport} has been received
+ * by the {@link ReportService}.
+ *
+ * @param reportEntity
+ * the received {@link AbstractReport}
+ */
+ void reported(AbstractReport reportEntity);
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle
copy to bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.checkstyle
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.classpath b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.gitignore b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.project b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.project
new file mode 100644
index 0000000..abcd1ba
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.project
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.core.services.databinding.featurepath</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.featurepath/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..03681a4
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Featurepath Databinding Services
+Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.featurepath
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.core.services.databinding.feature
+ path;version="1.6.0";x-internal:=true
+Service-Component: OSGI-INF/featurePathDomainModelReferenceConverterService.xml
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/OSGI-INF/featurePathDomainModelReferenceConverterService.xml b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/OSGI-INF/featurePathDomainModelReferenceConverterService.xml
new file mode 100644
index 0000000..8ae6e81
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/OSGI-INF/featurePathDomainModelReferenceConverterService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.core.services.databinding.featurepath">
+ <implementation class="org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/about.html b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/about.html
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/about.html
copy to bundles/org.eclipse.emfforms.core.services.databinding.featurepath/about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/build.properties
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties
copy to bundles/org.eclipse.emfforms.core.services.databinding.featurepath/build.properties
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/pom.xml b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/pom.xml
new file mode 100644
index 0000000..0a1d583
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emfforms.core.services.databinding.featurepath</artifactId>
+ <packaging>eclipse-plugin</packaging>
+
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/src/org/eclipse/emfforms/core/services/databinding/featurepath/FeaturePathDomainModelReferenceConverter.java b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/src/org/eclipse/emfforms/core/services/databinding/featurepath/FeaturePathDomainModelReferenceConverter.java
new file mode 100644
index 0000000..de4f308
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.featurepath/src/org/eclipse/emfforms/core/services/databinding/featurepath/FeaturePathDomainModelReferenceConverter.java
@@ -0,0 +1,129 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.core.services.databinding.featurepath;
+
+import java.util.List;
+
+import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.databinding.IEMFValueProperty;
+import org.eclipse.emf.databinding.edit.EMFEditProperties;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+
+/**
+ * An implementation of {@link DomainModelReferenceConverter} that converts {@link VFeaturePathDomainModelReference}s.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class FeaturePathDomainModelReferenceConverter implements DomainModelReferenceConverter {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#isApplicable(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)
+ */
+ @Override
+ public double isApplicable(VDomainModelReference domainModelReference) {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (domainModelReference instanceof VFeaturePathDomainModelReference) {
+ return 0;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)
+ */
+ @Override
+ public IValueProperty convertToValueProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (!VFeaturePathDomainModelReference.class.isInstance(domainModelReference)) {
+ throw new IllegalArgumentException(
+ "DomainModelReference must be an instance of VFeaturePathDomainModelReference."); //$NON-NLS-1$
+ }
+
+ final VFeaturePathDomainModelReference featurePathReference = (VFeaturePathDomainModelReference) domainModelReference;
+ if (featurePathReference.getDomainModelEFeature() == null) {
+ throw new DatabindingFailedException(
+ "The field domainModelEFeature of the given VFeaturePathDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+
+ final List<EReference> referencePath = featurePathReference.getDomainModelEReferencePath();
+ final EditingDomain editingDomain = getEditingDomain(object);
+ if (referencePath.isEmpty()) {
+ return EMFEditProperties.value(editingDomain, featurePathReference.getDomainModelEFeature());
+ }
+
+ IEMFValueProperty emfValueProperty = EMFEditProperties.value(editingDomain, referencePath.get(0));
+ for (int i = 1; i < referencePath.size(); i++) {
+ emfValueProperty = emfValueProperty.value(referencePath.get(i));
+ }
+ return emfValueProperty.value(featurePathReference.getDomainModelEFeature());
+ }
+
+ private EditingDomain getEditingDomain(EObject object) throws DatabindingFailedException {
+ return AdapterFactoryEditingDomain.getEditingDomainFor(object);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @throws DatabindingFailedException
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)
+ */
+ @Override
+ public IListProperty convertToListProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (!VFeaturePathDomainModelReference.class.isInstance(domainModelReference)) {
+ throw new IllegalArgumentException(
+ "DomainModelReference must be an instance of VFeaturePathDomainModelReference."); //$NON-NLS-1$
+ }
+
+ final VFeaturePathDomainModelReference featurePathReference = (VFeaturePathDomainModelReference) domainModelReference;
+ if (featurePathReference.getDomainModelEFeature() == null) {
+ throw new DatabindingFailedException(
+ "The field domainModelEFeature of the given VFeaturePathDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+
+ final List<EReference> referencePath = featurePathReference.getDomainModelEReferencePath();
+ final EditingDomain editingDomain = getEditingDomain(object);
+ if (referencePath.isEmpty()) {
+ return EMFEditProperties.list(editingDomain, featurePathReference.getDomainModelEFeature());
+ }
+
+ IEMFValueProperty emfValueProperty = EMFEditProperties.value(editingDomain, referencePath.get(0));
+ for (int i = 1; i < referencePath.size(); i++) {
+ emfValueProperty = emfValueProperty.value(referencePath.get(i));
+ }
+ return emfValueProperty.list(featurePathReference.getDomainModelEFeature());
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle b/bundles/org.eclipse.emfforms.core.services.databinding.index/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle
copy to bundles/org.eclipse.emfforms.core.services.databinding.index/.checkstyle
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.index/.classpath b/bundles/org.eclipse.emfforms.core.services.databinding.index/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.index/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.index/.project b/bundles/org.eclipse.emfforms.core.services.databinding.index/.project
new file mode 100644
index 0000000..b9afb0f
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.index/.project
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.core.services.databinding.index</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.index/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.index/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.databinding.index/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..86bcfe6
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.index/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Index DMR Converter
+Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.index
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.databinding.index;version="1.6.0";x-internal:=true
+Bundle-ActivationPolicy: lazy
+Service-Component: OSGI-INF/indexDomainModelReferenceConverter.xml
+Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)"
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.index/OSGI-INF/indexDomainModelReferenceConverter.xml b/bundles/org.eclipse.emfforms.core.services.databinding.index/OSGI-INF/indexDomainModelReferenceConverter.xml
new file mode 100644
index 0000000..3a133e0
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.index/OSGI-INF/indexDomainModelReferenceConverter.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.core.services.databinding.index">
+ <implementation class="org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/build.properties b/bundles/org.eclipse.emfforms.core.services.databinding.index/build.properties
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/build.properties
copy to bundles/org.eclipse.emfforms.core.services.databinding.index/build.properties
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.index/pom.xml b/bundles/org.eclipse.emfforms.core.services.databinding.index/pom.xml
new file mode 100644
index 0000000..3038bce
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.index/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emfforms.core.services.databinding.index</artifactId>
+ <packaging>eclipse-plugin</packaging>
+
+ <groupId>org.eclipse.emfforms</groupId>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.index/src/org/eclipse/emfforms/internal/core/services/databinding/index/EMFIndexedValueProperty.java b/bundles/org.eclipse.emfforms.core.services.databinding.index/src/org/eclipse/emfforms/internal/core/services/databinding/index/EMFIndexedValueProperty.java
new file mode 100644
index 0000000..6d4099b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.index/src/org/eclipse/emfforms/internal/core/services/databinding/index/EMFIndexedValueProperty.java
@@ -0,0 +1,89 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - moved, adjusted comments
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding.index;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.databinding.internal.EMFValueProperty;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.command.AddCommand;
+import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+/**
+ * This class provides a ValueProperty that supports addressing specific elements of a list by an index.
+ *
+ * @author Eugen Neufeld
+ * @author Lucas Koehler
+ *
+ */
+@SuppressWarnings("restriction")
+public class EMFIndexedValueProperty extends EMFValueProperty {
+
+ private final int index;
+ private final EditingDomain editingDomain;
+
+ /**
+ * Constructor for an Index ValueProperty.
+ *
+ * @param editingDomain The {@link EditingDomain}
+ * @param index The index
+ * @param eStructuralFeature
+ * the {@link EStructuralFeature} of the indexed feature
+ */
+ public EMFIndexedValueProperty(EditingDomain editingDomain, int index,
+ EStructuralFeature eStructuralFeature) {
+ super(eStructuralFeature);
+ this.editingDomain = editingDomain;
+ if (index < 0) {
+ throw new IllegalArgumentException(
+ "\t \t \t \t \t Who thinks it's a good idea to use a negative list index?!"); //$NON-NLS-1$
+ }
+ this.index = index;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected Object doGetValue(Object source) {
+ final Object result = super.doGetValue(source);
+ final EList<Object> list = (EList<Object>) result;
+ if (list == null || index >= list.size()) {
+ return null;
+ }
+ return list.get(index);
+ }
+
+ @Override
+ protected void doSetValue(Object source, Object value) {
+ final EObject eObject = (EObject) source;
+ final Object result = super.doGetValue(source);
+ final EList<Object> list = (EList<Object>) result;
+ Command command;
+ // FIXME allow add?
+ if (index == list.size()) {
+ command = AddCommand.create(editingDomain, eObject, getFeature(), value, index);
+ }
+ else {
+ command = SetCommand.create(editingDomain, eObject, getFeature(), value, index);
+ }
+ editingDomain.getCommandStack().execute(command);
+ }
+
+ @Override
+ public String toString() {
+ String s = super.toString();
+ s += " index " + index; //$NON-NLS-1$
+ return s;
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.index/src/org/eclipse/emfforms/internal/core/services/databinding/index/IllegalListTypeException.java b/bundles/org.eclipse.emfforms.core.services.databinding.index/src/org/eclipse/emfforms/internal/core/services/databinding/index/IllegalListTypeException.java
new file mode 100644
index 0000000..9b3e615
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.index/src/org/eclipse/emfforms/internal/core/services/databinding/index/IllegalListTypeException.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding.index;
+
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+
+/**
+ * An {@link IllegalListTypeException} is thrown by an {@link IndexDomainModelReferenceConverter} when the domain model
+ * e feature of a {@link org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference
+ * VIndexDomainModelReference} referencing a list is not of the type {@link org.eclipse.emf.ecore.EReference EReference}
+ * .
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class IllegalListTypeException extends DatabindingFailedException {
+
+ /**
+ * Creates a new {@link IllegalListTypeException} with the given message.
+ *
+ * @param message The message text of the exception
+ */
+ public IllegalListTypeException(String message) {
+ super(message);
+ }
+
+ private static final long serialVersionUID = -7882225641484854585L;
+
+}
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.index/src/org/eclipse/emfforms/internal/core/services/databinding/index/IndexDomainModelReferenceConverter.java b/bundles/org.eclipse.emfforms.core.services.databinding.index/src/org/eclipse/emfforms/internal/core/services/databinding/index/IndexDomainModelReferenceConverter.java
new file mode 100644
index 0000000..7d11b86
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.index/src/org/eclipse/emfforms/internal/core/services/databinding/index/IndexDomainModelReferenceConverter.java
@@ -0,0 +1,230 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding.index;
+
+import java.util.List;
+
+import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.databinding.IEMFValueProperty;
+import org.eclipse.emf.databinding.edit.EMFEditProperties;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * An implementation of {@link DomainModelReferenceConverter} that converts {@link VIndexDomainModelReference
+ * VIndexDomainModelReferences}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class IndexDomainModelReferenceConverter implements DomainModelReferenceConverter {
+ private EMFFormsDatabinding emfFormsDatabinding;
+ private ServiceReference<EMFFormsDatabinding> databindingServiceReference;
+
+ /**
+ * Sets the {@link EMFFormsDatabinding}.
+ *
+ * @param emfFormsDatabinding the emfFormsDatabinding to set
+ */
+ void setEMFFormsDatabinding(EMFFormsDatabinding emfFormsDatabinding) {
+ this.emfFormsDatabinding = emfFormsDatabinding;
+ }
+
+ /**
+ * Unsets the {@link EMFFormsDatabinding}.
+ */
+ void unsetEMFFormsDatabinding() {
+ emfFormsDatabinding = null;
+ }
+
+ /**
+ * This method is called by the OSGI framework when this {@link DomainModelReferenceConverter} is activated. It
+ * retrieves the {@link EMFFormsDatabinding EMF Forms databinding service}.
+ *
+ * @param bundleContext The {@link BundleContext} of this classes bundle.
+ */
+ protected final void activate(BundleContext bundleContext) {
+ databindingServiceReference = bundleContext.getServiceReference(EMFFormsDatabinding.class);
+ setEMFFormsDatabinding(bundleContext.getService(databindingServiceReference));
+
+ }
+
+ /**
+ * This method is called by the OSGI framework when this {@link DomainModelReferenceConverter} is deactivated.
+ * It frees the {@link EMFFormsDatabinding EMF Forms databinding service}.
+ *
+ * @param bundleContext The {@link BundleContext} of this classes bundle.
+ */
+ protected final void deactivate(BundleContext bundleContext) {
+ unsetEMFFormsDatabinding();
+ bundleContext.ungetService(databindingServiceReference);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#isApplicable(VDomainModelReference)
+ */
+ @Override
+ public double isApplicable(VDomainModelReference domainModelReference) {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (domainModelReference instanceof VIndexDomainModelReference) {
+ return 10d;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)
+ */
+ @Override
+ public IValueProperty convertToValueProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (!VIndexDomainModelReference.class.isInstance(domainModelReference)) {
+ throw new IllegalArgumentException(
+ "DomainModelReference must be an instance of VIndexDomainModelReference."); //$NON-NLS-1$
+ }
+
+ final VIndexDomainModelReference indexReference = VIndexDomainModelReference.class.cast(domainModelReference);
+
+ IValueProperty valueProperty;
+
+ if (indexReference.getPrefixDMR() != null) {
+ final IValueProperty prefixProperty = emfFormsDatabinding.getValueProperty(indexReference.getPrefixDMR(),
+ object);
+ valueProperty = new EMFIndexedValueProperty(getEditingDomain(object), indexReference.getIndex(),
+ EStructuralFeature.class.cast(prefixProperty.getValueType()));
+ }
+ else {
+ if (indexReference.getDomainModelEFeature() == null) {
+ throw new DatabindingFailedException(
+ "The field domainModelEFeature of the given VIndexDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+
+ checkListType(indexReference.getDomainModelEFeature());
+
+ final List<EReference> referencePath = indexReference.getDomainModelEReferencePath();
+
+ if (referencePath.isEmpty()) {
+ valueProperty = new EMFIndexedValueProperty(getEditingDomain(object), indexReference.getIndex(),
+ indexReference.getDomainModelEFeature());
+ } else {
+ IEMFValueProperty emfValueProperty = EMFEditProperties
+ .value(getEditingDomain(object), referencePath.get(0));
+ for (int i = 1; i < referencePath.size(); i++) {
+ emfValueProperty = emfValueProperty.value(referencePath.get(i));
+ }
+ final EMFIndexedValueProperty indexedValueProperty = new EMFIndexedValueProperty(
+ getEditingDomain(object),
+ indexReference.getIndex(),
+ indexReference.getDomainModelEFeature());
+ valueProperty = emfValueProperty.value(indexedValueProperty);
+ }
+ }
+ return valueProperty.value(emfFormsDatabinding.getValueProperty(indexReference.getTargetDMR(), object));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)
+ */
+ @Override
+ public IListProperty convertToListProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (!VIndexDomainModelReference.class.isInstance(domainModelReference)) {
+ throw new IllegalArgumentException(
+ "DomainModelReference must be an instance of VIndexDomainModelReference."); //$NON-NLS-1$
+ }
+
+ final VIndexDomainModelReference indexReference = VIndexDomainModelReference.class.cast(domainModelReference);
+
+ IValueProperty valueProperty;
+
+ if (indexReference.getPrefixDMR() != null) {
+ final IValueProperty prefixProperty = emfFormsDatabinding.getValueProperty(indexReference.getPrefixDMR(),
+ object);
+ valueProperty = new EMFIndexedValueProperty(getEditingDomain(object), indexReference.getIndex(),
+ EStructuralFeature.class.cast(prefixProperty.getValueType()));
+ }
+ else {
+ if (indexReference.getDomainModelEFeature() == null) {
+ throw new DatabindingFailedException(
+ "The field domainModelEFeature of the given VIndexDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+
+ checkListType(indexReference.getDomainModelEFeature());
+
+ final List<EReference> referencePath = indexReference.getDomainModelEReferencePath();
+
+ if (referencePath.isEmpty()) {
+ valueProperty = new EMFIndexedValueProperty(getEditingDomain(object), indexReference.getIndex(),
+ indexReference.getDomainModelEFeature());
+ } else {
+ IEMFValueProperty emfValueProperty = EMFEditProperties
+ .value(getEditingDomain(object), referencePath.get(0));
+ for (int i = 1; i < referencePath.size(); i++) {
+ emfValueProperty = emfValueProperty.value(referencePath.get(i));
+ }
+ final EMFIndexedValueProperty indexedValueProperty = new EMFIndexedValueProperty(
+ getEditingDomain(object),
+ indexReference.getIndex(),
+ indexReference.getDomainModelEFeature());
+ valueProperty = emfValueProperty.value(indexedValueProperty);
+ }
+ }
+
+ return valueProperty.list(emfFormsDatabinding.getListProperty(indexReference.getTargetDMR(), object));
+ }
+
+ /**
+ * Checks whether the given structural feature references a proper list to generate a value or list property.
+ *
+ * @param structuralFeature The feature to check
+ * @throws IllegalListTypeException if the structural feature doesn't reference a proper list.
+ */
+ private void checkListType(EStructuralFeature structuralFeature) throws IllegalListTypeException {
+ if (!structuralFeature.isMany()) {
+ throw new IllegalListTypeException(
+ "The VIndexDomainModelReference's domainModelEFeature must reference a list."); //$NON-NLS-1$
+ }
+ if (!EReference.class.isInstance(structuralFeature)) {
+ throw new IllegalListTypeException(
+ "The VIndexDomainModelReference's domainModelEFeature must reference a list of EObjects."); //$NON-NLS-1$
+ }
+ }
+
+ private EditingDomain getEditingDomain(EObject object) throws DatabindingFailedException {
+ return AdapterFactoryEditingDomain.getEditingDomainFor(object);
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.checkstyle
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle
rename to bundles/org.eclipse.emfforms.core.services.databinding.mapping/.checkstyle
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.classpath b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.project b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.project
new file mode 100644
index 0000000..068879b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.project
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.core.services.databinding.mapping</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.core.resources.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
rename to bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
rename to bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
rename to bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
rename to bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
rename to bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.pde.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
rename to bundles/org.eclipse.emfforms.core.services.databinding.mapping/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.mapping/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..ac8f1e7
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Mapping DMR Converter
+Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.mapping
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.mappingdmr.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.databinding.mapping;version="1.6.0";x-internal:=true
+Service-Component: OSGI-INF/mappingDomainModelReferenceConverter.xml
+Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)"
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.mapping/OSGI-INF/mappingDomainModelReferenceConverter.xml b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/OSGI-INF/mappingDomainModelReferenceConverter.xml
new file mode 100644
index 0000000..b7addb0
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/OSGI-INF/mappingDomainModelReferenceConverter.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.core.services.databinding.mapping">
+ <implementation class="org.eclipse.emfforms.internal.core.services.databinding.mapping.MappingDomainModelReferenceConverter"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/build.properties b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/build.properties
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/build.properties
rename to bundles/org.eclipse.emfforms.core.services.databinding.mapping/build.properties
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.mapping/pom.xml b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/pom.xml
new file mode 100644
index 0000000..232b038
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emfforms.core.services.databinding.mapping</artifactId>
+ <packaging>eclipse-plugin</packaging>
+
+ <groupId>org.eclipse.emfforms</groupId>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.mapping/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/EMFMappingValueProperty.java b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/EMFMappingValueProperty.java
new file mode 100644
index 0000000..09bc374
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/EMFMappingValueProperty.java
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - moved/copied here from org.eclipse.emf.ecp.view.mappingdmr.databinding
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding.mapping;
+
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.databinding.internal.EMFValueProperty;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.command.ChangeCommand;
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+/**
+ * This class provides a ValueProperty for EClass Mappings.
+ *
+ * @author Eugen Neufeld
+ * @author Lucas Koehler
+ *
+ */
+@SuppressWarnings("restriction")
+public class EMFMappingValueProperty extends EMFValueProperty {
+
+ private final EClass mappedEClass;
+ private final EditingDomain editingDomain;
+
+ /**
+ * Constructor for a EClassMapping ValueProperty.
+ *
+ * @param editingDomain The {@link EditingDomain}
+ * @param mappedEClass the EClass being mapped
+ * @param eStructuralFeature the {@link EStructuralFeature} of the map
+ */
+ public EMFMappingValueProperty(EditingDomain editingDomain, EClass mappedEClass,
+ EStructuralFeature eStructuralFeature) {
+ super(eStructuralFeature);
+ this.editingDomain = editingDomain;
+ this.mappedEClass = mappedEClass;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected Object doGetValue(Object source) {
+ final Object result = super.doGetValue(source);
+ final EMap<EClass, Object> map = (EMap<EClass, Object>) result;
+ return map.get(mappedEClass);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected void doSetValue(Object source, final Object value) {
+ final Object result = super.doGetValue(source);
+ final EObject eObject = (EObject) source;
+ final ChangeCommand command = new ChangeCommand(eObject) {
+
+ @Override
+ protected void doExecute() {
+ final EMap<EClass, Object> map = (EMap<EClass, Object>) result;
+ map.put(mappedEClass, value);
+ }
+ };
+ editingDomain.getCommandStack().execute(command);
+ }
+
+ @Override
+ public String toString() {
+ String s = super.toString();
+ s += " mapping " + mappedEClass.getName(); //$NON-NLS-1$
+ return s;
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.mapping/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/IllegalMapTypeException.java b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/IllegalMapTypeException.java
new file mode 100644
index 0000000..713fd24
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/IllegalMapTypeException.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding.mapping;
+
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+
+/**
+ * A checked {@link Exception} that is thrown when a
+ * {@link org.eclipse.emf.ecp.view.spi.mappingdmr.model.VMappingDomainModelReference VMappingDomainModelReference}
+ * should be converted to a property and the referenced map's values are no {@link org.eclipse.emf.ecore.EObject
+ * EObjects}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class IllegalMapTypeException extends DatabindingFailedException {
+
+ private static final long serialVersionUID = 4729660645033802593L;
+
+ /**
+ * Creates a new {@link IllegalMapTypeException}.
+ *
+ * @param message The message of the Exception
+ */
+ public IllegalMapTypeException(String message) {
+ super(message);
+ }
+
+}
diff --git a/bundles/org.eclipse.emfforms.core.services.databinding.mapping/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/MappingDomainModelReferenceConverter.java b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/MappingDomainModelReferenceConverter.java
new file mode 100644
index 0000000..3ea289a
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.databinding.mapping/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/MappingDomainModelReferenceConverter.java
@@ -0,0 +1,232 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding.mapping;
+
+import java.util.List;
+
+import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.databinding.IEMFValueProperty;
+import org.eclipse.emf.databinding.edit.EMFEditProperties;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.mappingdmr.model.VMappingDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * Implementation of {@link DomainModelReferenceConverter} that converts {@link VMappingDomainModelReference
+ * VMappingDomainModelReferences}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class MappingDomainModelReferenceConverter implements DomainModelReferenceConverter {
+ private EMFFormsDatabinding emfFormsDatabinding;
+ private ServiceReference<EMFFormsDatabinding> databindingServiceReference;
+
+ /**
+ * Sets the {@link EMFFormsDatabinding}.
+ *
+ * @param emfFormsDatabinding the emfFormsDatabinding to set
+ */
+ void setEMFFormsDatabinding(EMFFormsDatabinding emfFormsDatabinding) {
+ this.emfFormsDatabinding = emfFormsDatabinding;
+ }
+
+ /**
+ * Unsets the {@link EMFFormsDatabinding}.
+ */
+ void unsetEMFFormsDatabinding() {
+ emfFormsDatabinding = null;
+ }
+
+ /**
+ * This method is called by the OSGI framework when this {@link DomainModelReferenceConverter} is activated. It
+ * retrieves the {@link EMFFormsDatabinding EMF Forms databinding service}.
+ *
+ * @param bundleContext The {@link BundleContext} of this classes bundle.
+ */
+ protected final void activate(BundleContext bundleContext) {
+ databindingServiceReference = bundleContext.getServiceReference(EMFFormsDatabinding.class);
+ setEMFFormsDatabinding(bundleContext.getService(databindingServiceReference));
+
+ }
+
+ /**
+ * This method is called by the OSGI framework when this {@link DomainModelReferenceConverter} is deactivated.
+ * It frees the {@link EMFFormsDatabinding EMF Forms databinding service}.
+ *
+ * @param bundleContext The {@link BundleContext} of this classes bundle.
+ */
+ protected final void deactivate(BundleContext bundleContext) {
+ unsetEMFFormsDatabinding();
+ bundleContext.ungetService(databindingServiceReference);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#isApplicable(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)
+ */
+ @Override
+ public double isApplicable(VDomainModelReference domainModelReference) {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (VMappingDomainModelReference.class.isInstance(domainModelReference)) {
+ return 10d;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#convertToValueProperty(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference,EObject)
+ */
+ @Override
+ public IValueProperty convertToValueProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (!VMappingDomainModelReference.class.isInstance(domainModelReference)) {
+ throw new IllegalArgumentException(
+ "DomainModelReference must be an instance of VMappingDomainModelReference."); //$NON-NLS-1$
+ }
+
+ final VMappingDomainModelReference mappingReference = VMappingDomainModelReference.class
+ .cast(domainModelReference);
+ if (mappingReference.getDomainModelEFeature() == null) {
+ throw new DatabindingFailedException(
+ "The field domainModelEFeature of the given VMappingDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+
+ checkMapType(mappingReference.getDomainModelEFeature());
+
+ final List<EReference> referencePath = mappingReference.getDomainModelEReferencePath();
+ IValueProperty valueProperty;
+ if (referencePath.isEmpty()) {
+ valueProperty = new EMFMappingValueProperty(getEditingDomain(object), mappingReference.getMappedClass(),
+ mappingReference.getDomainModelEFeature());
+ } else {
+ IEMFValueProperty emfValueProperty = EMFEditProperties
+ .value(getEditingDomain(object), referencePath.get(0));
+ for (int i = 1; i < referencePath.size(); i++) {
+ emfValueProperty = emfValueProperty.value(referencePath.get(i));
+ }
+ final EMFMappingValueProperty mappingValueProperty = new EMFMappingValueProperty(getEditingDomain(object),
+ mappingReference.getMappedClass(),
+ mappingReference.getDomainModelEFeature());
+ valueProperty = emfValueProperty.value(mappingValueProperty);
+ }
+
+ return valueProperty.value(emfFormsDatabinding.getValueProperty(mappingReference.getDomainModelReference(),
+ object));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#convertToListProperty(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference,EObject)
+ */
+ @Override
+ public IListProperty convertToListProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (!VMappingDomainModelReference.class.isInstance(domainModelReference)) {
+ throw new IllegalArgumentException(
+ "DomainModelReference must be an instance of VMappingDomainModelReference."); //$NON-NLS-1$
+ }
+
+ final VMappingDomainModelReference mappingReference = VMappingDomainModelReference.class
+ .cast(domainModelReference);
+ if (mappingReference.getDomainModelEFeature() == null) {
+ throw new DatabindingFailedException(
+ "The field domainModelEFeature of the given VMappingDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+
+ checkMapType(mappingReference.getDomainModelEFeature());
+
+ final List<EReference> referencePath = mappingReference.getDomainModelEReferencePath();
+ IValueProperty valueProperty;
+ if (referencePath.isEmpty()) {
+ valueProperty = new EMFMappingValueProperty(getEditingDomain(object), mappingReference.getMappedClass(),
+ mappingReference.getDomainModelEFeature());
+ } else {
+ IEMFValueProperty emfValueProperty = EMFEditProperties
+ .value(getEditingDomain(object), referencePath.get(0));
+ for (int i = 1; i < referencePath.size(); i++) {
+ emfValueProperty = emfValueProperty.value(referencePath.get(i));
+ }
+ final EMFMappingValueProperty mappingValueProperty = new EMFMappingValueProperty(getEditingDomain(object),
+ mappingReference.getMappedClass(),
+ mappingReference.getDomainModelEFeature());
+ valueProperty = emfValueProperty.value(mappingValueProperty);
+ }
+
+ return valueProperty.list(emfFormsDatabinding.getListProperty(mappingReference.getDomainModelReference(),
+ object));
+ }
+
+ /**
+ * Checks whether the given structural feature references a proper map to generate a value or list property.
+ *
+ * @param structuralFeature The feature to check
+ * @throws IllegalMapTypeException if the structural feature doesn't reference a proper map.
+ */
+ private void checkMapType(EStructuralFeature structuralFeature) throws IllegalMapTypeException {
+ if (!structuralFeature.getEType().getInstanceClassName().equals("java.util.Map$Entry")) { //$NON-NLS-1$
+ throw new IllegalMapTypeException(
+ "The VMappingDomainModelReference's domainModelEFeature must reference a map."); //$NON-NLS-1$
+ }
+ if (structuralFeature.getLowerBound() != 0 || structuralFeature.getUpperBound() != -1) {
+ throw new IllegalMapTypeException(
+ "The VMappingDomainModelReference's domainModelEFeature must reference a map."); //$NON-NLS-1$
+ }
+
+ final EClass eClass = (EClass) structuralFeature.getEType();
+ final EStructuralFeature keyFeature = eClass.getEStructuralFeature("key"); //$NON-NLS-1$
+ final EStructuralFeature valueFeature = eClass.getEStructuralFeature("value"); //$NON-NLS-1$
+ if (keyFeature == null || valueFeature == null) {
+ throw new IllegalMapTypeException(
+ "The VMappingDomainModelReference's domainModelEFeature must reference a map."); //$NON-NLS-1$
+ }
+ if (!EReference.class.isInstance(valueFeature)) {
+ throw new IllegalMapTypeException(
+ "The values of the map referenced by the VMappingDomainModelReference's domainModelEFeature must be referenced EObjects."); //$NON-NLS-1$
+ }
+ if (!EReference.class.isInstance(keyFeature)) {
+ throw new IllegalMapTypeException(
+ "The keys of the map referenced by the VMappingDomainModelReference's domainModelEFeature must be referenced EClasses."); //$NON-NLS-1$
+ }
+ if (!EClass.class.isAssignableFrom(((EReference) keyFeature).getEReferenceType().getInstanceClass())) {
+ throw new IllegalMapTypeException(
+ "The keys of the map referenced by the VMappingDomainModelReference's domainModelEFeature must be referenced EClasses."); //$NON-NLS-1$
+ }
+ }
+
+ private EditingDomain getEditingDomain(EObject object) throws DatabindingFailedException {
+ return AdapterFactoryEditingDomain.getEditingDomainFor(object);
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.checkstyle b/bundles/org.eclipse.emfforms.core.services.editsupport/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.checkstyle
copy to bundles/org.eclipse.emfforms.core.services.editsupport/.checkstyle
diff --git a/bundles/org.eclipse.emfforms.core.services.editsupport/.classpath b/bundles/org.eclipse.emfforms.core.services.editsupport/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.editsupport/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.emfforms.core.services.editsupport/.gitignore b/bundles/org.eclipse.emfforms.core.services.editsupport/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.editsupport/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emfforms.core.services.editsupport/.project b/bundles/org.eclipse.emfforms.core.services.editsupport/.project
new file mode 100644
index 0000000..26fcfe2
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.editsupport/.project
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.core.services.editsupport</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.core.services.editsupport/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services.editsupport/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.editsupport/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..802dd38
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.editsupport/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms Edit Support
+Bundle-SymbolicName: org.eclipse.emfforms.core.services.editsupport
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services.emfspecificservice;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.editsuppor
+ t;version="1.6.0";x-internal:=true,org.eclipse.emfforms.spi.core.serv
+ ices.editsupport;version="1.6.0"
+Bundle-ActivationPolicy: lazy
+Service-Component: OSGI-INF/emfFormsEditSupport.xml
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)"
diff --git a/bundles/org.eclipse.emfforms.core.services.editsupport/OSGI-INF/emfFormsEditSupport.xml b/bundles/org.eclipse.emfforms.core.services.editsupport/OSGI-INF/emfFormsEditSupport.xml
new file mode 100644
index 0000000..e8673ba
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.editsupport/OSGI-INF/emfFormsEditSupport.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.core.services.editsupport">
+ <implementation class="org.eclipse.emfforms.internal.core.services.editsupport.EMFFormsEditSupportImpl"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport"/>
+ </service>
+ <reference bind="setEMFFormsDatabinding" cardinality="1..1" interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding" name="EMFFormsDatabinding" policy="static" />
+ <reference bind="setReportService" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService" policy="static" />
+ <reference bind="setEMFSpecificService" cardinality="1..1" interface="org.eclipse.emfforms.spi.core.services.emfspecificservice.EMFSpecificService" name="EMFSpecificService" policy="static" />
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.html b/bundles/org.eclipse.emfforms.core.services.editsupport/about.html
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.html
rename to bundles/org.eclipse.emfforms.core.services.editsupport/about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties b/bundles/org.eclipse.emfforms.core.services.editsupport/build.properties
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties
copy to bundles/org.eclipse.emfforms.core.services.editsupport/build.properties
diff --git a/bundles/org.eclipse.emfforms.core.services.editsupport/pom.xml b/bundles/org.eclipse.emfforms.core.services.editsupport/pom.xml
new file mode 100644
index 0000000..c50c717
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.editsupport/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emfforms.core.services.editsupport</artifactId>
+ <packaging>eclipse-plugin</packaging>
+
+ <groupId>org.eclipse.emfforms</groupId>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/bundles/org.eclipse.emfforms.core.services.editsupport/src/org/eclipse/emfforms/internal/core/services/editsupport/EMFFormsEditSupportImpl.java b/bundles/org.eclipse.emfforms.core.services.editsupport/src/org/eclipse/emfforms/internal/core/services/editsupport/EMFFormsEditSupportImpl.java
new file mode 100644
index 0000000..f09ef49
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.editsupport/src/org/eclipse/emfforms/internal/core/services/editsupport/EMFFormsEditSupportImpl.java
@@ -0,0 +1,215 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.editsupport;
+
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.common.spi.asserts.Assert;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.emfspecificservice.EMFSpecificService;
+
+/**
+ * EMF implementation of {@link EMFFormsEditSupport}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFFormsEditSupportImpl implements EMFFormsEditSupport {
+ private EMFFormsDatabinding emfFormsDatabinding;
+ private EMFSpecificService emfSpecificService;
+ private ReportService reportService;
+
+ /**
+ * Sets the {@link EMFFormsDatabinding} service.
+ *
+ * @param emfFormsDatabinding The databinding service.
+ */
+ protected void setEMFFormsDatabinding(EMFFormsDatabinding emfFormsDatabinding) {
+ this.emfFormsDatabinding = emfFormsDatabinding;
+ }
+
+ /**
+ * Sets the {@link EMFSpecificService}.
+ *
+ * @param emfSpecificService The {@link EMFSpecificService}
+ */
+ protected void setEMFSpecificService(EMFSpecificService emfSpecificService) {
+ this.emfSpecificService = emfSpecificService;
+ }
+
+ /**
+ * Sets the {@link ReportService}.
+ *
+ * @param reportService The {@link ReportService}
+ */
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport#isMultiLine(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference,
+ * org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public boolean isMultiLine(VDomainModelReference domainModelReference, EObject rootObject) {
+ Assert.create(domainModelReference).notNull();
+ Assert.create(rootObject).notNull();
+
+ IObservableValue observableValue;
+ try {
+ observableValue = emfFormsDatabinding.getObservableValue(domainModelReference,
+ rootObject);
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return false;
+ }
+ final IObserving observing = (IObserving) observableValue;
+ final EObject value = (EObject) observing.getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+
+ final IItemPropertyDescriptor itemPropertyDescriptor = emfSpecificService.getIItemPropertyDescriptor(value,
+ structuralFeature);
+ if (itemPropertyDescriptor == null) {
+ reportMissingPropertyDescriptor(value, structuralFeature);
+ return false;
+ }
+
+ return itemPropertyDescriptor.isMultiLine(value);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport#canSetProperty(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference,
+ * org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public boolean canSetProperty(VDomainModelReference domainModelReference, EObject rootObject) {
+ Assert.create(domainModelReference).notNull();
+ Assert.create(rootObject).notNull();
+
+ IObservableValue observableValue;
+ try {
+ observableValue = emfFormsDatabinding.getObservableValue(domainModelReference,
+ rootObject);
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return false;
+ }
+ final IObserving observing = (IObserving) observableValue;
+ final EObject value = (EObject) observing.getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+
+ final IItemPropertyDescriptor itemPropertyDescriptor = emfSpecificService.getIItemPropertyDescriptor(value,
+ structuralFeature);
+ if (itemPropertyDescriptor == null) {
+ reportMissingPropertyDescriptor(value, structuralFeature);
+ return false;
+ }
+ return itemPropertyDescriptor.canSetProperty(value);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport#getText(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference,
+ * org.eclipse.emf.ecore.EObject, java.lang.Object)
+ */
+ @Override
+ public String getText(VDomainModelReference domainModelReference, EObject rootObject, Object element) {
+ Assert.create(domainModelReference).notNull();
+ Assert.create(rootObject).notNull();
+ Assert.create(element).notNull();
+
+ IObservableValue observableValue;
+ try {
+ observableValue = emfFormsDatabinding.getObservableValue(domainModelReference,
+ rootObject);
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return ex.getMessage();
+ }
+ final IObserving observing = (IObserving) observableValue;
+ final EObject value = (EObject) observing.getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+
+ final IItemPropertyDescriptor itemPropertyDescriptor = emfSpecificService.getIItemPropertyDescriptor(value,
+ structuralFeature);
+ if (itemPropertyDescriptor == null) {
+ reportMissingPropertyDescriptor(value, structuralFeature);
+ return null;
+ }
+ final IItemLabelProvider labelProvider = itemPropertyDescriptor.getLabelProvider(rootObject);
+
+ return labelProvider.getText(element);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport#getImage(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference,
+ * org.eclipse.emf.ecore.EObject, java.lang.Object)
+ */
+ @Override
+ public Object getImage(VDomainModelReference domainModelReference, EObject rootObject, Object element) {
+ Assert.create(domainModelReference).notNull();
+ Assert.create(rootObject).notNull();
+ // Assert.create(element).notNull();
+
+ IObservableValue observableValue;
+ try {
+ observableValue = emfFormsDatabinding.getObservableValue(domainModelReference,
+ rootObject);
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return ex.getMessage();
+ }
+ final IObserving observing = (IObserving) observableValue;
+ final EObject value = (EObject) observing.getObserved();
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ observableValue.dispose();
+
+ final IItemPropertyDescriptor itemPropertyDescriptor = emfSpecificService.getIItemPropertyDescriptor(value,
+ structuralFeature);
+ if (itemPropertyDescriptor == null) {
+ reportMissingPropertyDescriptor(value, structuralFeature);
+ return null;
+ }
+ final IItemLabelProvider labelProvider = itemPropertyDescriptor.getLabelProvider(rootObject);
+
+ return labelProvider.getImage(element);
+ }
+
+ private void reportMissingPropertyDescriptor(final EObject value, final EStructuralFeature structuralFeature) {
+ reportService
+ .report(new AbstractReport(
+ String
+ .format(
+ "No IItemPropertyDescriptor for feature %2$s in EClass %1$s found.", value.eClass().getName(), //$NON-NLS-1$
+ structuralFeature.getName())));
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.core.services.editsupport/src/org/eclipse/emfforms/spi/core/services/editsupport/EMFFormsEditSupport.java b/bundles/org.eclipse.emfforms.core.services.editsupport/src/org/eclipse/emfforms/spi/core/services/editsupport/EMFFormsEditSupport.java
new file mode 100644
index 0000000..1a90a33
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.editsupport/src/org/eclipse/emfforms/spi/core/services/editsupport/EMFFormsEditSupport.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.core.services.editsupport;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+
+/**
+ * The {@link EMFFormsEditSupport} provides methods to get information about a property described by a
+ * {@link VDomainModelReference} and the corresponding root {@link EObject}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public interface EMFFormsEditSupport {
+
+ /**
+ * Returns whether the property is multi line.
+ *
+ * @param domainModelReference The {@link VDomainModelReference}
+ * @param rootObject The root {@link EObject} of the {@link VDomainModelReference}
+ * @return true if the property is multi line, false otherwise
+ */
+ boolean isMultiLine(VDomainModelReference domainModelReference, EObject rootObject);
+
+ /**
+ * Returns whether the property can be set.
+ *
+ * @param domainModelReference The {@link VDomainModelReference}
+ * @param rootObject The root {@link EObject} of the {@link VDomainModelReference}
+ * @return true if the property can be set, false otherwise
+ */
+ boolean canSetProperty(VDomainModelReference domainModelReference, EObject rootObject);
+
+ /**
+ * Returns the label text for the given element.
+ *
+ * @param domainModelReference The {@link VDomainModelReference}
+ * @param rootObject The root {@link EObject} of the {@link VDomainModelReference}
+ * @param element The element for which the label text should be retrieved
+ * @return The label text
+ */
+ String getText(VDomainModelReference domainModelReference, EObject rootObject, Object element);
+
+ /**
+ * Returns the label image for the given element.
+ *
+ * @param domainModelReference The {@link VDomainModelReference}
+ * @param rootObject The root {@link EObject} of the {@link VDomainModelReference}
+ * @param element The element for which the label image should be retrieved
+ * @return The label image
+ */
+ Object getImage(VDomainModelReference domainModelReference, EObject rootObject, Object element);
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle b/bundles/org.eclipse.emfforms.core.services.emf/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle
copy to bundles/org.eclipse.emfforms.core.services.emf/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.classpath b/bundles/org.eclipse.emfforms.core.services.emf/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.classpath
copy to bundles/org.eclipse.emfforms.core.services.emf/.classpath
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/.gitignore b/bundles/org.eclipse.emfforms.core.services.emf/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emf/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/.project b/bundles/org.eclipse.emfforms.core.services.emf/.project
new file mode 100644
index 0000000..ae9b559
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emf/.project
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.core.services.emf</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..66c53c1
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.core.services.emf/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.emf/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..ad02aab
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emf/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms Core Services EMF
+Bundle-SymbolicName: org.eclipse.emfforms.core.services.emf
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
+Import-Package: org.eclipse.core.databinding.observable;version="0.0.0",
+ org.eclipse.core.databinding.observable.list;version="0.0.0",
+ org.eclipse.core.databinding.observable.value;version="0.0.0",
+ org.eclipse.core.runtime;version="0.0.0",
+ org.eclipse.emfforms.spi.common.locale;version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spi.core.services.emfspecificservice;version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spi.core.services.label;version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spi.localization;version="[1.6.0,2.0.0)",
+ org.osgi.framework;version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.databinding;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.label;version="1.6.0";x-internal:=true
+Service-Component: OSGI-INF/emfLabelProvider.xml, OSGI-INF/emfLabelProviderDefault.xml, OSGI-INF/databindingService.xml
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/OSGI-INF/databindingService.xml b/bundles/org.eclipse.emfforms.core.services.emf/OSGI-INF/databindingService.xml
new file mode 100644
index 0000000..71bf307
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emf/OSGI-INF/databindingService.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="EMFFormsDatabinding">
+ <implementation class="org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding"/>
+ </service>
+ <reference bind="addDomainModelReferenceConverter" cardinality="0..n" interface="org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter" name="DomainModelReferenceConverter" policy="dynamic" unbind="removeDomainModelReferenceConverter"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/OSGI-INF/emfLabelProvider.xml b/bundles/org.eclipse.emfforms.core.services.emf/OSGI-INF/emfLabelProvider.xml
new file mode 100644
index 0000000..8aeb16e
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emf/OSGI-INF/emfLabelProvider.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.core.services.emf.label">
+ <implementation class="org.eclipse.emfforms.internal.core.services.label.EMFFormsLabelProviderImpl"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider"/>
+ </service>
+ <reference bind="setReportService" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService" policy="static" />
+ <reference bind="setEMFFormsDatabinding" cardinality="1..1" interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding" name="EMFFormsDatabinding" policy="static" />
+ <reference bind="setEMFFormsLocaleProvider" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider" name="EMFFormsLocaleProvider" policy="static" />
+ <reference bind="setEMFFormsLocalizationService" cardinality="1..1" interface="org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService" name="EMFFormsLocalizationService" policy="static" />
+ <property name="service.ranking" type="Integer" value="2"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/OSGI-INF/emfLabelProviderDefault.xml b/bundles/org.eclipse.emfforms.core.services.emf/OSGI-INF/emfLabelProviderDefault.xml
new file mode 100644
index 0000000..7b1ac1a
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emf/OSGI-INF/emfLabelProviderDefault.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.core.services.emf.label.default">
+ <implementation class="org.eclipse.emfforms.internal.core.services.label.EMFFormsLabelProviderDefaultImpl"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider"/>
+ </service>
+ <reference bind="setReportService" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService" policy="static" />
+ <reference bind="setEMFSpecificService" cardinality="1..1" interface="org.eclipse.emfforms.spi.core.services.emfspecificservice.EMFSpecificService" name="EMFSpecificService" policy="static" />
+ <reference bind="setEMFFormsDatabinding" cardinality="1..1" interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding" name="EMFFormsDatabinding" policy="static" />
+ <property name="service.ranking" type="Integer" value="1"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/about.html b/bundles/org.eclipse.emfforms.core.services.emf/about.html
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/about.html
copy to bundles/org.eclipse.emfforms.core.services.emf/about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties b/bundles/org.eclipse.emfforms.core.services.emf/build.properties
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties
copy to bundles/org.eclipse.emfforms.core.services.emf/build.properties
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/pom.xml b/bundles/org.eclipse.emfforms.core.services.emf/pom.xml
new file mode 100644
index 0000000..e35fde7
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emf/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emfforms.core.services.emf</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/databinding/EMFFormsDatabindingImpl.java b/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/databinding/EMFFormsDatabindingImpl.java
new file mode 100644
index 0000000..8484267
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/databinding/EMFFormsDatabindingImpl.java
@@ -0,0 +1,156 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import org.eclipse.core.databinding.observable.list.IObservableList;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+
+/**
+ * EMF implementation of {@link EMFFormsDatabinding}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFFormsDatabindingImpl implements EMFFormsDatabinding {
+
+ private final Set<DomainModelReferenceConverter> referenceConverters = new LinkedHashSet<DomainModelReferenceConverter>();
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding#getObservableValue(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference,
+ * org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public IObservableValue getObservableValue(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (object == null) {
+ throw new IllegalArgumentException("The given EObject must not be null."); //$NON-NLS-1$
+ }
+
+ final IValueProperty valueProperty = getValueProperty(domainModelReference, object);
+ return valueProperty.observe(object);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding#getValueProperty(VDomainModelReference,EObject)
+ */
+ @Override
+ public IValueProperty getValueProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ final DomainModelReferenceConverter bestConverter = getBestDomainModelReferenceConverter(domainModelReference);
+
+ if (bestConverter != null) {
+ return bestConverter.convertToValueProperty(domainModelReference, object);
+ }
+
+ throw new DatabindingFailedException(
+ String
+ .format(
+ "No applicable DomainModelReferenceConverter could be found for %1$s .", domainModelReference.eClass().getName())); //$NON-NLS-1$
+ }
+
+ /**
+ * Adds the given {@link DomainModelReferenceConverter} to the Set of reference converters.
+ *
+ * @param converter The {@link DomainModelReferenceConverter} to add
+ */
+ protected void addDomainModelReferenceConverter(DomainModelReferenceConverter converter) {
+ referenceConverters.add(converter);
+ }
+
+ /**
+ * Removes the given {@link DomainModelReferenceConverter} to the Set of reference converters.
+ *
+ * @param converter The {@link DomainModelReferenceConverter} to remove
+ */
+ protected void removeDomainModelReferenceConverter(DomainModelReferenceConverter converter) {
+ referenceConverters.remove(converter);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding#getObservableList(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference,
+ * org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public IObservableList getObservableList(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (object == null) {
+ throw new IllegalArgumentException("The given EObject must not be null."); //$NON-NLS-1$
+ }
+
+ final IListProperty listProperty = getListProperty(domainModelReference, object);
+ return listProperty.observe(object);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding#getListProperty(VDomainModelReference,EObject)
+ */
+ @Override
+ public IListProperty getListProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ final DomainModelReferenceConverter bestConverter = getBestDomainModelReferenceConverter(domainModelReference);
+
+ if (bestConverter != null) {
+ return bestConverter.convertToListProperty(domainModelReference, object);
+ }
+
+ throw new DatabindingFailedException("No applicable DomainModelReferenceConverter could be found."); //$NON-NLS-1$
+ }
+
+ /**
+ * Returns the most suitable {@link DomainModelReferenceConverter}, that is registered to this
+ * {@link EMFFormsDatabindingImpl}, for the given {@link VDomainModelReference}.
+ *
+ * @param domainModelReference The {@link VDomainModelReference} for which a {@link DomainModelReferenceConverter}
+ * is needed
+ * @return The most suitable {@link DomainModelReferenceConverter}
+ */
+ private DomainModelReferenceConverter getBestDomainModelReferenceConverter(
+ VDomainModelReference domainModelReference) {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ double highestPriority = DomainModelReferenceConverter.NOT_APPLICABLE;
+ DomainModelReferenceConverter bestConverter = null;
+ for (final DomainModelReferenceConverter converter : referenceConverters) {
+ final double priority = converter.isApplicable(domainModelReference);
+ if (priority > highestPriority) {
+ highestPriority = priority;
+ bestConverter = converter;
+ }
+ }
+ return bestConverter;
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/BundleResolver.java b/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/BundleResolver.java
new file mode 100644
index 0000000..a2e5cef
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/BundleResolver.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.label;
+
+import org.eclipse.emf.ecore.EClass;
+import org.osgi.framework.Bundle;
+
+/**
+ * Class to resolve an EClass to a Bundle.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public interface BundleResolver {
+
+ /**
+ * Exception that is used if a bundle could not be found.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+ public static class NoBundleFoundException extends Exception {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Default Constructor.
+ *
+ * @param eClass The EClass to log for.
+ */
+ public NoBundleFoundException(EClass eClass) {
+ super(String.format("No Bundle could not be found for %1$s.", eClass.getName())); //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * Retrieve the edit bundle for the passed EClass.
+ *
+ * @param eClass The EClass to get the edit bundle for
+ * @return the Bundle , never null
+ * @throws NoBundleFoundException if no bundle could be found
+ */
+ Bundle getEditBundle(EClass eClass) throws NoBundleFoundException;
+}
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/BundleResolverImpl.java b/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/BundleResolverImpl.java
new file mode 100644
index 0000000..d1cb4d4
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/BundleResolverImpl.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.label;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtension;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.ecore.EClass;
+import org.osgi.framework.Bundle;
+
+/**
+ * Implementation of the BundleResolver.
+ *
+ * @author Eugen Neufeld
+ */
+public class BundleResolverImpl implements BundleResolver {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.internal.core.services.label.BundleResolver#getEditBundle(org.eclipse.emf.ecore.EClass)
+ */
+ @Override
+ public Bundle getEditBundle(EClass eClass) throws NoBundleFoundException {
+ final IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
+ .getExtensionPoint("org.eclipse.emf.edit.itemProviderAdapterFactories"); //$NON-NLS-1$
+
+ for (final IExtension extension : extensionPoint.getExtensions()) {
+ for (final IConfigurationElement configurationElement : extension.getConfigurationElements()) {
+ if (configurationElement.getAttribute("uri").equals(eClass.getEPackage().getNsURI())) { //$NON-NLS-1$
+ return Platform.getBundle(configurationElement.getContributor().getName());
+ }
+ }
+ }
+ throw new NoBundleFoundException(eClass);
+ }
+
+}
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl.java b/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl.java
new file mode 100644
index 0000000..a1d6f0a
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl.java
@@ -0,0 +1,209 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.label;
+
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.Observables;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.common.spi.asserts.Assert;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.emfspecificservice.EMFSpecificService;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+
+/**
+ * Implementation of {@link EMFFormsLabelProvider}. It provides a label service that delivers the display name and
+ * description for a domain model reference and optionally an EObject.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFFormsLabelProviderDefaultImpl implements EMFFormsLabelProvider {
+ private EMFFormsDatabinding emfFormsDatabinding;
+ private EMFSpecificService emfSpecificService;
+ private ReportService reportService;
+
+ /**
+ * Sets the {@link EMFFormsDatabinding} service.
+ *
+ * @param emfFormsDatabinding The databinding service.
+ */
+ protected void setEMFFormsDatabinding(EMFFormsDatabinding emfFormsDatabinding) {
+ this.emfFormsDatabinding = emfFormsDatabinding;
+ }
+
+ /**
+ * Sets the {@link EMFSpecificService}.
+ *
+ * @param emfSpecificService The {@link EMFSpecificService}
+ */
+ protected void setEMFSpecificService(EMFSpecificService emfSpecificService) {
+ this.emfSpecificService = emfSpecificService;
+ }
+
+ /**
+ * Sets the {@link ReportService}.
+ *
+ * @param reportService The {@link ReportService}
+ */
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider#getDisplayName(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)
+ */
+ @Override
+ public IObservableValue getDisplayName(VDomainModelReference domainModelReference) {
+ Assert.create(domainModelReference).notNull();
+
+ IValueProperty valueProperty;
+ try {
+ valueProperty = emfFormsDatabinding.getValueProperty(domainModelReference, null);
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return getConstantObservableValue(ex.getMessage());
+ }
+ final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();
+ final EClass eContainingClass = structuralFeature.getEContainingClass();
+ if (eContainingClass.isAbstract() || eContainingClass.isInterface()) {
+ return getConstantObservableValue(getFallbackLabel(structuralFeature));
+ }
+ final EObject tempInstance = EcoreUtil.create(eContainingClass);
+ final IItemPropertyDescriptor itemPropertyDescriptor = emfSpecificService.getIItemPropertyDescriptor(
+ tempInstance, structuralFeature);
+
+ return getConstantObservableValue(itemPropertyDescriptor.getDisplayName(tempInstance));
+ }
+
+ /**
+ * Creates a fall back label from a {@link EStructuralFeature}.
+ *
+ * @param structuralFeature The {@link EStructuralFeature}
+ * @return The fall back label
+ */
+ private String getFallbackLabel(final EStructuralFeature structuralFeature) {
+ final String[] split = structuralFeature.getName().split("(?<!(^|[A-Z]))(?=[A-Z])|(?<!^)(?=[A-Z][a-z])"); //$NON-NLS-1$
+ final char[] charArray = split[0].toCharArray();
+ charArray[0] = Character.toUpperCase(charArray[0]);
+ split[0] = new String(charArray);
+ final StringBuilder sb = new StringBuilder();
+ for (final String str : split) {
+ sb.append(str);
+ sb.append(" "); //$NON-NLS-1$
+ }
+ return sb.toString().trim();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider#getDisplayName(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference,
+ * org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public IObservableValue getDisplayName(VDomainModelReference domainModelReference, EObject rootObject) {
+ Assert.create(domainModelReference).notNull();
+ Assert.create(rootObject).notNull();
+
+ IObservableValue observableValue;
+ try {
+ observableValue = emfFormsDatabinding.getObservableValue(domainModelReference,
+ rootObject);
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return getConstantObservableValue(ex.getMessage());
+ }
+ final IObserving observing = (IObserving) observableValue;
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final EObject value = (EObject) observing.getObserved();
+ observableValue.dispose();
+ final IItemPropertyDescriptor itemPropertyDescriptor = emfSpecificService.getIItemPropertyDescriptor(value,
+ structuralFeature);
+
+ return getConstantObservableValue(itemPropertyDescriptor.getDisplayName(value));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider#getDescription(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)
+ */
+ @Override
+ public IObservableValue getDescription(VDomainModelReference domainModelReference) {
+ Assert.create(domainModelReference).notNull();
+
+ IValueProperty valueProperty;
+ try {
+ valueProperty = emfFormsDatabinding.getValueProperty(domainModelReference, null);
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return getConstantObservableValue(ex.getMessage());
+ }
+ final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();
+ final EClass eContainingClass = structuralFeature.getEContainingClass();
+ if (eContainingClass.isAbstract() || eContainingClass.isInterface()) {
+ return getConstantObservableValue(getFallbackLabel(structuralFeature));
+ }
+ final EObject tempInstance = EcoreUtil.create(eContainingClass);
+ final IItemPropertyDescriptor itemPropertyDescriptor = emfSpecificService.getIItemPropertyDescriptor(
+ tempInstance, structuralFeature);
+
+ return getConstantObservableValue(itemPropertyDescriptor.getDescription(tempInstance));
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider#getDescription(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference,
+ * org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public IObservableValue getDescription(VDomainModelReference domainModelReference, EObject rootObject) {
+ Assert.create(domainModelReference).notNull();
+ Assert.create(rootObject).notNull();
+
+ IObservableValue observableValue;
+ try {
+ observableValue = emfFormsDatabinding.getObservableValue(domainModelReference,
+ rootObject);
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return getConstantObservableValue(ex.getMessage());
+ }
+ final IObserving observing = (IObserving) observableValue;
+ final EStructuralFeature structuralFeature = (EStructuralFeature) observableValue.getValueType();
+ final EObject value = (EObject) observing.getObserved();
+ observableValue.dispose();
+
+ final IItemPropertyDescriptor itemPropertyDescriptor = emfSpecificService.getIItemPropertyDescriptor(value,
+ structuralFeature);
+
+ return getConstantObservableValue(itemPropertyDescriptor.getDescription(value));
+ }
+
+ private IObservableValue getConstantObservableValue(String value) {
+ return Observables.constantObservableValue(value, String.class);
+ }
+
+}
diff --git a/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl.java b/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl.java
new file mode 100644
index 0000000..5c28fd2
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emf/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl.java
@@ -0,0 +1,365 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.label;
+
+import java.text.MessageFormat;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.observable.value.WritableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.common.spi.asserts.Assert;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emfforms.internal.core.services.label.BundleResolver.NoBundleFoundException;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * Implementation of {@link EMFFormsLabelProvider}. It provides a label service that delivers the display name and
+ * description for a domain model reference and optionally an EObject.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class EMFFormsLabelProviderImpl implements EMFFormsLabelProvider, EMFFormsLocaleChangeListener {
+
+ /**
+ * Key for the map of displayname observables.
+ *
+ * @author Eugen Neufeld
+ */
+ private static class DisplayNameKey {
+ private final String key;
+ private final Bundle bundle;
+
+ public DisplayNameKey(String key, Bundle bundle) {
+ super();
+ this.key = key;
+ this.bundle = bundle;
+ }
+
+ String getKey() {
+ return key;
+ }
+
+ Bundle getBundle() {
+ return bundle;
+ }
+ }
+
+ /**
+ * Key for the map of description observables.
+ *
+ * @author Eugen Neufeld
+ */
+ private static class DescriptionKey {
+ private final String eClassName;
+ private final String featureName;
+ private final Bundle bundle;
+
+ public DescriptionKey(String eClassName, String featureName, Bundle bundle) {
+ super();
+ this.eClassName = eClassName;
+ this.featureName = featureName;
+ this.bundle = bundle;
+ }
+
+ Bundle getBundle() {
+ return bundle;
+ }
+
+ String geteClassName() {
+ return eClassName;
+ }
+
+ String getFeatureName() {
+ return featureName;
+ }
+ }
+
+ private static final String DISPLAY_NAME = "_UI_%1$s_%2$s_feature"; //$NON-NLS-1$
+ private static final String DESCRIPTION = "_UI_%1$s_%2$s_description"; //$NON-NLS-1$
+ private static final String DESCRIPTION_COMPOSITE = "_UI_PropertyDescriptor_description"; //$NON-NLS-1$
+ private static final String TYPE = "_UI_%1$s_type"; //$NON-NLS-1$
+
+ private EMFFormsDatabinding emfFormsDatabinding;
+ private EMFFormsLocalizationService localizationService;
+ private ReportService reportService;
+ private BundleResolver bundleResolver = new BundleResolverImpl();
+
+ private final Map<DisplayNameKey, WritableValue> displayKeyObservableMap = new LinkedHashMap<DisplayNameKey, WritableValue>();
+ private final Map<DescriptionKey, WritableValue> descriptionKeyObservableMap = new LinkedHashMap<DescriptionKey, WritableValue>();
+ private EMFFormsLocaleProvider localeProvider;
+ private ServiceReference<EMFFormsLabelProvider> defaultLabelProviderReference;
+ private EMFFormsLabelProvider labelProviderDefault;
+
+ /**
+ * Sets the {@link ReportService} service.
+ *
+ * @param reportService The ReportService service.
+ */
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * Sets the {@link EMFFormsDatabinding} service.
+ *
+ * @param emfFormsDatabinding The databinding service.
+ */
+ protected void setEMFFormsDatabinding(EMFFormsDatabinding emfFormsDatabinding) {
+ this.emfFormsDatabinding = emfFormsDatabinding;
+ }
+
+ /**
+ * Sets the {@link EMFFormsLocalizationService}.
+ *
+ * @param localizationService The {@link EMFFormsLocalizationService}
+ */
+ protected void setEMFFormsLocalizationService(EMFFormsLocalizationService localizationService) {
+ this.localizationService = localizationService;
+ }
+
+ /**
+ * Sets the {@link EMFFormsLocaleProvider}.
+ *
+ * @param localeProvider The {@link EMFFormsLocaleProvider}
+ */
+ protected void setEMFFormsLocaleProvider(EMFFormsLocaleProvider localeProvider) {
+ this.localeProvider = localeProvider;
+ this.localeProvider.addEMFFormsLocaleChangeListener(this);
+ }
+
+ /**
+ * Sets the {@link BundleResolver}.
+ *
+ * @param bundleResolver The {@link BundleResolver}
+ */
+ protected void setBundleResolver(BundleResolver bundleResolver) {
+ this.bundleResolver = bundleResolver;
+ }
+
+ /**
+ * Called by the Framework during startup to retrieve a fallback label provider.
+ *
+ * @param bundleContext The {@link BundleContext} to use
+ * @throws InvalidSyntaxException thrown if the filter string is incorrect
+ */
+ protected void activate(BundleContext bundleContext) throws InvalidSyntaxException {
+ defaultLabelProviderReference = bundleContext
+ .getServiceReferences(EMFFormsLabelProvider.class, "(service.ranking=1)").iterator().next(); //$NON-NLS-1$
+ labelProviderDefault = bundleContext.getService(defaultLabelProviderReference);
+ }
+
+ /**
+ * Called by the framework during tear down. Ungets the fallback label provider.
+ *
+ * @param bundleContext The {@link BundleContext} to use
+ */
+ protected void deactivate(BundleContext bundleContext) {
+ bundleContext.ungetService(defaultLabelProviderReference);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see EMFFormsLabelProvider#getDisplayName(VDomainModelReference)
+ */
+ @Override
+ public IObservableValue getDisplayName(VDomainModelReference domainModelReference) throws NoLabelFoundException {
+ Assert.create(domainModelReference).notNull();
+
+ IValueProperty valueProperty;
+ try {
+ valueProperty = emfFormsDatabinding.getValueProperty(domainModelReference, null);
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ throw new NoLabelFoundException(ex);
+ }
+ final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();
+ final EClass eContainingClass = structuralFeature.getEContainingClass();
+ Bundle bundle;
+ try {
+ bundle = bundleResolver.getEditBundle(eContainingClass);
+ } catch (final NoBundleFoundException ex) {
+ reportService.report(new AbstractReport(ex, 1));
+ reportService.report(new AbstractReport("Using fallback", 1)); //$NON-NLS-1$
+ return labelProviderDefault.getDisplayName(domainModelReference);
+ }
+ final String key = String.format(DISPLAY_NAME, eContainingClass.getName(),
+ structuralFeature.getName());
+ final WritableValue value = getObservableValue(getDisplayName(bundle, key));
+ displayKeyObservableMap.put(new DisplayNameKey(key, bundle), value);
+ return value;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see EMFFormsLabelProvider#getDisplayName(VDomainModelReference,EObject)
+ */
+ @Override
+ public IObservableValue getDisplayName(VDomainModelReference domainModelReference, EObject rootObject)
+ throws NoLabelFoundException {
+ Assert.create(domainModelReference).notNull();
+ Assert.create(rootObject).notNull();
+
+ IValueProperty valueProperty;
+ try {
+ valueProperty = emfFormsDatabinding.getValueProperty(domainModelReference, rootObject);
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ throw new NoLabelFoundException(ex);
+ }
+ final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();
+
+ Bundle bundle;
+ try {
+ bundle = bundleResolver.getEditBundle(structuralFeature.getEContainingClass());
+ } catch (final NoBundleFoundException ex) {
+ reportService.report(new AbstractReport(ex, 1));
+ reportService.report(new AbstractReport("Using fallback", 1)); //$NON-NLS-1$
+ return labelProviderDefault.getDisplayName(domainModelReference, rootObject);
+ }
+ final String key = String.format(DISPLAY_NAME, structuralFeature.getEContainingClass().getName(),
+ structuralFeature.getName());
+ final WritableValue displayObserveValue = getObservableValue(getDisplayName(bundle, key));
+ displayKeyObservableMap.put(new DisplayNameKey(key, bundle), displayObserveValue);
+ return displayObserveValue;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see EMFFormsLabelProvider#getDescription(VDomainModelReference)
+ */
+ @Override
+ public IObservableValue getDescription(VDomainModelReference domainModelReference) throws NoLabelFoundException {
+ Assert.create(domainModelReference).notNull();
+
+ IValueProperty valueProperty;
+ try {
+ valueProperty = emfFormsDatabinding.getValueProperty(domainModelReference, null);
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ throw new NoLabelFoundException(ex);
+ }
+ final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();
+ final EClass eContainingClass = structuralFeature.getEContainingClass();
+ Bundle bundle;
+ try {
+ bundle = bundleResolver.getEditBundle(eContainingClass);
+ } catch (final NoBundleFoundException ex) {
+ reportService.report(new AbstractReport(ex, 1));
+ reportService.report(new AbstractReport("Using fallback", 1)); //$NON-NLS-1$
+ return labelProviderDefault.getDescription(domainModelReference);
+ }
+ final WritableValue writableValue = getObservableValue(getDescription(eContainingClass
+ .getName(),
+ structuralFeature.getName(), bundle));
+ descriptionKeyObservableMap.put(new DescriptionKey(eContainingClass.getName(),
+ structuralFeature.getName(), bundle), writableValue);
+ return writableValue;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see EMFFormsLabelProvider#getDescription(VDomainModelReference,EObject)
+ */
+ @Override
+ public IObservableValue getDescription(VDomainModelReference domainModelReference, EObject rootObject)
+ throws NoLabelFoundException {
+ Assert.create(domainModelReference).notNull();
+ Assert.create(rootObject).notNull();
+
+ IValueProperty valueProperty;
+ try {
+ valueProperty = emfFormsDatabinding.getValueProperty(domainModelReference, rootObject);
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ throw new NoLabelFoundException(ex);
+ }
+ final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();
+ Bundle bundle;
+ try {
+ bundle = bundleResolver.getEditBundle(structuralFeature.getEContainingClass());
+ } catch (final NoBundleFoundException ex) {
+ reportService.report(new AbstractReport(ex, 1));
+ reportService.report(new AbstractReport("Using fallback", 1)); //$NON-NLS-1$
+ return labelProviderDefault.getDescription(domainModelReference, rootObject);
+ }
+ final WritableValue writableValue = getObservableValue(getDescription(structuralFeature.getEContainingClass()
+ .getName(),
+ structuralFeature.getName(), bundle));
+ descriptionKeyObservableMap.put(new DescriptionKey(structuralFeature.getEContainingClass().getName(),
+ structuralFeature.getName(), bundle), writableValue);
+ return writableValue;
+ }
+
+ private WritableValue getObservableValue(String value) {
+ return new WritableValue(value, String.class);
+ }
+
+ private String getDisplayName(Bundle bundle, String key) {
+ return localizationService.getString(bundle, key);
+ }
+
+ private String getDescription(String eClassName, String featureName, Bundle bundle) {
+ final String keyDefault = String.format(DESCRIPTION, eClassName, featureName);
+ if (localizationService.hasKey(bundle, keyDefault)) {
+ return localizationService.getString(bundle,
+ keyDefault);
+ }
+ final String descriptionWithSubstitution = localizationService.getString(bundle,
+ DESCRIPTION_COMPOSITE);
+ final String key = String.format(DISPLAY_NAME, eClassName, featureName);
+ final String featureSubstitution = getDisplayName(bundle, key);
+ final String eObjectSubstitution = localizationService.getString(bundle,
+ String.format(TYPE, eClassName));
+ return MessageFormat.format(descriptionWithSubstitution, featureSubstitution, eObjectSubstitution);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener#notifyLocaleChange()
+ */
+ @Override
+ public void notifyLocaleChange() {
+ for (final DisplayNameKey displayNameKey : displayKeyObservableMap.keySet()) {
+ final WritableValue writableValue = displayKeyObservableMap.get(displayNameKey);
+ writableValue.setValue(getDisplayName(displayNameKey.getBundle(), displayNameKey.getKey()));
+ }
+ for (final DescriptionKey descriptionKey : descriptionKeyObservableMap.keySet()) {
+ final WritableValue writableValue = descriptionKeyObservableMap.get(descriptionKey);
+ writableValue.setValue(getDescription(descriptionKey.geteClassName(), descriptionKey.getFeatureName(),
+ descriptionKey.getBundle()));
+ }
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle
copy to bundles/org.eclipse.emfforms.core.services.emfspecificservice/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to bundles/org.eclipse.emfforms.core.services.emfspecificservice/.classpath
diff --git a/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.project b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.project
new file mode 100644
index 0000000..c9d8557
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.project
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.core.services.emfspecificservice</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..66c53c1
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.core.services.emfspecificservice/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services.emfspecificservice/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..c33fc65
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Emf Specific Service
+Bundle-SymbolicName: org.eclipse.emfforms.core.services.emfspecificservice
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
+Bundle-ActivationPolicy: lazy
+Service-Component: OSGI-INF/emfSpecificService.xml
+Export-Package: org.eclipse.emfforms.internal.core.services.emfspecificservice;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.spi.core.services.emfspecificservice;version="1.6.0"
diff --git a/bundles/org.eclipse.emfforms.core.services.emfspecificservice/OSGI-INF/emfSpecificService.xml b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/OSGI-INF/emfSpecificService.xml
new file mode 100644
index 0000000..c1e27d4
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/OSGI-INF/emfSpecificService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.emfforms.core.services.emfspecificservice">
+ <implementation class="org.eclipse.emfforms.internal.core.services.emfspecificservice.EMFSpecificServiceImpl"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.core.services.emfspecificservice.EMFSpecificService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/about.html b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/about.html
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/about.html
copy to bundles/org.eclipse.emfforms.core.services.emfspecificservice/about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/build.properties
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties
copy to bundles/org.eclipse.emfforms.core.services.emfspecificservice/build.properties
diff --git a/bundles/org.eclipse.emfforms.core.services.emfspecificservice/pom.xml b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/pom.xml
new file mode 100644
index 0000000..5b6ab49
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emfforms.core.services.emfspecificservice</artifactId>
+ <packaging>eclipse-plugin</packaging>
+
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/bundles/org.eclipse.emfforms.core.services.emfspecificservice/src/org/eclipse/emfforms/internal/core/services/emfspecificservice/EMFSpecificServiceImpl.java b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/src/org/eclipse/emfforms/internal/core/services/emfspecificservice/EMFSpecificServiceImpl.java
new file mode 100644
index 0000000..eaf1b1a
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/src/org/eclipse/emfforms/internal/core/services/emfspecificservice/EMFSpecificServiceImpl.java
@@ -0,0 +1,119 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.emfspecificservice;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emfforms.spi.core.services.emfspecificservice.EMFSpecificService;
+
+/**
+ * Implementation of {@link EMFSpecificService}.
+ *
+ * @author Lucas Koehler
+ * @noextend This interface is not intended to be extended by clients.
+ * @noreference This method is not intended to be referenced by clients.
+ */
+public class EMFSpecificServiceImpl implements EMFSpecificService {
+
+ // private ComposedAdapterFactory composedAdapterFactory; // TODO: discuss: need dispose?
+ //
+ // /**
+ // * {@inheritDoc}
+ // *
+ // * @see
+ // org.eclipse.emfforms.spi.core.services.emfspecificservice.EMFSpecificService#getComposedAdapterFactory()
+ // */
+ // @Override
+ // public ComposedAdapterFactory getComposedAdapterFactory() {
+ // if (composedAdapterFactory == null) {
+ // composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
+ // new ReflectiveItemProviderAdapterFactory(),
+ // new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
+ // }
+ // return composedAdapterFactory;
+ // }
+ //
+ // /**
+ // * {@inheritDoc}
+ // *
+ // * @see
+ // org.eclipse.emfforms.spi.core.services.emfspecificservice.EMFSpecificService#getAdapterFactoryItemDelegator()
+ // */
+ // @Override
+ // public AdapterFactoryItemDelegator getAdapterFactoryItemDelegator() {
+ // return new AdapterFactoryItemDelegator(getComposedAdapterFactory());
+ // }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see EMFSpecificService#getIItemPropertyDescriptor(EObject, EStructuralFeature)
+ */
+ @Override
+ public IItemPropertyDescriptor getIItemPropertyDescriptor(EObject eObject, EStructuralFeature eStructuralFeature) {
+ final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(eObject);
+ AdapterFactoryItemDelegator itemDelegator;
+ if (editingDomain != null && AdapterFactoryEditingDomain.class.isInstance(editingDomain)) {
+ itemDelegator = getAdapterFactoryItemDelegator(AdapterFactoryEditingDomain.class.cast(editingDomain)
+ .getAdapterFactory());
+ } else {
+ final ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
+ new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
+ // new CustomReflectiveItemProvider(), <-- move to common bundle,
+ // then remove the ReflectiveItemProviderAdapterFactory
+ new ReflectiveItemProviderAdapterFactory()
+ });
+ itemDelegator = getAdapterFactoryItemDelegator(composedAdapterFactory);
+ composedAdapterFactory.dispose();
+ }
+
+ return itemDelegator.getPropertyDescriptor(eObject, eStructuralFeature);
+ }
+
+ private AdapterFactoryItemDelegator getAdapterFactoryItemDelegator(AdapterFactory adapterFactory) {
+ return new AdapterFactoryItemDelegator(adapterFactory);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.emfspecificservice.EMFSpecificService#getIItemPropertySource(org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public IItemPropertySource getIItemPropertySource(EObject eObject) {
+ final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(eObject);
+ IItemPropertySource propertySource;
+ if (editingDomain != null && AdapterFactoryEditingDomain.class.isInstance(editingDomain)) {
+ propertySource = (IItemPropertySource) AdapterFactoryEditingDomain.class.cast(editingDomain)
+ .getAdapterFactory().adapt(eObject, IItemPropertySource.class);
+ } else {
+ final ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
+ new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
+ // new CustomReflectiveItemProvider(), <-- move to common bundle,
+ // then remove the ReflectiveItemProviderAdapterFactory
+ new ReflectiveItemProviderAdapterFactory()
+ });
+ propertySource = (IItemPropertySource) composedAdapterFactory.adapt(eObject, IItemPropertySource.class);
+ composedAdapterFactory.dispose();
+ }
+
+ return propertySource;
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.core.services.emfspecificservice/src/org/eclipse/emfforms/spi/core/services/emfspecificservice/EMFSpecificService.java b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/src/org/eclipse/emfforms/spi/core/services/emfspecificservice/EMFSpecificService.java
new file mode 100644
index 0000000..4379bf6
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.emfspecificservice/src/org/eclipse/emfforms/spi/core/services/emfspecificservice/EMFSpecificService.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.core.services.emfspecificservice;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+
+/**
+ * The {@link EMFSpecificService} offers EMF specific functionality. Thereby, it provides the following things:
+ * <ul>
+ * <li>{@link AdapterFactoryItemDelegator}</li>
+ * <li>{@link ComposedAdapterFactory}</li>
+ * <ul>
+ *
+ * @author Lucas Koehler
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ * @noreference This method is not intended to be referenced by clients.
+ */
+public interface EMFSpecificService {
+ // /**
+ // * Returns a {@link ComposedAdapterFactory}.
+ // *
+ // * @return The {@link ComposedAdapterFactory}
+ // */
+ // ComposedAdapterFactory getComposedAdapterFactory();
+ //
+ // /**
+ // * Returns a {@link AdapterFactoryItemDelegator}.
+ // *
+ // * @return The {@link AdapterFactoryItemDelegator}
+ // */
+ // AdapterFactoryItemDelegator getAdapterFactoryItemDelegator();
+
+ IItemPropertyDescriptor getIItemPropertyDescriptor(EObject eObject, EStructuralFeature eStructuralFeature);
+
+ IItemPropertySource getIItemPropertySource(EObject eObject);
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle b/bundles/org.eclipse.emfforms.core.services.locale.default/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle
copy to bundles/org.eclipse.emfforms.core.services.locale.default/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/bundles/org.eclipse.emfforms.core.services.locale.default/.classpath
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
rename to bundles/org.eclipse.emfforms.core.services.locale.default/.classpath
diff --git a/bundles/org.eclipse.emfforms.core.services.locale.default/.project b/bundles/org.eclipse.emfforms.core.services.locale.default/.project
new file mode 100644
index 0000000..675cce9
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.locale.default/.project
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.core.services.locale.default</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs
copy to bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs
rename to bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.core.services.locale.default/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services.locale.default/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services.locale.default/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..40c5dfe
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.locale.default/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms Default Locale Provider
+Bundle-SymbolicName: org.eclipse.emfforms.core.services.locale.default
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Service-Component: OSGI-INF/defaultLocalizationService.xml
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.core.services.locale.defaultlocale;version="1.6.0"
+Import-Package: org.eclipse.emfforms.spi.common.locale;version="[1.6.0,2.0.0)"
diff --git a/bundles/org.eclipse.emfforms.core.services.locale.default/OSGI-INF/defaultLocalizationService.xml b/bundles/org.eclipse.emfforms.core.services.locale.default/OSGI-INF/defaultLocalizationService.xml
new file mode 100644
index 0000000..99dafd4
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.locale.default/OSGI-INF/defaultLocalizationService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.localization.default">
+ <implementation class="org.eclipse.emfforms.internal.core.services.locale.defaultlocale.DefaultLocaleProvider"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/about.html b/bundles/org.eclipse.emfforms.core.services.locale.default/about.html
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/about.html
rename to bundles/org.eclipse.emfforms.core.services.locale.default/about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties b/bundles/org.eclipse.emfforms.core.services.locale.default/build.properties
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties
copy to bundles/org.eclipse.emfforms.core.services.locale.default/build.properties
diff --git a/bundles/org.eclipse.emfforms.core.services.locale.default/pom.xml b/bundles/org.eclipse.emfforms.core.services.locale.default/pom.xml
new file mode 100644
index 0000000..5d33346
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.locale.default/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emfforms.core.services.locale.default</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/bundles/org.eclipse.emfforms.core.services.locale.default/src/org/eclipse/emfforms/internal/core/services/locale/defaultlocale/DefaultLocaleProvider.java b/bundles/org.eclipse.emfforms.core.services.locale.default/src/org/eclipse/emfforms/internal/core/services/locale/defaultlocale/DefaultLocaleProvider.java
new file mode 100644
index 0000000..2ad087f
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services.locale.default/src/org/eclipse/emfforms/internal/core/services/locale/defaultlocale/DefaultLocaleProvider.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.locale.defaultlocale;
+
+import java.util.Locale;
+
+import org.eclipse.emfforms.spi.common.locale.AbstractEMFFormsLocaleProvider;
+
+/**
+ * EMFFormsLocaleProvider that works on the default {@link Locale}.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class DefaultLocaleProvider extends AbstractEMFFormsLocaleProvider {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider#getLocale()
+ */
+ @Override
+ public Locale getLocale() {
+ return Locale.getDefault();
+ }
+
+ /**
+ * Method to update the locale.
+ *
+ * @param newLocale The new Locale
+ */
+ public void setLocale(Locale newLocale) {
+ Locale.setDefault(newLocale);
+ notifyListeners();
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle b/bundles/org.eclipse.emfforms.core.services/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle
copy to bundles/org.eclipse.emfforms.core.services/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.classpath b/bundles/org.eclipse.emfforms.core.services/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.classpath
copy to bundles/org.eclipse.emfforms.core.services/.classpath
diff --git a/bundles/org.eclipse.emfforms.core.services/.gitignore b/bundles/org.eclipse.emfforms.core.services/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emfforms.core.services/.project b/bundles/org.eclipse.emfforms.core.services/.project
new file mode 100644
index 0000000..e9e2a9b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.core.services</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..66c53c1
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.core.services/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.core.services/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.core.services/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..c1e926c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms Core Services
+Bundle-SymbolicName: org.eclipse.emfforms.core.services
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0",
+ org.eclipse.emfforms.spi.core.services.label;version="1.6.0"
+Import-Package: org.eclipse.core.databinding.observable.list;version="0.0.0",
+ org.eclipse.core.databinding.observable.value;version="0.0.0",
+ org.eclipse.core.databinding.property.list;version="0.0.0",
+ org.eclipse.core.databinding.property.value;version="0.0.0",
+ org.eclipse.emf.ecore;version="0.0.0",
+ org.eclipse.emf.ecp.view.spi.model;version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0"
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.6.0,2.0.0)";visibility:=reexport,
+ org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emfforms.common;bundle-version="[1.6.0,2.0.0)";visibility:=reexport,
+ org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)";visibility:=reexport
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/about.html b/bundles/org.eclipse.emfforms.core.services/about.html
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/about.html
copy to bundles/org.eclipse.emfforms.core.services/about.html
diff --git a/bundles/org.eclipse.emfforms.core.services/build.properties b/bundles/org.eclipse.emfforms.core.services/build.properties
new file mode 100644
index 0000000..9cbab3c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services/build.properties
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html
+src.includes = about.html
diff --git a/bundles/org.eclipse.emfforms.core.services/pom.xml b/bundles/org.eclipse.emfforms.core.services/pom.xml
new file mode 100644
index 0000000..cb31049
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emfforms.core.services</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/databinding/DatabindingFailedException.java b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/databinding/DatabindingFailedException.java
new file mode 100644
index 0000000..cb6bbfc
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/databinding/DatabindingFailedException.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.core.services.databinding;
+
+/**
+ * A checked {@link Exception} that is thrown by the {@link EMFFormsDatabinding databinding service} when the
+ * databinding fails.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class DatabindingFailedException extends Exception {
+
+ private static final long serialVersionUID = -6546814649353012826L;
+
+ /**
+ * Creates a new {@link DatabindingFailedException}.
+ *
+ * @param message The message of the Exception
+ */
+ public DatabindingFailedException(String message) {
+ super(message);
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/databinding/DatabindingFailedReport.java b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/databinding/DatabindingFailedReport.java
new file mode 100644
index 0000000..53069c9
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/databinding/DatabindingFailedReport.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.core.services.databinding;
+
+import java.text.MessageFormat;
+
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+
+/**
+ * A rendering report indicating that the databinding is not possible due to an exception.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class DatabindingFailedReport extends AbstractReport {
+
+ /**
+ * Constructor.
+ *
+ * @param exception
+ * the underlying exception
+ */
+ public DatabindingFailedReport(Throwable exception) {
+ super(exception,
+ MessageFormat.format("Databinding not possible due to: {0}.", //$NON-NLS-1$
+ exception.getMessage()));
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/databinding/DomainModelReferenceConverter.java b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/databinding/DomainModelReferenceConverter.java
new file mode 100644
index 0000000..75d801c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/databinding/DomainModelReferenceConverter.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.core.services.databinding;
+
+import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+
+/**
+ * Converts a {@link VDomainModelReference} to a {@link IValueProperty}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public interface DomainModelReferenceConverter {
+
+ /**
+ * The constant defining the priority that a {@link DomainModelReferenceConverter} is not for a
+ * {@link VDomainModelReference}.
+ */
+ double NOT_APPLICABLE = Double.NEGATIVE_INFINITY;
+
+ /**
+ * Checks whether the given {@link VDomainModelReference} can be converted by this
+ * {@link DomainModelReferenceConverter} to a {@link IValueProperty}. The return value is the priority of this
+ * converter. The higher the priority, the better suits the converter the given {@link VDomainModelReference}.
+ *
+ * @param domainModelReference The {@link VDomainModelReference} whose priority is wanted.
+ * @return The priority of the given {@link VDomainModelReference}; negative infinity if this converter is not
+ * applicable.
+ */
+ double isApplicable(VDomainModelReference domainModelReference);
+
+ /**
+ * Converts a {@link VDomainModelReference} to a {@link IValueProperty}.
+ *
+ * @param domainModelReference The {@link VDomainModelReference} that will be converted to a {@link IValueProperty}
+ * @param object The root object of the rendered form
+ * @return The created {@link IValueProperty}, does not return <code>null</code>.
+ * @throws DatabindingFailedException if no value property could be created due to an invalid
+ * {@link VDomainModelReference}.
+ */
+ IValueProperty convertToValueProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException;
+
+ /**
+ * Converts a {@link VDomainModelReference} to an {@link IListProperty}.
+ *
+ * @param domainModelReference The {@link VDomainModelReference} that will be converted to an {@link IListProperty}
+ * @param object The root object of the rendered form
+ * @return The created {@link IListProperty}, does not return <code>null</code>.
+ * @throws DatabindingFailedException if no value property could be created due to an invalid
+ * {@link VDomainModelReference}.
+ */
+ IListProperty convertToListProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException;
+}
diff --git a/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/databinding/EMFFormsDatabinding.java b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/databinding/EMFFormsDatabinding.java
new file mode 100644
index 0000000..efe2697
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/databinding/EMFFormsDatabinding.java
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.core.services.databinding;
+
+import org.eclipse.core.databinding.observable.list.IObservableList;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+
+/**
+ * {@link EMFFormsDatabinding} provides a databinding service. It provides four methods for getting an
+ * {@link IValueProperty} or an {@link IListProperty} from a {@link VDomainModelReference} and getting an
+ * {@link IObservableValue} or an {@link IObservableList} from a {@link VDomainModelReference} and an {@link EObject}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public interface EMFFormsDatabinding {
+
+ /**
+ * Returns an {@link IObservableValue} by observing the value described by the given {@link VDomainModelReference}
+ * of the given {@link EObject}.
+ *
+ * @param domainModelReference The domain model reference pointing to the desired value
+ * @param object The object containing the value of the reference
+ * @return The resulting {@link IObservableValue}, does not return <code>null</code>.
+ * @throws DatabindingFailedException if the databinding could not be executed successfully.
+ */
+ IObservableValue getObservableValue(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException;
+
+ /**
+ * Returns an {@link IObservableList} by observing the list described by the given {@link VDomainModelReference} of
+ * the given {@link EObject}.
+ *
+ * @param domainModelReference The domain model reference pointing to the desired list
+ * @param object The object containing the values of the reference
+ * @return The resulting {@link IObservableList}, does not return <code>null</code>
+ * @throws DatabindingFailedException if the databinding could not be executed successfully.
+ */
+ IObservableList getObservableList(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException;
+
+ /**
+ * Returns an {@link IValueProperty} described by the given {@link VDomainModelReference}.
+ *
+ * @param domainModelReference The domain model reference pointing to the desired value
+ * @param object The root object of the rendered form
+ * @return The resulting {@link IValueProperty}, does not return <code>null</code>.
+ * @throws DatabindingFailedException if the databinding could not be executed successfully.
+ */
+ IValueProperty getValueProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException;
+
+ /**
+ * Returns an {@link IListProperty} described by the given {@link VDomainModelReference}.
+ *
+ * @param domainModelReference The domain model reference pointing to the desired list
+ * @param object The root object of the rendered form
+ * @return The resulting {@link IListProperty}, does not return <code>null</code>.
+ * @throws DatabindingFailedException if the databinding could not be executed successfully.
+ */
+ IListProperty getListProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException;
+}
diff --git a/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/label/EMFFormsLabelProvider.java b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/label/EMFFormsLabelProvider.java
new file mode 100644
index 0000000..99b29ba
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/label/EMFFormsLabelProvider.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.core.services.label;
+
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+
+/**
+ * The {@link EMFFormsLabelProvider} offers methods to get the display name and the description
+ * for a model object referenced by a {@link VDomainModelReference} as an IObservableValue. The reference can optionally
+ * be complemented by an {@link EObject} which is the root object of the {@link VDomainModelReference}. This enables to
+ * get the texts for a
+ * concrete instance.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public interface EMFFormsLabelProvider {
+
+ /**
+ * Returns the display name of the referenced domain object.
+ *
+ * @param domainModelReference The {@link VDomainModelReference} referencing the domain object
+ * @return The display name as an {@link IObservableValue}
+ * @throws NoLabelFoundException if the display name cannot be retrieved
+ */
+ IObservableValue getDisplayName(VDomainModelReference domainModelReference) throws NoLabelFoundException;
+
+ /**
+ * Returns the display name of the referenced domain object resolved for the given root {@link EObject}.
+ *
+ * @param domainModelReference The {@link VDomainModelReference} referencing the domain object
+ * @param rootObject The root {@link EObject} which is used to resolve the given {@link VDomainModelReference}
+ * @return The display name as an {@link IObservableValue}
+ * @throws NoLabelFoundException if the display name cannot be retrieved
+ */
+ IObservableValue getDisplayName(VDomainModelReference domainModelReference, EObject rootObject)
+ throws NoLabelFoundException;
+
+ /**
+ * Returns the description of the referenced domain object.
+ *
+ * @param domainModelReference The {@link VDomainModelReference} referencing the model object
+ * @return The description as an {@link IObservableValue}
+ * @throws NoLabelFoundException if the description cannot be retrieved
+ */
+ IObservableValue getDescription(VDomainModelReference domainModelReference) throws NoLabelFoundException;
+
+ /**
+ * Returns the description of the referenced domain object resolved for the given root {@link EObject}.
+ *
+ * @param domainModelReference The {@link VDomainModelReference} referencing the model object
+ * @param rootObject The root {@link EObject} which is used to resolve the given {@link VDomainModelReference}
+ * @return The description as an {@link IObservableValue}
+ * @throws NoLabelFoundException if the description cannot be retrieved
+ */
+ IObservableValue getDescription(VDomainModelReference domainModelReference, EObject rootObject)
+ throws NoLabelFoundException;
+}
diff --git a/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/label/NoLabelFoundException.java b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/label/NoLabelFoundException.java
new file mode 100644
index 0000000..97df735
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.core.services/src/org/eclipse/emfforms/spi/core/services/label/NoLabelFoundException.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.core.services.label;
+
+/**
+ * Exception used when no label could be found.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class NoLabelFoundException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Default constructor.
+ *
+ * @param exception The root {@link Exception}.
+ */
+ public NoLabelFoundException(Exception exception) {
+ super(exception.getMessage(), exception);
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle b/bundles/org.eclipse.emfforms.localization/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle
copy to bundles/org.eclipse.emfforms.localization/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.classpath b/bundles/org.eclipse.emfforms.localization/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.classpath
copy to bundles/org.eclipse.emfforms.localization/.classpath
diff --git a/bundles/org.eclipse.emfforms.localization/.project b/bundles/org.eclipse.emfforms.localization/.project
new file mode 100644
index 0000000..0954e51
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.localization/.project
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.localization</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.wuetherich.osgi.ds.annotations.dsAnnotationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.core.prefs
copy to bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.localization/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.localization/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.localization/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..a3248d5
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.localization/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMF Forms Localization
+Bundle-SymbolicName: org.eclipse.emfforms.localization
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Import-Package: org.eclipse.emfforms.spi.common.locale;version="1.6.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.osgi.service.localization;version="[1.1.0,2.0.0)",
+ org.osgi.framework;version="[1.3.0,2.0.0)",
+ org.osgi.service.component.annotations;version="1.2.0",
+ org.osgi.service.log;version="[1.3.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.localization;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.spi.localization;version="1.6.0"
+Service-Component: OSGI-INF/localizationService.xml
diff --git a/bundles/org.eclipse.emfforms.localization/OSGI-INF/localizationService.xml b/bundles/org.eclipse.emfforms.localization/OSGI-INF/localizationService.xml
new file mode 100644
index 0000000..0be2549
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.localization/OSGI-INF/localizationService.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/localization/EMFFormsLocalizationServiceImpl.java]-->
+<scr:component name="localizationService" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+ <implementation class="org.eclipse.emfforms.internal.localization.EMFFormsLocalizationServiceImpl"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService"/>
+ </service>
+ <reference name="EMFFormsLocaleProvider" interface="org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider" cardinality="0..1" policy="dynamic" bind="setEMFFormsLocaleProvider" unbind="unsetEMFFormsLocaleProvider"/>
+ <reference name="BundleLocalization" interface="org.eclipse.osgi.service.localization.BundleLocalization" bind="setBundleLocalization"/>
+ <reference name="ReportService" interface="org.eclipse.emfforms.spi.common.report.ReportService" bind="setReportService"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/about.html b/bundles/org.eclipse.emfforms.localization/about.html
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/about.html
copy to bundles/org.eclipse.emfforms.localization/about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties b/bundles/org.eclipse.emfforms.localization/build.properties
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties
copy to bundles/org.eclipse.emfforms.localization/build.properties
diff --git a/bundles/org.eclipse.emfforms.localization/pom.xml b/bundles/org.eclipse.emfforms.localization/pom.xml
new file mode 100644
index 0000000..d40af68
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.localization/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emfforms.localization</artifactId>
+<packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emfforms.localization/src/org/eclipse/emfforms/internal/localization/EMFFormsLocalizationServiceImpl.java b/bundles/org.eclipse.emfforms.localization/src/org/eclipse/emfforms/internal/localization/EMFFormsLocalizationServiceImpl.java
new file mode 100644
index 0000000..f8067da
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.localization/src/org/eclipse/emfforms/internal/localization/EMFFormsLocalizationServiceImpl.java
@@ -0,0 +1,165 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.localization;
+
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
+import org.eclipse.osgi.service.localization.BundleLocalization;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
+
+/**
+ * Service Implementation for retrieving translated Strings.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+@Component(name = "localizationService")
+public class EMFFormsLocalizationServiceImpl implements EMFFormsLocalizationService {
+
+ private EMFFormsLocaleProvider localeProvider;
+ private BundleLocalization bundleLocalization;
+ private ReportService reportService;
+
+ /**
+ * Called by the framework to set the EMFFormsLocaleProvider.
+ *
+ * @param localeProvider The {@link EMFFormsLocaleProvider}
+ */
+ @Reference(cardinality = ReferenceCardinality.OPTIONAL, policy = ReferencePolicy.DYNAMIC)
+ protected void setEMFFormsLocaleProvider(EMFFormsLocaleProvider localeProvider) {
+ this.localeProvider = localeProvider;
+ }
+
+ /**
+ * Called by the framework to unset the EMFFormsLocaleProvider.
+ *
+ * @param localeProvider The {@link EMFFormsLocaleProvider}
+ */
+ protected void unsetEMFFormsLocaleProvider(EMFFormsLocaleProvider localeProvider) {
+ this.localeProvider = null;
+ }
+
+ /**
+ * Called by the framework to set the BundleLocalization.
+ *
+ * @param bundleLocalization The {@link BundleLocalization}
+ */
+ @Reference
+ protected void setBundleLocalization(BundleLocalization bundleLocalization) {
+ this.bundleLocalization = bundleLocalization;
+ }
+
+ /**
+ * Called by the framework to set the ReportService.
+ *
+ * @param reportService The {@link ReportService}
+ */
+ @Reference
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService#getString(java.lang.Class,
+ * java.lang.String)
+ */
+ @Override
+ public String getString(Class<?> clazz, String key) {
+ return getString(FrameworkUtil.getBundle(clazz), key);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService#getString(org.osgi.framework.Bundle,
+ * java.lang.String)
+ */
+ @Override
+ public String getString(Bundle bundle, String key) {
+ return getString(bundle, getLocale(), key);
+ }
+
+ private String getLocale() {
+ if (localeProvider == null) {
+ return null;
+ }
+ final Locale result = localeProvider.getLocale();
+ return result.getLanguage();
+ }
+
+ private String getString(Bundle bundle, String localeLanguage, String key) {
+ final ResourceBundle resourceBundle = bundleLocalization.getLocalization(bundle, localeLanguage);
+ if (resourceBundle == null) {
+ reportService
+ .report(new AbstractReport(
+ String
+ .format(
+ "No ResourceBundle found for Language '%1$s' in Bundle %2$s with Version %3$s.", localeLanguage, bundle.getSymbolicName(), bundle.getVersion().toString()))); //$NON-NLS-1$
+ return key;
+ }
+ if (!resourceBundle.containsKey(key)) {
+ reportService
+ .report(new AbstractReport(
+ String
+ .format(
+ "The ResourceBundle for Language '%1$s' in Bundle %2$s with Version %3$s doesn't contain the key '%4$s'.", localeLanguage, bundle.getSymbolicName(), bundle.getVersion().toString(), key))); //$NON-NLS-1$
+ return key;
+ }
+ return resourceBundle.getString(key);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService#hasKey(org.osgi.framework.Bundle,
+ * java.lang.String)
+ */
+ @Override
+ public boolean hasKey(Bundle bundle, String key) {
+ return hasKey(bundle, getLocale(), key);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService#hasKey(java.lang.Class, java.lang.String)
+ */
+ @Override
+ public boolean hasKey(Class<?> clazz, String key) {
+ return hasKey(FrameworkUtil.getBundle(clazz), key);
+ }
+
+ private boolean hasKey(Bundle bundle, String localeLanguage, String key) {
+ final ResourceBundle resourceBundle = bundleLocalization.getLocalization(bundle, localeLanguage);
+ if (resourceBundle == null) {
+ reportService
+ .report(new AbstractReport(
+ String
+ .format(
+ "No ResourceBundle found for Language '%1$s' in Bundle %2$s with Version %3$s.", localeLanguage, bundle.getSymbolicName(), bundle.getVersion().toString()))); //$NON-NLS-1$
+ return false;
+ }
+ return resourceBundle.containsKey(key);
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.localization/src/org/eclipse/emfforms/spi/localization/EMFFormsLocalizationService.java b/bundles/org.eclipse.emfforms.localization/src/org/eclipse/emfforms/spi/localization/EMFFormsLocalizationService.java
new file mode 100644
index 0000000..c5d6a2d
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.localization/src/org/eclipse/emfforms/spi/localization/EMFFormsLocalizationService.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.localization;
+
+import org.osgi.framework.Bundle;
+
+/**
+ * Service for retrieving translated Strings.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public interface EMFFormsLocalizationService {
+ /**
+ * Return the String for the provided key.
+ *
+ * @param bundle The bundle which provides the translated strings
+ * @param key The key of the string
+ * @return The translated key
+ */
+ String getString(Bundle bundle, String key);
+
+ /**
+ * Return the String for the provided key.
+ *
+ * @param clazz The class which needs a translated string
+ * @param key The key of the string
+ * @return The translated key
+ */
+ String getString(Class<?> clazz, String key);
+
+ /**
+ * Return whether the key in question is available.
+ *
+ * @param bundle The bundle in which to search for the key
+ * @param key The key to search
+ * @return true if the key is available in the bundle, false otherwise
+ */
+ boolean hasKey(Bundle bundle, String key);
+
+ /**
+ * Return whether the key in question is available.
+ *
+ * @param clazz The class in whose bundle to search for the key
+ * @param key The key to search
+ * @return true if the key is available in the bundle, false otherwise
+ */
+ boolean hasKey(Class<?> clazz, String key);
+}
diff --git a/bundles/org.eclipse.emfforms.localization/src/org/eclipse/emfforms/spi/localization/LocalizationServiceHelper.java b/bundles/org.eclipse.emfforms.localization/src/org/eclipse/emfforms/spi/localization/LocalizationServiceHelper.java
new file mode 100644
index 0000000..2cf3c9b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.localization/src/org/eclipse/emfforms/spi/localization/LocalizationServiceHelper.java
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.localization;
+
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * Helper class for retrieving translated strings.
+ *
+ * @author Eugen Neufeld
+ */
+public final class LocalizationServiceHelper {
+
+ private static LocalizationServiceHelper instance;
+
+ private static LocalizationServiceHelper getInstance() {
+ if (instance == null) {
+ instance = new LocalizationServiceHelper();
+ }
+ return instance;
+ }
+
+ private final BundleContext bundleContext;
+
+ private LocalizationServiceHelper() {
+ bundleContext = FrameworkUtil.getBundle(LocalizationServiceHelper.class)
+ .getBundleContext();
+ }
+
+ private String innerGetString(Bundle bundle, String key) {
+ final ServiceReference<EMFFormsLocalizationService> serviceReference = bundleContext
+ .getServiceReference(EMFFormsLocalizationService.class);
+ if (serviceReference == null) {
+ return null;
+ }
+ final EMFFormsLocalizationService localeProvider = bundleContext.getService(serviceReference);
+ final String result = localeProvider.getString(bundle, key);
+ bundleContext.ungetService(serviceReference);
+ return result;
+ }
+
+ private String innerGetString(Class<?> clazz, String key) {
+ final ServiceReference<EMFFormsLocalizationService> serviceReference = bundleContext
+ .getServiceReference(EMFFormsLocalizationService.class);
+ if (serviceReference == null) {
+ return null;
+ }
+ final EMFFormsLocalizationService localeProvider = bundleContext.getService(serviceReference);
+ final String result = localeProvider.getString(clazz, key);
+ bundleContext.ungetService(serviceReference);
+ return result;
+ }
+
+ /**
+ * Return the String for the provided key.
+ *
+ * @param bundle The bundle which provides the translated strings
+ * @param key The key of the string
+ * @return The translated key
+ */
+ public static String getString(Bundle bundle, String key) {
+ return getInstance().innerGetString(bundle, key);
+ }
+
+ /**
+ * Return the String for the provided key.
+ *
+ * @param clazz The class which needs a translated string
+ * @param key The key of the string
+ * @return The translated key
+ */
+ public static String getString(Class<?> clazz, String key) {
+ return getInstance().innerGetString(clazz, key);
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle
copy to bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.classpath
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.project b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.project
new file mode 100644
index 0000000..85a96ee
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.swt.control.text.autocomplete</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.wuetherich.osgi.ds.annotations.dsAnnotationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..66c53c1
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.swt.control.text.autocomplete/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..6598712
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/META-INF/MANIFEST.MF
@@ -0,0 +1,31 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms SWT Text Control with Autocomplete
+Bundle-SymbolicName: org.eclipse.emfforms.swt.control.text.autocomplete
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Export-Package: org.eclipse.emfforms.internal.swt.control.text.autocomplete;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.spi.swt.control.text.autocomplete.viewservice;version="1.6.0"
+Require-Bundle: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Service-Component: OSGI-INF/org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer.AutocompleteTextControlSWTRendererService.xml
+Import-Package: javax.inject;version="0.0.0",
+ org.eclipse.jface.databinding.swt;version="0.0.0",
+ org.eclipse.jface.databinding.viewers;version="0.0.0",
+ org.eclipse.jface.fieldassist;version="0.0.0",
+ org.eclipse.jface.viewers;version="0.0.0",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="0.0.0",
+ org.osgi.service.component.annotations;version="0.0.0";resolution:=optional
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..c8451bc
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2013-2015 EclipseSource.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# EclipseSource - initial API and implementation
+################################################################################
+
+AutocompleteTextControlSWTRenderer_Set=No text set\! Click to set text.
\ No newline at end of file
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/OSGI-INF/org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer.AutocompleteTextControlSWTRendererService.xml b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/OSGI-INF/org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer.AutocompleteTextControlSWTRendererService.xml
new file mode 100644
index 0000000..c46d44a
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/OSGI-INF/org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer.AutocompleteTextControlSWTRendererService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRendererService.java]-->
+<scr:component name="org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer.AutocompleteTextControlSWTRendererService" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+ <implementation class="org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer.AutocompleteTextControlSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+ <reference name="Databinding" interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding" bind="setDatabinding"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/about.html b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/about.html
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/about.html
copy to bundles/org.eclipse.emfforms.swt.control.text.autocomplete/about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.ini b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/about.ini
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.ini
copy to bundles/org.eclipse.emfforms.swt.control.text.autocomplete/about.ini
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/about.mappings b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/about.mappings
new file mode 100644
index 0000000..f2954d5
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+0=${BUILD_ID}
\ No newline at end of file
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/build.properties b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/build.properties
new file mode 100644
index 0000000..b0a27d9
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/build.properties
@@ -0,0 +1,10 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html,\
+ OSGI-INF/,\
+ about.ini,\
+ about.mappings,\
+ modeling32.png
+src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/modeling32.png b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/modeling32.png
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/modeling32.png
copy to bundles/org.eclipse.emfforms.swt.control.text.autocomplete/modeling32.png
Binary files differ
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/pom.xml b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/pom.xml
new file mode 100644
index 0000000..3a9406d
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emfforms.swt.control.text.autocomplete</artifactId>
+<packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/MessageKeys.java b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/MessageKeys.java
new file mode 100644
index 0000000..e8d9f65
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/MessageKeys.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.control.text.autocomplete;
+
+/**
+ * Keys for translated strings.
+ *
+ * @author jfaltermeier
+ * @generated
+ */
+public interface MessageKeys {
+
+ String AutocompleteTextControlSWTRenderer_Set = "AutocompleteTextControlSWTRenderer_Set"; //$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRenderer.java b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRenderer.java
new file mode 100644
index 0000000..8bc68c6
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRenderer.java
@@ -0,0 +1,136 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer;
+
+import java.util.Collections;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import org.eclipse.core.databinding.Binding;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.internal.swt.control.text.autocomplete.MessageKeys;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.eclipse.emfforms.spi.swt.control.text.autocomplete.viewservice.AutocompleteViewModelService;
+import org.eclipse.jface.databinding.swt.ISWTObservableValue;
+import org.eclipse.jface.databinding.swt.SWTObservables;
+import org.eclipse.jface.fieldassist.AutoCompleteField;
+import org.eclipse.jface.fieldassist.ComboContentAdapter;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.ComboViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * The text control renderer allows to enter text while given autocompletion proposals. Moreover it is possible to
+ * select a proposed value from a combo box.
+ *
+ * @author jfaltermeier
+ *
+ */
+public class AutocompleteTextControlSWTRenderer extends SimpleControlJFaceViewerSWTRenderer {
+
+ /**
+ * Constructs a new {@link AutocompleteViewModelService}.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ */
+ @Inject
+ public AutocompleteTextControlSWTRenderer(
+ VControl vElement,
+ ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding,
+ EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer#createBindings(org.eclipse.jface.viewers.Viewer)
+ */
+ @Override
+ protected Binding[] createBindings(Viewer viewer) throws DatabindingFailedException {
+ final ISWTObservableValue targetObservable = SWTObservables
+ .observeText(ComboViewer.class.cast(viewer).getCombo());
+ final IObservableValue modelObservable = getModelValue();
+ final Binding binding = getDataBindingContext().bindValue(targetObservable, modelObservable);
+ return new Binding[] { binding };
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer#createJFaceViewer(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Viewer createJFaceViewer(Composite parent) throws DatabindingFailedException {
+ final ComboViewer combo = new ComboViewer(parent, SWT.DROP_DOWN);
+ combo.setContentProvider(ArrayContentProvider.getInstance());
+ combo.setInput(getProposals());
+ new AutoCompleteField(
+ combo.getCombo(),
+ new ComboContentAdapter(),
+ combo.getCombo().getItems());
+ return combo;
+ }
+
+ /**
+ * Returns the list of proposals.
+ *
+ * @return the list
+ * @throws DatabindingFailedException in case the model value could not be created
+ */
+ List<String> getProposals() throws DatabindingFailedException {
+ final AutocompleteViewModelService service = getViewModelContext()
+ .getService(AutocompleteViewModelService.class);
+ if (service == null) {
+ /* reported by #getService(Class) */
+ return Collections.emptyList();
+ }
+ final IObservableValue modelValue = getModelValue();
+ final EObject object = EObject.class.cast(IObserving.class.cast(modelValue).getObserved());
+ final EAttribute attribute = EAttribute.class.cast(modelValue.getValueType());
+ /* do not dispose the model value here, since future calls to #getModelValue will return a disposed observale */
+ return service.getProposals(object, attribute);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#getUnsetText()
+ */
+ @Override
+ protected String getUnsetText() {
+ return LocalizationServiceHelper.getString(getClass(), MessageKeys.AutocompleteTextControlSWTRenderer_Set);
+ }
+
+}
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRendererService.java b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRendererService.java
new file mode 100644
index 0000000..ed1c4cb
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRendererService.java
@@ -0,0 +1,130 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer;
+
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+
+/**
+ * {@link EMFFormsDIRendererService Renderer service} for the {@link AutocompleteTextControlSWTRenderer}.
+ *
+ * @author jfaltermeier
+ *
+ */
+@Component
+public class AutocompleteTextControlSWTRendererService implements EMFFormsDIRendererService<VControl> {
+
+ private static final String ANNOTATION_SOURCE = "org.eclipse.emfforms"; //$NON-NLS-1$
+ private static final String ANNOTATION_KEY = "autocomplete"; //$NON-NLS-1$
+ private static final String ANNOTATION_VALUE = "true"; //$NON-NLS-1$
+
+ private EMFFormsDatabinding databinding;
+
+ /**
+ * Sets the {@link EMFFormsDatabinding} service.
+ *
+ * @param databinding service
+ */
+ @Reference
+ public void setDatabinding(EMFFormsDatabinding databinding) {
+ this.databinding = databinding;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ try {
+ if (!VControl.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+
+ final VControl control = VControl.class.cast(vElement);
+
+ if (control.getDomainModelReference() == null) {
+ return NOT_APPLICABLE;
+ }
+
+ final IObservableValue modelValue = databinding.getObservableValue(control.getDomainModelReference(),
+ viewModelContext.getDomainModel());
+ final EStructuralFeature feature = EStructuralFeature.class.cast(modelValue.getValueType());
+ modelValue.dispose();
+
+ if (feature.isMany()) {
+ return NOT_APPLICABLE;
+ }
+
+ if (!EAttribute.class.isInstance(feature)) {
+ return NOT_APPLICABLE;
+ }
+
+ final EAttribute attribute = EAttribute.class.cast(feature);
+ final Class<?> instanceClass = attribute.getEAttributeType().getInstanceClass();
+ if (instanceClass == null) {
+ return NOT_APPLICABLE;
+ }
+
+ if (!String.class.isAssignableFrom(instanceClass)) {
+ return NOT_APPLICABLE;
+ }
+
+ if (!hasAutoCompleteAnnotation(feature)) {
+ return NOT_APPLICABLE;
+ }
+
+ } catch (final DatabindingFailedException ex) {
+ return NOT_APPLICABLE;
+ }
+
+ return 3;
+ }
+
+ /**
+ * Checks whether the given feature has an autocomplete annotation which is set to true.
+ *
+ * @param feature the feature to check
+ * @return <code>true</code> if autocomplete should be used, <code>false</code> othwise
+ */
+ boolean hasAutoCompleteAnnotation(EStructuralFeature feature) {
+ final String annotation = EcoreUtil.getAnnotation(feature, ANNOTATION_SOURCE, ANNOTATION_KEY);
+ if (annotation == null) {
+ return false;
+ }
+ return ANNOTATION_VALUE.equalsIgnoreCase(annotation);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VControl>> getRendererClass() {
+ return AutocompleteTextControlSWTRenderer.class;
+ }
+
+}
diff --git a/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/spi/swt/control/text/autocomplete/viewservice/AutocompleteViewModelService.java b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/spi/swt/control/text/autocomplete/viewservice/AutocompleteViewModelService.java
new file mode 100644
index 0000000..1becab9
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.control.text.autocomplete/src/org/eclipse/emfforms/spi/swt/control/text/autocomplete/viewservice/AutocompleteViewModelService.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.control.text.autocomplete.viewservice;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelService;
+
+/**
+ * A {@link ViewModelService} which returns a list of proposals for a setting of an {@link EObject} and an
+ * {@link EAttribute}.
+ *
+ * @author jfaltermeier
+ *
+ */
+public interface AutocompleteViewModelService extends ViewModelService {
+
+ /**
+ * Returns a list of possible values for the given setting. This method is not expected to return <code>null</code>
+ * values.
+ *
+ * @param object the {@link EObject}
+ * @param attribute the {@link EAttribute}
+ * @return a list of proposals for the setting
+ */
+ List<String> getProposals(EObject object, EAttribute attribute);
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle b/bundles/org.eclipse.emfforms.swt.core.di.extension/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle
copy to bundles/org.eclipse.emfforms.swt.core.di.extension/.checkstyle
diff --git a/bundles/org.eclipse.emfforms.swt.core.di.extension/.classpath b/bundles/org.eclipse.emfforms.swt.core.di.extension/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di.extension/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.emfforms.swt.core.di.extension/.project b/bundles/org.eclipse.emfforms.swt.core.di.extension/.project
new file mode 100644
index 0000000..c79e4c1
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di.extension/.project
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.swt.core.di.extension</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.swt.core.di.extension/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.swt.core.di.extension/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.core.di.extension/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..2d46bcd
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di.extension/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: SWT Core DI Extension
+Bundle-SymbolicName: org.eclipse.emfforms.swt.core.di.extension;singleton:=true
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.core.di.extension;version="1.6.0";x-internal:=true
+Service-Component: OSGI-INF/emfFormsDIExtensionRendererFactory.xml
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.swt.core.di.extension/OSGI-INF/emfFormsDIExtensionRendererFactory.xml b/bundles/org.eclipse.emfforms.swt.core.di.extension/OSGI-INF/emfFormsDIExtensionRendererFactory.xml
new file mode 100644
index 0000000..d072f93
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di.extension/OSGI-INF/emfFormsDIExtensionRendererFactory.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.swt.core.di.extension">
+ <implementation class="org.eclipse.emfforms.internal.swt.core.di.extension.EMFFormsDIExtensionRendererFactory"/>
+ <reference bind="setReportService" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService" policy="static"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emfforms.swt.core.di.extension/build.properties b/bundles/org.eclipse.emfforms.swt.core.di.extension/build.properties
new file mode 100644
index 0000000..163cdac
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di.extension/build.properties
@@ -0,0 +1,6 @@
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ OSGI-INF/
+source.. = src/
diff --git a/bundles/org.eclipse.emfforms.swt.core.di.extension/plugin.xml b/bundles/org.eclipse.emfforms.swt.core.di.extension/plugin.xml
new file mode 100644
index 0000000..5f31eea
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di.extension/plugin.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension-point id="org.eclipse.emfforms.swt.core.di.extension.renderers" name="SWT Core DI Renderer Extension" schema="schema/org.eclipse.emfforms.swt.core.di.extension.renderers.exsd"/>
+
+</plugin>
diff --git a/bundles/org.eclipse.emfforms.swt.core.di.extension/pom.xml b/bundles/org.eclipse.emfforms.swt.core.di.extension/pom.xml
new file mode 100644
index 0000000..8394414
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di.extension/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emfforms.swt.core.di.extension</artifactId>
+<packaging>eclipse-plugin</packaging>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/bundles/org.eclipse.emfforms.swt.core.di.extension/schema/org.eclipse.emfforms.swt.core.di.extension.renderers.exsd b/bundles/org.eclipse.emfforms.swt.core.di.extension/schema/org.eclipse.emfforms.swt.core.di.extension.renderers.exsd
new file mode 100644
index 0000000..d4e02e7
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di.extension/schema/org.eclipse.emfforms.swt.core.di.extension.renderers.exsd
@@ -0,0 +1,112 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.emfforms.swt.core.di.extension" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appinfo>
+ <meta.schema plugin="org.eclipse.emfforms.swt.core.di.extension" id="org.eclipse.emfforms.swt.core.di.extension.renderers" name="SWT Core DI Renderer Extension"/>
+ </appinfo>
+ <documentation>
+ This extension point allows to register a renderer to a dependency injection renderer factory by providing the renderer's class and a suitable ECPRendererTester. The renderer is then used to render appropriate VElements.
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appinfo>
+ <meta.element />
+ </appinfo>
+ </annotation>
+ <complexType>
+ <sequence minOccurs="1" maxOccurs="unbounded">
+ <element ref="renderer"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute translatable="true"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="renderer">
+ <complexType>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn="org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer:"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ <attribute name="tester" type="string" use="required">
+ <annotation>
+ <documentation>
+ The ECPRendererTester for the specified renderer.
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.emf.ecp.view.model.common.ECPRendererTester"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="since"/>
+ </appinfo>
+ <documentation>
+ 1.6.0
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="examples"/>
+ </appinfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="apiinfo"/>
+ </appinfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="implementation"/>
+ </appinfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+
+</schema>
diff --git a/bundles/org.eclipse.emfforms.swt.core.di.extension/src/org/eclipse/emfforms/internal/swt/core/di/extension/EMFFormsDIExtensionRendererFactory.java b/bundles/org.eclipse.emfforms.swt.core.di.extension/src/org/eclipse/emfforms/internal/swt/core/di/extension/EMFFormsDIExtensionRendererFactory.java
new file mode 100644
index 0000000..50f652d
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di.extension/src/org/eclipse/emfforms/internal/swt/core/di/extension/EMFFormsDIExtensionRendererFactory.java
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core.di.extension;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.InvalidRegistryObjectException;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+import org.osgi.framework.Bundle;
+
+/**
+ * The {@link EMFFormsDIExtensionRendererFactory} reads the extension point
+ * "org.eclipse.emfforms.swt.core.di.extension.renderers" and provides renderer instances for the registered renderers.
+ * The extension point requires the class of the renderer and the {@link ECPRendererTester} for the renderer.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFFormsDIExtensionRendererFactory extends EMFFormsDIRendererFactory {
+
+ private static final String EXTENSION_POINT_ID = "org.eclipse.emfforms.swt.core.di.extension.renderers"; //$NON-NLS-1$
+
+ /**
+ * Called by the initializer. Reads in the extension point.
+ */
+ protected void activate() {
+ final IConfigurationElement[] configurationElements = Platform.getExtensionRegistry()
+ .getConfigurationElementsFor(EXTENSION_POINT_ID);
+
+ for (final IConfigurationElement configurationElement : configurationElements) {
+ try {
+ final ECPRendererTester rendererTester = (ECPRendererTester) configurationElement
+ .createExecutableExtension("tester"); //$NON-NLS-1$
+
+ final Class<AbstractSWTRenderer<VElement>> rendererClass = loadClass(configurationElement
+ .getContributor().getName(), configurationElement.getAttribute("class")); //$NON-NLS-1$
+
+ final EMFFormsDIRendererService<VElement> rendererService = new EMFFormsDIWrapperRendererService(
+ rendererClass, rendererTester);
+ addEMFFormsDIRendererService(rendererService);
+ } catch (final ClassNotFoundException ex) {
+ getReportService().report(new AbstractReport(ex));
+ } catch (final InvalidRegistryObjectException ex) {
+ getReportService().report(new AbstractReport(ex));
+ } catch (final CoreException ex) {
+ getReportService().report(new AbstractReport(ex));
+ }
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private <T> Class<T> loadClass(String bundleName, String clazz)
+ throws ClassNotFoundException {
+ final Bundle bundle = Platform.getBundle(bundleName);
+ if (bundle == null) {
+ throw new ClassNotFoundException(clazz + bundleName);
+ }
+ return (Class<T>) bundle.loadClass(clazz);
+
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core.di.extension/src/org/eclipse/emfforms/internal/swt/core/di/extension/EMFFormsDIWrapperRendererService.java b/bundles/org.eclipse.emfforms.swt.core.di.extension/src/org/eclipse/emfforms/internal/swt/core/di/extension/EMFFormsDIWrapperRendererService.java
new file mode 100644
index 0000000..ef0b5b3
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di.extension/src/org/eclipse/emfforms/internal/swt/core/di/extension/EMFFormsDIWrapperRendererService.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core.di.extension;
+
+import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * A {@link EMFFormsDIWrapperRendererService} wraps the renderer's class and a corresponding {@link ECPRendererTester}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFFormsDIWrapperRendererService implements EMFFormsDIRendererService<VElement> {
+
+ private final Class<AbstractSWTRenderer<VElement>> rendererClass;
+ private final ECPRendererTester rendererTester;
+
+ /**
+ * Creates a new instance of {@link EMFFormsDIWrapperRendererService}.
+ *
+ * @param rendererClass The class of the renderer of this service
+ * @param rendererTester The {@link ECPRendererTester} for the renderer
+ */
+ public EMFFormsDIWrapperRendererService(Class<AbstractSWTRenderer<VElement>> rendererClass,
+ ECPRendererTester rendererTester) {
+ this.rendererClass = rendererClass;
+ this.rendererTester = rendererTester;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ return rendererTester.isApplicable(vElement, viewModelContext);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VElement>> getRendererClass() {
+ return rendererClass;
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle b/bundles/org.eclipse.emfforms.swt.core.di/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle
copy to bundles/org.eclipse.emfforms.swt.core.di/.checkstyle
diff --git a/bundles/org.eclipse.emfforms.swt.core.di/.classpath b/bundles/org.eclipse.emfforms.swt.core.di/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.emfforms.swt.core.di/.project b/bundles/org.eclipse.emfforms.swt.core.di/.project
new file mode 100644
index 0000000..08d3f87
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.swt.core.di</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.swt.core.di/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.swt.core.di/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.core.di/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..0746fb2
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms SWT Core DI
+Bundle-SymbolicName: org.eclipse.emfforms.swt.core.di;singleton:=true
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.e4.core.contexts;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.e4.core.di;bundle-version="[1.3.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.core.di;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.spi.swt.core.di;version="1.6.0"
+Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)"
+Service-Component: OSGI-INF/emfFormsDIRendererFactory.xml
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.swt.core.di/OSGI-INF/emfFormsDIRendererFactory.xml b/bundles/org.eclipse.emfforms.swt.core.di/OSGI-INF/emfFormsDIRendererFactory.xml
new file mode 100644
index 0000000..4d3206a
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di/OSGI-INF/emfFormsDIRendererFactory.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.swt.core.di">
+ <implementation class="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererFactory"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService"/>
+ </service>
+ <reference bind="addEMFFormsDIRendererService" cardinality="0..n" interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService" name="EMFFormsDIRendererService" policy="dynamic" unbind="removeEMFFormsDIRendererService"/>
+ <reference bind="setReportService" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService" policy="static"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/about.html b/bundles/org.eclipse.emfforms.swt.core.di/about.html
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/about.html
copy to bundles/org.eclipse.emfforms.swt.core.di/about.html
diff --git a/bundles/org.eclipse.emfforms.swt.core.di/build.properties b/bundles/org.eclipse.emfforms.swt.core.di/build.properties
new file mode 100644
index 0000000..bf8b03e
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di/build.properties
@@ -0,0 +1,8 @@
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ OSGI-INF/,\
+ about.html
+source.. = src/
+src.includes = about.html
diff --git a/bundles/org.eclipse.emfforms.swt.core.di/plugin.xml b/bundles/org.eclipse.emfforms.swt.core.di/plugin.xml
new file mode 100644
index 0000000..f92ebf0
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di/plugin.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.emf.ecp.view.context.viewServices">
+ <viewService
+ class="org.eclipse.emfforms.internal.swt.core.di.EMFFormsContextProviderImpl">
+ </viewService>
+ </extension>
+
+</plugin>
diff --git a/bundles/org.eclipse.emfforms.swt.core.di/pom.xml b/bundles/org.eclipse.emfforms.swt.core.di/pom.xml
new file mode 100644
index 0000000..46e96ae
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emfforms.swt.core.di</artifactId>
+<packaging>eclipse-plugin</packaging>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/bundles/org.eclipse.emfforms.swt.core.di/src/org/eclipse/emfforms/internal/swt/core/di/EMFFormsContextProviderImpl.java b/bundles/org.eclipse.emfforms.swt.core.di/src/org/eclipse/emfforms/internal/swt/core/di/EMFFormsContextProviderImpl.java
new file mode 100644
index 0000000..f5cb807
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di/src/org/eclipse/emfforms/internal/swt/core/di/EMFFormsContextProviderImpl.java
@@ -0,0 +1,85 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core.di;
+
+import org.eclipse.e4.core.contexts.EclipseContextFactory;
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsContextProvider;
+import org.osgi.framework.FrameworkUtil;
+
+/**
+ * Basic implementation of {@link EMFFormsContextProvider}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFFormsContextProviderImpl implements EMFFormsContextProvider {
+
+ private IEclipseContext eclipseContext;
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#instantiate(org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public void instantiate(ViewModelContext context) {
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#dispose()
+ */
+ @Override
+ public void dispose() {
+ if (eclipseContext != null) {
+ eclipseContext.dispose();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#getPriority()
+ */
+ @Override
+ public int getPriority() {
+ return 0;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsContextProvider#getContext()
+ */
+ @Override
+ public IEclipseContext getContext() {
+ if (eclipseContext == null) {
+ eclipseContext = EclipseContextFactory.getServiceContext(FrameworkUtil.getBundle(
+ EMFFormsContextProviderImpl.class).getBundleContext());
+ }
+ return eclipseContext;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsContextProvider#setContext(org.eclipse.e4.core.contexts.IEclipseContext)
+ */
+ @Override
+ public void setContext(IEclipseContext eclipseContext) {
+ this.eclipseContext = eclipseContext;
+ }
+
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core.di/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsContextProvider.java b/bundles/org.eclipse.emfforms.swt.core.di/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsContextProvider.java
new file mode 100644
index 0000000..f83b2e2
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsContextProvider.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core.di;
+
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelService;
+
+/**
+ * A {@link EMFFormsContextProvider} is a {@link ViewModelService} that provides and {@link IEclipseContext}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public interface EMFFormsContextProvider extends ViewModelService {
+
+ /**
+ * Returns the {@link IEclipseContext}.
+ *
+ * @return The {@link IEclipseContext}
+ */
+ IEclipseContext getContext();
+
+ /**
+ * Sets the {@link IEclipseContext}.
+ *
+ * @param eclipseContext The {@link IEclipseContext}
+ */
+ void setContext(IEclipseContext eclipseContext);
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core.di/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsDIRendererFactory.java b/bundles/org.eclipse.emfforms.swt.core.di/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsDIRendererFactory.java
new file mode 100644
index 0000000..d13d8d4
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsDIRendererFactory.java
@@ -0,0 +1,163 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core.di;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import org.eclipse.e4.core.contexts.ContextInjectionFactory;
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService;
+
+/**
+ * The {@link EMFFormsDIRendererFactory} provides renderer instances by creating an instance with help of a suitable
+ * {@link EMFFormsDIRendererService}.
+ * It then injects the renderer's required services.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFFormsDIRendererFactory implements EMFFormsRendererService<VElement> {
+
+ private ReportService reportService;
+ private final Set<EMFFormsDIRendererService<VElement>> diRendererServices = new LinkedHashSet<EMFFormsDIRendererService<VElement>>();
+
+ /**
+ * Called by the initializer to add a {@link ReportService}.
+ *
+ * @param reportService The {@link ReportService} to add
+ */
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return The {@link ReportService}
+ */
+ protected ReportService getReportService() {
+ return reportService;
+ }
+
+ /**
+ * Called by the initializer to add an {@link EMFFormsDIRendererService}.
+ *
+ * @param diRendererService The EMFFormsDIRendererService to add
+ */
+ protected void addEMFFormsDIRendererService(EMFFormsDIRendererService<VElement> diRendererService) {
+ diRendererServices.add(diRendererService);
+ }
+
+ /**
+ * Called by the initializer to remove an {@link EMFFormsDIRendererService}.
+ *
+ * @param diRendererService The EMFFormsDIRendererService to remove
+ */
+ protected void removeEMFFormsDIRendererService(EMFFormsDIRendererService<VElement> diRendererService) {
+ diRendererServices.remove(diRendererService);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ double highestPriority = Double.MIN_VALUE;
+ EMFFormsDIRendererService<VElement> bestRendererService = null;
+
+ // Use a copy of the registered renderers to avoid exceptions from OSGI which could occur if renderer services
+ // are (de)registered during the iteration.
+ final Set<EMFFormsDIRendererService<VElement>> rendererServicesCopy = new LinkedHashSet<EMFFormsDIRendererService<VElement>>(
+ diRendererServices);
+ for (final EMFFormsDIRendererService<VElement> rendererService : rendererServicesCopy) {
+ final double isCurrentApplicable = rendererService.isApplicable(vElement, viewModelContext);
+ if (!Double.isNaN(isCurrentApplicable) && isCurrentApplicable > highestPriority) {
+ highestPriority = isCurrentApplicable;
+ bestRendererService = rendererService;
+ }
+ }
+
+ if (bestRendererService != null) {
+ return highestPriority;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public AbstractSWTRenderer<VElement> getRendererInstance(VElement vElement, ViewModelContext viewModelContext) {
+ double highestPriority = Double.MIN_VALUE;
+ EMFFormsDIRendererService<VElement> bestRendererService = null;
+
+ // Use a copy of the registered renderers to avoid exceptions from OSGI which could occur if renderer services
+ // are (de)registered during the iteration.
+ final Set<EMFFormsDIRendererService<VElement>> rendererServicesCopy = new LinkedHashSet<EMFFormsDIRendererService<VElement>>(
+ diRendererServices);
+ for (final EMFFormsDIRendererService<VElement> rendererService : rendererServicesCopy) {
+ final double isCurrentApplicable = rendererService.isApplicable(vElement, viewModelContext);
+ if (!Double.isNaN(isCurrentApplicable) && isCurrentApplicable > highestPriority) {
+ highestPriority = isCurrentApplicable;
+ bestRendererService = rendererService;
+ }
+ }
+ if (bestRendererService == null) {
+ return null;
+ }
+
+ final EMFFormsContextProvider contextProvider = viewModelContext.getService(EMFFormsContextProvider.class);
+ if (contextProvider == null) {
+ reportService
+ .report(new AbstractReport(
+ "The given ViewModelContext does not have a EMFFormsContextProvider. Hence, no renderer instance can be created.")); //$NON-NLS-1$
+ return null;
+ }
+ final IEclipseContext eclipseContext = contextProvider.getContext();
+ final IEclipseContext childContext = eclipseContext.createChild();
+ childContext.set(ViewModelContext.class, viewModelContext);
+ childContext.set(VElement.class, vElement);
+
+ final Class<? extends VElement> elementClass = vElement.getClass();
+ final Class<?>[] elementInterfaces = elementClass.getInterfaces();
+ for (final Class elementInterface : elementInterfaces) { // TODO: fix raw type warning if possible
+ if (VElement.class.isAssignableFrom(elementInterface)) {
+ // TODO: fix unchecked warning if possible
+ childContext.set(elementInterface, elementInterface.cast(vElement));
+ }
+ }
+
+ final Class<? extends AbstractSWTRenderer<VElement>> rendererClass = bestRendererService.getRendererClass();
+ final AbstractSWTRenderer<VElement> rendererInstance;
+ try {
+ rendererInstance = ContextInjectionFactory.make(rendererClass, childContext);
+ } catch (@SuppressWarnings("restriction") final org.eclipse.e4.core.di.InjectionException ex) {
+ reportService.report(new AbstractReport(ex));
+ return null;
+ }
+
+ return rendererInstance;
+ }
+
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core.di/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsDIRendererService.java b/bundles/org.eclipse.emfforms.swt.core.di/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsDIRendererService.java
new file mode 100644
index 0000000..b9a9b3e
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.di/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsDIRendererService.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core.di;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+
+/**
+ * This class defines a renderer service interface for dependency injection renderer services.
+ * It defines the {@link #isApplicable(VElement, ViewModelContext)} method to check if the represented renderer is
+ * suitable for the given {@link VElement} and {@link ViewModelContext} and the {@link #getRendererClass()} method that
+ * returns the {@link Class} of the renderer.
+ *
+ * @author Lucas Koehler
+ *
+ * @param <VELEMENT>
+ */
+public interface EMFFormsDIRendererService<VELEMENT extends VElement> {
+
+ /**
+ * Constant for {@link #isApplicable(VElement, ViewModelContext)} to indicate, that the EMFFormsDIRendererService
+ * cannot provide a fitting renderer for the provided VElement.
+ */
+ double NOT_APPLICABLE = Double.NaN;
+
+ /**
+ * Check whether the provided {@link VElement} can be rendered by the renderer defined by
+ * {@link #getRendererClass()}.
+ *
+ * @param vElement The {@link VElement} to check
+ * @param viewModelContext The {@link ViewModelContext} to use for the renderer
+ * @return {@link #NOT_APPLICABLE} if the renderer doesn't fit, a positive value otherwise
+ */
+ double isApplicable(VElement vElement, ViewModelContext viewModelContext);
+
+ /**
+ * Returns the {@link Class} for the renderer of this service.
+ *
+ * @return the {@link Class}
+ */
+ Class<? extends AbstractSWTRenderer<VELEMENT>> getRendererClass();
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle b/bundles/org.eclipse.emfforms.swt.core.plugin/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle
copy to bundles/org.eclipse.emfforms.swt.core.plugin/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.classpath b/bundles/org.eclipse.emfforms.swt.core.plugin/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.classpath
copy to bundles/org.eclipse.emfforms.swt.core.plugin/.classpath
diff --git a/bundles/org.eclipse.emfforms.swt.core.plugin/.gitignore b/bundles/org.eclipse.emfforms.swt.core.plugin/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.plugin/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emfforms.swt.core.plugin/.project b/bundles/org.eclipse.emfforms.swt.core.plugin/.project
new file mode 100644
index 0000000..e105047
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.plugin/.project
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.swt.core.plugin</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.wuetherich.osgi.ds.annotations.dsAnnotationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.swt.core.plugin/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.swt.core.plugin/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.core.plugin/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..0dbaa32
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.plugin/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms SWT Core Plugin
+Bundle-SymbolicName: org.eclipse.emfforms.swt.core.plugin
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Export-Package: org.eclipse.emfforms.internal.swt.core.plugin;version="1.6.0";x-internal:=true
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.6.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)",
+ org.osgi.service.component.annotations;version="[1.0.0,2.0.0)";resolution:=optional
+Service-Component: OSGI-INF/org.eclipse.emfforms.internal.swt.core.plugin.LegacyAdditionalRendererService.xml,
+ OSGI-INF/org.eclipse.emfforms.internal.swt.core.plugin.LegacyRendererService.xml
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emfforms.swt.core.plugin/OSGI-INF/org.eclipse.emfforms.internal.swt.core.plugin.LegacyAdditionalRendererService.xml b/bundles/org.eclipse.emfforms.swt.core.plugin/OSGI-INF/org.eclipse.emfforms.internal.swt.core.plugin.LegacyAdditionalRendererService.xml
new file mode 100644
index 0000000..3038c22
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.plugin/OSGI-INF/org.eclipse.emfforms.internal.swt.core.plugin.LegacyAdditionalRendererService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/swt/core/plugin/LegacyAdditionalRendererService.java]-->
+<scr:component name="org.eclipse.emfforms.internal.swt.core.plugin.LegacyAdditionalRendererService" activate="activate" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0">
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.EMFFormsAdditionalRendererService"/>
+ </service>
+ <reference name="ReportService" interface="org.eclipse.emfforms.spi.common.report.ReportService" bind="setReportService"/>
+ <implementation class="org.eclipse.emfforms.internal.swt.core.plugin.LegacyAdditionalRendererService"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emfforms.swt.core.plugin/OSGI-INF/org.eclipse.emfforms.internal.swt.core.plugin.LegacyRendererService.xml b/bundles/org.eclipse.emfforms.swt.core.plugin/OSGI-INF/org.eclipse.emfforms.internal.swt.core.plugin.LegacyRendererService.xml
new file mode 100644
index 0000000..77493a2
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.plugin/OSGI-INF/org.eclipse.emfforms.internal.swt.core.plugin.LegacyRendererService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/swt/core/plugin/LegacyRendererService.java]-->
+<scr:component name="org.eclipse.emfforms.internal.swt.core.plugin.LegacyRendererService" activate="activate" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0">
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService"/>
+ </service>
+ <reference name="ReportService" interface="org.eclipse.emfforms.spi.common.report.ReportService" bind="setReportService"/>
+ <implementation class="org.eclipse.emfforms.internal.swt.core.plugin.LegacyRendererService"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/about.html b/bundles/org.eclipse.emfforms.swt.core.plugin/about.html
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/about.html
copy to bundles/org.eclipse.emfforms.swt.core.plugin/about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties b/bundles/org.eclipse.emfforms.swt.core.plugin/build.properties
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties
copy to bundles/org.eclipse.emfforms.swt.core.plugin/build.properties
diff --git a/bundles/org.eclipse.emfforms.swt.core.plugin/pom.xml b/bundles/org.eclipse.emfforms.swt.core.plugin/pom.xml
new file mode 100644
index 0000000..6a6183e
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.plugin/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emfforms.swt.core.plugin</artifactId>
+<packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emfforms.swt.core.plugin/src/org/eclipse/emfforms/internal/swt/core/plugin/LegacyAdditionalRendererService.java b/bundles/org.eclipse.emfforms.swt.core.plugin/src/org/eclipse/emfforms/internal/swt/core/plugin/LegacyAdditionalRendererService.java
new file mode 100644
index 0000000..4c61bbb
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.plugin/src/org/eclipse/emfforms/internal/swt/core/plugin/LegacyAdditionalRendererService.java
@@ -0,0 +1,187 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core.plugin;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtension;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.InvalidRegistryObjectException;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.swt.ECPAdditionalRendererTester;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.ECPRendererDescriptionInitFailedReport;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RendererInitFailedReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsAdditionalRendererService;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+
+/**
+ * Renderer service which uses the extension point derivates.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+@Component
+public class LegacyAdditionalRendererService implements EMFFormsAdditionalRendererService<VElement> {
+
+ private static final String ADDITIONAL_RENDER_EXTENSION = "org.eclipse.emf.ecp.ui.view.swt.additionalRenderers"; //$NON-NLS-1$
+ private ReportService reportService;
+ private final Map<ECPAdditionalRendererTester, Class<AbstractAdditionalSWTRenderer<VElement>>> legacyRenderer = new LinkedHashMap<ECPAdditionalRendererTester, Class<AbstractAdditionalSWTRenderer<VElement>>>();
+
+ /**
+ * Called by the initializer to set the {@link ReportService}.
+ *
+ * @param reportService The ReportService to set
+ */
+ @Reference
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * Activate method of OSGI Component.
+ *
+ * @param bundleContext The {@link BundleContext} to use
+ */
+ @Activate
+ protected void activate(BundleContext bundleContext) {
+ readAdditionalRenderer(bundleContext);
+ }
+
+ private void readAdditionalRenderer(BundleContext bundleContext) {
+ final IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
+ .getExtensionPoint(ADDITIONAL_RENDER_EXTENSION);
+
+ for (final IExtension extension : extensionPoint.getExtensions()) {
+
+ for (final IConfigurationElement configurationElement : extension
+ .getConfigurationElements()) {
+ try {
+ final Class<AbstractAdditionalSWTRenderer<VElement>> renderer = loadClass(configurationElement
+ .getContributor().getName(), configurationElement
+ .getAttribute("renderer")); //$NON-NLS-1$
+ final ECPAdditionalRendererTester tester = (ECPAdditionalRendererTester) configurationElement
+ .createExecutableExtension("tester"); //$NON-NLS-1$
+ legacyRenderer.put(tester, renderer);
+ } catch (final CoreException ex) {
+ reportService.report(new ECPRendererDescriptionInitFailedReport(ex));
+ } catch (final ClassNotFoundException e) {
+ reportService.report(new ECPRendererDescriptionInitFailedReport(e));
+ } catch (final InvalidRegistryObjectException e) {
+ reportService.report(new ECPRendererDescriptionInitFailedReport(e));
+ }
+ }
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private static <T> Class<T> loadClass(String bundleName, String clazz)
+ throws ClassNotFoundException {
+ final Bundle bundle = Platform.getBundle(bundleName);
+ if (bundle == null) {
+ throw new ClassNotFoundException(clazz + bundleName);
+ }
+ return (Class<T>) bundle.loadClass(clazz);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsAdditionalRendererService#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public boolean isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ boolean result = false;
+ for (final ECPAdditionalRendererTester tester : legacyRenderer.keySet()) {
+ result |= tester.isApplicable(vElement, null);
+ }
+ return result;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsAdditionalRendererService#getRendererInstances(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public Collection<AbstractAdditionalSWTRenderer<VElement>> getRendererInstances(VElement vElement,
+ ViewModelContext viewModelContext) {
+ final Collection<AbstractAdditionalSWTRenderer<VElement>> result = new ArrayList<AbstractAdditionalSWTRenderer<VElement>>();
+ for (final Class<AbstractAdditionalSWTRenderer<VElement>> renderer : getFittingRenderer(vElement,
+ viewModelContext)) {
+ final AbstractAdditionalSWTRenderer<VElement> additionalRenderer = createRenderer(vElement,
+ viewModelContext,
+ reportService, renderer);
+ additionalRenderer.init();
+ result.add(additionalRenderer);
+ }
+ return result;
+ }
+
+ private Collection<Class<AbstractAdditionalSWTRenderer<VElement>>> getFittingRenderer(VElement vElement,
+ ViewModelContext viewModelContext) {
+ final Collection<Class<AbstractAdditionalSWTRenderer<VElement>>> fitting = new ArrayList<Class<AbstractAdditionalSWTRenderer<VElement>>>();
+
+ for (final Entry<ECPAdditionalRendererTester, Class<AbstractAdditionalSWTRenderer<VElement>>> entry : legacyRenderer
+ .entrySet()) {
+ if (entry.getKey().isApplicable(vElement, viewModelContext)) {
+ fitting.add(entry.getValue());
+ }
+ }
+ return fitting;
+ }
+
+ private AbstractAdditionalSWTRenderer<VElement> createRenderer(VElement vElement, ViewModelContext viewContext,
+ final ReportService reportService,
+ final Class<? extends AbstractAdditionalSWTRenderer<VElement>> rendererClass) {
+ try {
+ return rendererClass
+ .getConstructor(vElement.getClass().getInterfaces()[0], ViewModelContext.class)
+ .newInstance(vElement, viewContext);
+ } catch (final InstantiationException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ throw new IllegalStateException(ex);
+ } catch (final IllegalAccessException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ throw new IllegalStateException(ex);
+ } catch (final IllegalArgumentException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ throw new IllegalStateException(ex);
+ } catch (final InvocationTargetException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ throw new IllegalStateException(ex);
+ } catch (final NoSuchMethodException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ throw new IllegalStateException(ex);
+ } catch (final SecurityException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ throw new IllegalStateException(ex);
+ }
+
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core.plugin/src/org/eclipse/emfforms/internal/swt/core/plugin/LegacyRendererService.java b/bundles/org.eclipse.emfforms.swt.core.plugin/src/org/eclipse/emfforms/internal/swt/core/plugin/LegacyRendererService.java
new file mode 100644
index 0000000..ab84b05
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core.plugin/src/org/eclipse/emfforms/internal/swt/core/plugin/LegacyRendererService.java
@@ -0,0 +1,213 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core.plugin;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtension;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.InvalidRegistryObjectException;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
+import org.eclipse.emf.ecp.view.model.common.ECPStaticRendererTester;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.ECPRendererDescriptionInitFailedReport;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RendererInitFailedReport;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+
+/**
+ * Renderer service which uses the extension point derivates.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+@Component
+public class LegacyRendererService implements EMFFormsRendererService<VElement> {
+
+ private static final String TEST_DYNAMIC = "dynamicTest";//$NON-NLS-1$
+ private static final String TEST_STATIC = "staticTest";//$NON-NLS-1$
+ private static final String TESTER_PRIORITY = "priority";//$NON-NLS-1$
+ private static final String TESTER_VELEMENT = "element"; //$NON-NLS-1$
+ private static final String RENDERER_TESTER = "testClass"; //$NON-NLS-1$
+
+ private static final String RENDER_EXTENSION = "org.eclipse.emf.ecp.ui.view.swt.renderers"; //$NON-NLS-1$
+
+ private ReportService reportService;
+
+ private final Map<Set<ECPRendererTester>, Class<AbstractSWTRenderer<VElement>>> legacyRenderer = new LinkedHashMap<Set<ECPRendererTester>, Class<AbstractSWTRenderer<VElement>>>();
+
+ /**
+ * Called by the initializer to set the {@link ReportService}.
+ *
+ * @param reportService The ReportService to set
+ */
+ @Reference
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * Activate method of OSGI Component.
+ *
+ * @param bundleContext The {@link BundleContext} to use
+ */
+ @Activate
+ protected void activate(BundleContext bundleContext) {
+ readRenderer(bundleContext);
+ }
+
+ private void readRenderer(BundleContext bundleContext) {
+ final IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
+ .getExtensionPoint(RENDER_EXTENSION);
+ for (final IExtension extension : extensionPoint.getExtensions()) {
+
+ for (final IConfigurationElement configurationElement : extension
+ .getConfigurationElements()) {
+ try {
+ final Class<AbstractSWTRenderer<VElement>> renderer = loadClass(configurationElement
+ .getContributor().getName(), configurationElement
+ .getAttribute("renderer")); //$NON-NLS-1$
+
+ final Set<ECPRendererTester> tester = new LinkedHashSet<ECPRendererTester>();
+ for (final IConfigurationElement testerExtension : configurationElement.getChildren()) {
+ if (TEST_DYNAMIC.equals(testerExtension.getName())) {
+ tester.add((ECPRendererTester) testerExtension.createExecutableExtension(RENDERER_TESTER));
+ }
+ else if (TEST_STATIC.equals(testerExtension.getName())) {
+
+ final int priority = Integer.parseInt(testerExtension.getAttribute(TESTER_PRIORITY));
+
+ final String vElement = testerExtension.getAttribute(TESTER_VELEMENT);
+ final Class<? extends VElement> supportedEObject = loadClass(testerExtension
+ .getContributor()
+ .getName(), vElement);
+
+ tester.add(new ECPStaticRendererTester(priority,
+ supportedEObject));
+ }
+ }
+ legacyRenderer.put(tester, renderer);
+ } catch (final CoreException ex) {
+ reportService.report(new ECPRendererDescriptionInitFailedReport(ex));
+ } catch (final ClassNotFoundException ex) {
+ reportService.report(new ECPRendererDescriptionInitFailedReport(ex));
+ } catch (final InvalidRegistryObjectException ex) {
+ reportService.report(new ECPRendererDescriptionInitFailedReport(ex));
+ }
+ }
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private static <T> Class<T> loadClass(String bundleName, String clazz)
+ throws ClassNotFoundException {
+ final Bundle bundle = Platform.getBundle(bundleName);
+ if (bundle == null) {
+ throw new ClassNotFoundException(clazz + bundleName);
+ }
+ return (Class<T>) bundle.loadClass(clazz);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ int currentPriority = -1;
+ for (final Set<ECPRendererTester> testerSet : legacyRenderer.keySet()) {
+ for (final ECPRendererTester tester : testerSet) {
+ final int testerPriority = tester.isApplicable(vElement, viewModelContext);
+ if (testerPriority > currentPriority) {
+ currentPriority = testerPriority;
+ }
+ }
+ }
+ return currentPriority;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#getRendererInstance(VElement, ViewModelContext)
+ */
+ @Override
+ public AbstractSWTRenderer<VElement> getRendererInstance(VElement vElement, ViewModelContext viewModelContext) {
+ return createRenderer(vElement, viewModelContext, getFittingRenderer(vElement, viewModelContext));
+ }
+
+ private Class<AbstractSWTRenderer<VElement>> getFittingRenderer(VElement vElement,
+ ViewModelContext viewModelContext) {
+ int currentPriority = -1;
+ Class<AbstractSWTRenderer<VElement>> best = null;
+ for (final Entry<Set<ECPRendererTester>, Class<AbstractSWTRenderer<VElement>>> testerSet : legacyRenderer
+ .entrySet()) {
+ for (final ECPRendererTester tester : testerSet.getKey()) {
+ final int testerPriority = tester.isApplicable(vElement, viewModelContext);
+ if (testerPriority > currentPriority) {
+ currentPriority = testerPriority;
+ best = testerSet.getValue();
+ }
+ }
+ }
+ return best;
+ }
+
+ private AbstractSWTRenderer<VElement> createRenderer(VElement vElement, ViewModelContext viewContext,
+ final Class<? extends AbstractSWTRenderer<VElement>> rendererClass) {
+ if (rendererClass == null) {
+ reportService.report(new AbstractReport(String
+ .format("RendererClass for %1$s is null!", vElement.getName()))); //$NON-NLS-1$
+ throw new IllegalStateException(String.format("RendererClass for %1$s is null!", vElement.getName())); //$NON-NLS-1$
+ }
+ try {
+ return rendererClass
+ .getConstructor(vElement.getClass().getInterfaces()[0], ViewModelContext.class, ReportService.class)
+ .newInstance(vElement, viewContext, reportService);
+ } catch (final InstantiationException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ throw new IllegalStateException(ex);
+ } catch (final IllegalAccessException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ throw new IllegalStateException(ex);
+ } catch (final IllegalArgumentException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ throw new IllegalStateException(ex);
+ } catch (final InvocationTargetException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ throw new IllegalStateException(ex);
+ } catch (final NoSuchMethodException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ throw new IllegalStateException(ex);
+ } catch (final SecurityException ex) {
+ reportService.report(new RendererInitFailedReport(ex));
+ throw new IllegalStateException(ex);
+ }
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle b/bundles/org.eclipse.emfforms.swt.core/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle
copy to bundles/org.eclipse.emfforms.swt.core/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.classpath b/bundles/org.eclipse.emfforms.swt.core/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.classpath
copy to bundles/org.eclipse.emfforms.swt.core/.classpath
diff --git a/bundles/org.eclipse.emfforms.swt.core/.gitignore b/bundles/org.eclipse.emfforms.swt.core/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.eclipse.emfforms.swt.core/.project b/bundles/org.eclipse.emfforms.swt.core/.project
new file mode 100644
index 0000000..fb2c48c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.swt.core</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.swt.core/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.swt.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.swt.core/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..8b1305c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms SWT Core
+Bundle-SymbolicName: org.eclipse.emfforms.swt.core
+Bundle-Version: 1.6.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.6.0,2.0.0)"
+Import-Package: org.eclipse.emf.ecp.view.model.common;version="1.6.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.swt.events;version="0.0.0",
+ org.eclipse.swt.graphics;version="0.0.0",
+ org.eclipse.swt.layout;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0"
+Export-Package: org.eclipse.emfforms.internal.swt.core;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.spi.swt.core;version="1.6.0",
+ org.eclipse.emfforms.spi.swt.core.layout;version="1.6.0"
+Service-Component: OSGI-INF/rendererFactory.xml
+Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emfforms.swt.core/OSGI-INF/rendererFactory.xml b/bundles/org.eclipse.emfforms.swt.core/OSGI-INF/rendererFactory.xml
new file mode 100644
index 0000000..ba383cf
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/OSGI-INF/rendererFactory.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emfforms.swt.core.rendererfactory">
+ <implementation class="org.eclipse.emfforms.internal.swt.core.EMFFormsRendererFactoryImpl"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory"/>
+ </service>
+ <reference bind="addEMFFormsRendererService" cardinality="0..n" interface="org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService" name="EMFFormsRendererService" policy="dynamic" unbind="removeEMFFormsRendererService"/>
+ <reference bind="addEMFFormsAdditionalRendererService" cardinality="0..n" interface="org.eclipse.emfforms.spi.swt.core.EMFFormsAdditionalRendererService" name="EMFFormsAdditionalRendererService" policy="dynamic" unbind="removeEMFFormsAdditionalRendererService"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/about.html b/bundles/org.eclipse.emfforms.swt.core/about.html
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/about.html
copy to bundles/org.eclipse.emfforms.swt.core/about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties b/bundles/org.eclipse.emfforms.swt.core/build.properties
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/build.properties
copy to bundles/org.eclipse.emfforms.swt.core/build.properties
diff --git a/bundles/org.eclipse.emfforms.swt.core/pom.xml b/bundles/org.eclipse.emfforms.swt.core/pom.xml
new file mode 100644
index 0000000..2c6db2b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emfforms.swt.core</artifactId>
+<packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/internal/swt/core/EMFFormsRendererFactoryImpl.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/internal/swt/core/EMFFormsRendererFactoryImpl.java
new file mode 100644
index 0000000..9bb01a1
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/internal/swt/core/EMFFormsRendererFactoryImpl.java
@@ -0,0 +1,142 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core;
+
+import java.util.Collection;
+import java.util.LinkedHashSet;
+import java.util.Set;
+import java.util.concurrent.CopyOnWriteArraySet;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsAdditionalRendererService;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService;
+
+/**
+ * The default implementation of the EMFFormsRendererFactory.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class EMFFormsRendererFactoryImpl implements EMFFormsRendererFactory {
+
+ private final Set<EMFFormsRendererService<VElement>> rendererServices = new CopyOnWriteArraySet<EMFFormsRendererService<VElement>>();
+ private final Set<EMFFormsAdditionalRendererService<VElement>> additionalRendererServices = new CopyOnWriteArraySet<EMFFormsAdditionalRendererService<VElement>>();
+
+ /**
+ * Called by the initializer to add an {@link EMFFormsRendererService}.
+ *
+ * @param rendererService The EMFFormsRendererService to add
+ */
+ public void addEMFFormsRendererService(EMFFormsRendererService<VElement> rendererService) {
+ rendererServices.add(rendererService);
+ }
+
+ /**
+ * Called by the initializer to remove an {@link EMFFormsRendererService}.
+ *
+ * @param rendererService The EMFFormsRendererService to remove
+ */
+ public void removeEMFFormsRendererService(EMFFormsRendererService<VElement> rendererService) {
+ rendererServices.remove(rendererService);
+ }
+
+ /**
+ * Called by the initializer to add an {@link EMFFormsAdditionalRendererService}.
+ *
+ * @param rendererService The EMFFormsAdditionalRendererService to add
+ */
+ protected void addEMFFormsAdditionalRendererService(EMFFormsAdditionalRendererService<VElement> rendererService) {
+ additionalRendererServices.add(rendererService);
+ }
+
+ /**
+ * Called by the initializer to remove an {@link EMFFormsAdditionalRendererService}.
+ *
+ * @param rendererService The EMFFormsAdditionalRendererService to remove
+ */
+ protected void removeEMFFormsAdditionalRendererService(EMFFormsAdditionalRendererService<VElement> rendererService) {
+ additionalRendererServices.remove(rendererService);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @throws EMFFormsNoRendererException
+ *
+ * @see EMFFormsRendererFactory#getRendererInstance(VElement,ViewModelContext)
+ */
+ @Override
+ public <VELEMENT extends VElement> AbstractSWTRenderer<VElement> getRendererInstance(VELEMENT vElement,
+ ViewModelContext viewModelContext) throws EMFFormsNoRendererException {
+ if (rendererServices.isEmpty()) {
+ throw new EMFFormsNoRendererException("No EMFFormsRendererService available!"); //$NON-NLS-1$
+ }
+ double highestPriority = -1;
+ EMFFormsRendererService<VElement> bestService = null;
+ for (final EMFFormsRendererService<VElement> rendererService : rendererServices) {
+ final double priority = rendererService.isApplicable(vElement, viewModelContext);
+ if (priority > highestPriority) {
+ highestPriority = priority;
+ bestService = rendererService;
+ }
+ }
+ if (bestService == null) {
+ throw new EMFFormsNoRendererException(String.format(
+ "No fitting EMFFormsRendererService for %1$s available!", vElement.eClass().getName())); //$NON-NLS-1$
+ }
+ final AbstractSWTRenderer<VElement> rendererInstance = bestService.getRendererInstance(vElement,
+ viewModelContext);
+ if (rendererInstance == null) {
+ throw new EMFFormsNoRendererException(String.format(
+ "No fitting EMFFormsRendererService for %1$s available!", vElement.eClass().getName())); //$NON-NLS-1$
+ }
+ rendererInstance.init();
+ return rendererInstance;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see EMFFormsRendererFactory#getAdditionalRendererInstances(VElement, ViewModelContext)
+ */
+ @Override
+ public Collection<AbstractAdditionalSWTRenderer<VElement>> getAdditionalRendererInstances(VElement vElement,
+ ViewModelContext viewModelContext) {
+ final Set<AbstractAdditionalSWTRenderer<VElement>> renderers = new LinkedHashSet<AbstractAdditionalSWTRenderer<VElement>>();
+
+ for (final EMFFormsAdditionalRendererService<VElement> rendererService : additionalRendererServices) {
+ if (rendererService.isApplicable(vElement, viewModelContext)) {
+ final Collection<AbstractAdditionalSWTRenderer<VElement>> rendererInstances = rendererService
+ .getRendererInstances(
+ vElement, viewModelContext);
+ for (final AbstractAdditionalSWTRenderer<VElement> rendererInstance : rendererInstances) {
+ rendererInstance.init();
+ renderers.add(rendererInstance);
+ }
+ }
+ }
+
+ return renderers;
+ }
+
+ /**
+ * Method for Tests to clear all services.
+ */
+ public void clearRenderers() {
+ rendererServices.clear();
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/internal/swt/core/NoRendererServiceReport.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/internal/swt/core/NoRendererServiceReport.java
new file mode 100644
index 0000000..78c44be
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/internal/swt/core/NoRendererServiceReport.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core;
+
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+
+/**
+ * A report to describe that there is no fitting renderer service.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class NoRendererServiceReport extends AbstractReport {
+
+ /**
+ * The default constructor.
+ *
+ * @param exception The {@link Throwable} to report
+ */
+ public NoRendererServiceReport(Throwable exception) {
+ super(exception);
+ }
+
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/AbstractAdditionalSWTRenderer.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/AbstractAdditionalSWTRenderer.java
new file mode 100644
index 0000000..4340d90
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/AbstractAdditionalSWTRenderer.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+
+/**
+ * The renderer for additional controls.
+ *
+ * @author Eugen Neufeld
+ * @param <VELEMENT> the {@link VElement} this renderer is valid for
+ * @since 1.3
+ */
+public abstract class AbstractAdditionalSWTRenderer<VELEMENT extends VElement> extends AbstractSWTRenderer<VELEMENT> {
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ * @since 1.6
+ */
+ public AbstractAdditionalSWTRenderer(VELEMENT vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/AbstractSWTRenderer.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/AbstractSWTRenderer.java
new file mode 100644
index 0000000..7d51515
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/AbstractSWTRenderer.java
@@ -0,0 +1,335 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Edagr Mueller - initial API and implementation
+ * Eugen Neufeld - Refactoring
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core;
+
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.eclipse.emf.ecp.view.model.common.AbstractRenderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.ModelChangeListener;
+import org.eclipse.emf.ecp.view.spi.model.ModelChangeNotification;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
+import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+/**
+ * Common base class for all SWT specific renderer classes.
+ *
+ * A renderer using other renderers to render its contents must call this methods in this order:
+ *
+ * <pre>
+ * {@link #getGridDescription(SWTGridDescription)}
+ * for each SWTGridCell
+ * {@link #render(SWTGridCell, Composite)}
+ * {@link #finalizeRendering(Composite)}
+ * </pre>
+ *
+ * If you don't call {@link #finalizeRendering(Composite)} after the rendering, the automatic disposing of the renderer
+ * will not work, as well as the initial validation check.
+ *
+ * @author Eugen Neufeld
+ *
+ * @param <VELEMENT> the actual type of the {@link VElement} to be drawn
+ * @since 1.2
+ */
+public abstract class AbstractSWTRenderer<VELEMENT extends VElement> extends AbstractRenderer<VELEMENT> {
+
+ /**
+ * Variant constant for indicating RAP controls.
+ */
+ protected static final String CUSTOM_VARIANT = "org.eclipse.rap.rwt.customVariant"; //$NON-NLS-1$
+ private ModelChangeListener listener;
+ private Map<SWTGridCell, Control> controls;
+ private boolean renderingFinished;
+
+ /**
+ * Default Constructor.
+ *
+ * @param vElement the view element to be rendered
+ * @param viewContext The view model context
+ * @param reportService the ReportService to use
+ * @since 1.6
+ */
+ public AbstractSWTRenderer(final VELEMENT vElement, final ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
+ /**
+ * Returns the GridDescription for this Renderer.
+ *
+ * @param gridDescription the current {@link SWTGridDescription}
+ * @return the number of controls per row
+ * @since 1.3
+ */
+ public abstract SWTGridDescription getGridDescription(SWTGridDescription gridDescription);
+
+ /**
+ * Initializes the {@link AbstractSWTRenderer}.
+ *
+ * @since 1.6
+ */
+ public final void init() {
+ preInit();
+ controls = new LinkedHashMap<SWTGridCell, Control>();
+ if (getViewModelContext() != null) {
+ listener = new ModelChangeListener() {
+
+ @Override
+ public void notifyChange(ModelChangeNotification notification) {
+ if (!renderingFinished) {
+ return;
+ }
+ if (notification.getRawNotification().isTouch()) {
+ return;
+ }
+ if (notification.getNotifier() != getVElement()) {
+ return;
+ }
+ if (notification.getStructuralFeature() == VViewPackage.eINSTANCE.getElement_Visible()) {
+ applyVisible();
+ }
+ if (notification.getStructuralFeature() == VViewPackage.eINSTANCE.getElement_Enabled()
+ && !getVElement().isReadonly()) {
+ applyEnable();
+ }
+ if (notification.getStructuralFeature() == VViewPackage.eINSTANCE
+ .getElement_Diagnostic()) {
+ applyValidation();
+ }
+ }
+
+ };
+ getViewModelContext().registerViewChangeListener(listener);
+ }
+ getViewModelContext().addContextUser(this);
+
+ postInit();
+ }
+
+ /**
+ * Returns a copy of the {@link GridCell} to {@link Control} map.
+ *
+ * @return a copy of the controls map
+ * @since 1.3
+ */
+ protected final Map<SWTGridCell, Control> getControls() {
+ if (controls == null) {
+ return Collections.emptyMap();
+ }
+ return new LinkedHashMap<SWTGridCell, Control>(controls);
+ }
+
+ /**
+ * Use this method to initialize objects which are needed already before rendering.
+ *
+ * @since 1.3
+ */
+ protected void preInit() {
+
+ }
+
+ /**
+ * Use this method to initialize objects which are needed during rendering.
+ *
+ * @since 1.3
+ */
+ protected void postInit() {
+
+ }
+
+ /**
+ * Disposes all resources used by the renderer.
+ * Don't forget to call super.dispose if overwriting this method.
+ *
+ * @since 1.3
+ */
+ @Override
+ protected void dispose() {
+ if (getViewModelContext() != null) {
+ getViewModelContext().unregisterViewChangeListener(listener);
+ }
+ listener = null;
+ controls = null;
+ getViewModelContext().removeContextUser(this);
+
+ super.dispose();
+ }
+
+ /**
+ * Renders the passed {@link VElement}.
+ *
+ * @param cell the {@link SWTGridCell} of the control to render
+ * @param parent the {@link Composite} to render on
+ * @return the rendered {@link Control}
+ * @throws NoRendererFoundException this is thrown when a renderer cannot be found
+ * @throws NoPropertyDescriptorFoundExeption this is thrown when no property descriptor can be found
+ * @since 1.3
+ */
+ public Control render(final SWTGridCell cell, Composite parent)
+ throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+
+ Control control = controls.get(cell);
+ if (control != null) {
+ return control;
+ }
+
+ control = renderControl(cell, parent);
+ if (control == null) {
+ // something went wrong, log
+ return null;
+ }
+ controls.put(cell, control);
+
+ // register dispose listener to rerender if disposed
+ control.addDisposeListener(new DisposeListener() {
+
+ @Override
+ public void widgetDisposed(DisposeEvent e) {
+ if (controls != null) {
+ controls.remove(cell);
+ }
+ }
+ });
+
+ return control;
+ }
+
+ /**
+ * Called by the framework to initialize listener.
+ *
+ * @param parent the parent used during render
+ * @since 1.3
+ */
+ public void finalizeRendering(Composite parent) {
+ if (renderingFinished) {
+ return;
+ }
+ renderingFinished = true;
+ applyVisible();
+ applyReadOnly();
+ if (!getVElement().isReadonly()) {
+ applyEnable();
+ }
+ applyValidation();
+ parent.addDisposeListener(new DisposeListener() {
+
+ @Override
+ public void widgetDisposed(DisposeEvent event) {
+ dispose();
+ }
+ });
+ }
+
+ /**
+ * Renders the passed {@link VElement}.
+ *
+ * @param cell the {@link GridCell} of the control to render
+ * @param parent the {@link Composite} to render on
+ * @return the rendered {@link Control}
+ * @throws NoRendererFoundException this is thrown when a renderer cannot be found
+ * @throws NoPropertyDescriptorFoundExeption this is thrown when no property descriptor can be found
+ * @since 1.3
+ */
+ protected abstract Control renderControl(final SWTGridCell cell, Composite parent) throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption;
+
+ /**
+ * Marks a controls as readonly.
+ *
+ * @since 1.3
+ *
+ */
+ protected void applyReadOnly() {
+ for (final SWTGridCell gridCell : controls.keySet()) {
+ setControlEnabled(gridCell, controls.get(gridCell), !getVElement().isReadonly());
+ }
+ }
+
+ /**
+ * Allows implementers to set a control to enabled.
+ *
+ * @since 1.3
+ *
+ */
+ protected void applyEnable() {
+ for (final SWTGridCell gridCell : controls.keySet()) {
+ setControlEnabled(gridCell, controls.get(gridCell), getVElement().isEnabled());
+ }
+ }
+
+ /**
+ * Wraps the call to enable/disable a control.
+ *
+ * @param gridCell the {@link SWTGridCell} to enable/disable
+ * @param control the {@link Control} to enable/disable
+ * @param enabled true if control should be enabled, false otherwise
+ * @since 1.3
+ */
+ protected void setControlEnabled(SWTGridCell gridCell, Control control, boolean enabled) {
+ control.setEnabled(enabled);
+ }
+
+ /**
+ * Allows implementers to check and set the visibility on the whole result row.
+ *
+ * @since 1.3
+ *
+ */
+ protected void applyVisible() {
+ final boolean visible = getVElement().isVisible();
+ for (final SWTGridCell gridCell : controls.keySet()) {
+ final Object layoutData = controls.get(gridCell).getLayoutData();
+ if (GridData.class.isInstance(layoutData)) {
+ final GridData gridData = (GridData) layoutData;
+ if (gridData != null) {
+ gridData.exclude = !visible;
+ }
+ }
+ controls.get(gridCell).setVisible(visible);
+ controls.get(gridCell).getParent().layout(false);
+ }
+ }
+
+ /**
+ * Allows implementers to display the validation state of the control.
+ * The default implementation does nothing.
+ *
+ * @since 1.3
+ */
+ protected void applyValidation() {
+
+ }
+
+ /**
+ * @return String the default font name on the system.
+ * @param control The control to derive the default font name from
+ *
+ * @since 1.5
+ */
+ protected String getDefaultFontName(Control control) {
+ return control.getDisplay().getSystemFont().getFontData()[0].getName();
+ }
+
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/EMFFormsAdditionalRendererService.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/EMFFormsAdditionalRendererService.java
new file mode 100644
index 0000000..0282969
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/EMFFormsAdditionalRendererService.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core;
+
+import java.util.Collection;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+
+/**
+ * The EMFFormsAdditionalRendererService encapsulates the tester and the access to the
+ * {@link AbstractAdditionalSWTRenderer}.
+ *
+ * @author Eugen Neufeld
+ *
+ * @param <VELEMENT>
+ */
+public interface EMFFormsAdditionalRendererService<VELEMENT extends VElement> {
+
+ /**
+ * Check whether the provided {@link VElement} can be rendered by the {@link AbstractAdditionalSWTRenderer} provided
+ * by {@link #getRendererInstances(VElement, ViewModelContext)}.
+ *
+ * @param vElement The {@link VElement} to check
+ * @param viewModelContext The {@link ViewModelContext} to use
+ * @return true if the AbstractAdditionalSWTRenderer fits, false otherwise
+ */
+ boolean isApplicable(VElement vElement, ViewModelContext viewModelContext);
+
+ /**
+ * Returns a collection of renderers.
+ *
+ * @param vElement The {@link VElement} to create the renderer instance for
+ * @param viewModelContext The {@link ViewModelContext} to use for the renderer instance
+ * @return The collection of AbstractAdditionalSWTRenderers
+ */
+ Collection<AbstractAdditionalSWTRenderer<VELEMENT>> getRendererInstances(VELEMENT vElement,
+ ViewModelContext viewModelContext);
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/EMFFormsNoRendererException.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/EMFFormsNoRendererException.java
new file mode 100644
index 0000000..e311b90
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/EMFFormsNoRendererException.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core;
+
+/**
+ * The {@link EMFFormsNoRendererException} is used by the {@link EMFFormsRendererFactory}.
+ *
+ * @author Eugen Neufeld
+ * @noextend This class is not intended to be subclassed by clients.
+ */
+public class EMFFormsNoRendererException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The EMFFormsNoRendererException throwed by {@link EMFFormsRendererFactory}.
+ *
+ * @param message The message of the exception
+ */
+ public EMFFormsNoRendererException(String message) {
+ super(message);
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/EMFFormsRendererFactory.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/EMFFormsRendererFactory.java
new file mode 100644
index 0000000..4c3c806
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/EMFFormsRendererFactory.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core;
+
+import java.util.Collection;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+
+/**
+ * This is the factory which selects the most fitting renderer for the provided {@link VElement} and
+ * {@link ViewModelContext}.
+ *
+ * @author Eugen Neufeld
+ * @noimplement This interface is not intended to be implemented by clients.
+ * @noextend This interface is not intended to be extended by clients.
+ */
+public interface EMFFormsRendererFactory {
+
+ /**
+ * Returns the renderer which fits the provided {@link VElement} and {@link ViewModelContext} the most.
+ *
+ * @param vElement the {@link VElement} to find the renderer for
+ * @param viewModelContext the {@link ViewModelContext} to find the renderer for
+ * @param <VELEMENT> The VElement type
+ * @return the renderer
+ * @throws EMFFormsNoRendererException is thrown when no renderer can be found
+ */
+ <VELEMENT extends VElement> AbstractSWTRenderer<VElement> getRendererInstance(VELEMENT vElement,
+ ViewModelContext viewModelContext) throws EMFFormsNoRendererException;
+
+ /**
+ * Returns a collection of all additional renderer which contribute controls for the provided {@link VElement}.
+ *
+ * @param vElement the {@link VElement} to get additional renderer for
+ * @param viewModelContext the {@link ViewModelContext} to check
+ * @param <VELEMENT> The VElement type
+ * @return the Collection of additional renderer
+ */
+ <VELEMENT extends VElement> Collection<AbstractAdditionalSWTRenderer<VElement>> getAdditionalRendererInstances(
+ VELEMENT vElement, ViewModelContext viewModelContext);
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/EMFFormsRendererService.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/EMFFormsRendererService.java
new file mode 100644
index 0000000..33fd958
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/EMFFormsRendererService.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+
+/**
+ * The EMFFormsRendererService encapsulates the tester and the access to the {@link AbstractSWTRenderer}.
+ *
+ * @author Eugen Neufeld
+ *
+ * @param <VELEMENT>
+ */
+public interface EMFFormsRendererService<VELEMENT extends VElement> {
+
+ /**
+ * Constant for {@link #isApplicable(VElement, ViewModelContext)} to indicate, that the EMFFormsRendererService
+ * cannot provide a
+ * fitting renderer for the provided VElement.
+ */
+ double NOT_APPLICABLE = Double.NaN;
+
+ /**
+ * Check whether the provided {@link VElement} can be rendered by the {@link AbstractSWTRenderer} provided by
+ * {@link #getRendererInstance(VElement, ViewModelContext)}.
+ *
+ * @param vElement The {@link VElement} to check
+ * @param viewModelContext The {@link ViewModelContext} to use for the renderer instance
+ * @return {@link #NOT_APPLICABLE} if the renderer doesn't fit, a positive value otherwise
+ */
+ double isApplicable(VElement vElement, ViewModelContext viewModelContext);
+
+ /**
+ * Returns a renderer.
+ *
+ * @param vElement The {@link VElement} to create the renderer instance for
+ * @param viewModelContext The {@link ViewModelContext} to use for the renderer instance
+ * @return The AbstractSWTRenderer
+ */
+ AbstractSWTRenderer<VELEMENT> getRendererInstance(VELEMENT vElement, ViewModelContext viewModelContext);
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/GridDescriptionFactory.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/GridDescriptionFactory.java
new file mode 100644
index 0000000..05fae8b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/GridDescriptionFactory.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core.layout;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+
+/**
+ * A Factory to create {@link SWTGridDescription GridDescriptions}.
+ *
+ * @author Eugen Neufeld
+ * @since 1.3
+ *
+ */
+public final class GridDescriptionFactory {
+
+ /**
+ * The static Instance of the Factory.
+ */
+ public static final GridDescriptionFactory INSTANCE = new GridDescriptionFactory();
+
+ private GridDescriptionFactory() {
+
+ }
+
+ /**
+ * Creates an empty grid description.
+ *
+ * @return the {@link SWTGridDescription}
+ */
+ public SWTGridDescription createEmptyGridDescription() {
+ return new SWTGridDescription();
+ }
+
+ /**
+ * Creates a simple grid based on the number of rows and columns provided.
+ *
+ * @param rows the number of rows in this grid
+ * @param columns the number of columns in this grid
+ * @param renderer the {@link AbstractSWTRenderer}
+ * @return the {@link SWTGridDescription}
+ */
+ public SWTGridDescription createSimpleGrid(int rows, int columns, AbstractSWTRenderer<? extends VElement> renderer) {
+ final List<SWTGridCell> gridCells = new ArrayList<SWTGridCell>(rows * columns);
+ for (int row = 0; row < rows; row++) {
+ for (int column = 0; column < columns; column++) {
+ gridCells.add(new SWTGridCell(row, column, renderer));
+ }
+ }
+ return new SWTGridDescription(rows, columns, gridCells);
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/LayoutProvider.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/LayoutProvider.java
new file mode 100644
index 0000000..15858d7
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/LayoutProvider.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core.layout;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Layout;
+
+/**
+ * By providing an own implementation, the layout of the application can be influenced.
+ *
+ * @author Eugen Neufeld
+ * @since 1.3
+ */
+public interface LayoutProvider {
+
+ /**
+ * The Layout for aligning controls vertically in columns.
+ *
+ * @param numColumns the number of columns to create
+ * @param equalWidth whether the columns should be equal width
+ * @return the layout to use
+ */
+ Layout getColumnLayout(int numColumns, boolean equalWidth);
+
+ /**
+ * The LayoutData to use.
+ *
+ * @param gridCell the current {@link SWTGridCell}
+ * @param controlGridDescription the {@link SWTGridDescription} of the rendered {@link VElement}
+ * @param currentRowGridDescription the {@link SWTGridDescription} of the current row
+ * @param fullGridDescription the {@link SWTGridDescription} of the whole container
+ * @param vElement the {@link VElement} which is currently rendered
+ * @param domainModel The domain model object whose feature is currently rendered
+ * @param control the rendered {@link Control}
+ * @return the Object being the layout data to set
+ * @since 1.6
+ */
+ Object getLayoutData(SWTGridCell gridCell, SWTGridDescription controlGridDescription,
+ SWTGridDescription currentRowGridDescription, SWTGridDescription fullGridDescription, VElement vElement,
+ EObject domainModel, Control control);
+
+ /**
+ * A simple spanning Layout.
+ *
+ * @param spanX the horizontal span
+ * @param spanY the vertical span
+ * @return the created Layout Data
+ */
+ Object getSpanningLayoutData(int spanX, int spanY);
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/SWTGridCell.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/SWTGridCell.java
new file mode 100644
index 0000000..6ec8003
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/SWTGridCell.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core.layout;
+
+import org.eclipse.emf.ecp.view.model.common.AbstractGridCell;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+
+/**
+ * A {@link SWTGridCell} has a row, a column and a renderer it is rendered by.
+ *
+ * @author Eugen Neufeld
+ * @since 1.3
+ *
+ */
+public class SWTGridCell extends AbstractGridCell<AbstractSWTRenderer<?>> {
+
+ /**
+ * Default constructor to create a grid cell.
+ *
+ * @param row the row of the cell
+ * @param column the column of the cell
+ * @param renderer the {@link AbstractSWTRenderer} that renderes the cell
+ */
+ public SWTGridCell(int row, int column, AbstractSWTRenderer<? extends VElement> renderer) {
+ super(row, column, renderer);
+ }
+}
diff --git a/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/SWTGridDescription.java b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/SWTGridDescription.java
new file mode 100644
index 0000000..0e2e2e4
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.swt.core/src/org/eclipse/emfforms/spi/swt/core/layout/SWTGridDescription.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core.layout;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecp.view.model.common.AbstractGridDescription;
+
+/**
+ * A {@link SWTGridDescription} describes the grid of the renderer using a list of {@link SWTGridCell GridCells} and the
+ * number of rows and columns it has.
+ *
+ * Use the {@link GridDescriptionFactory} to create {@link SWTGridDescription GridDescriptions}.
+ *
+ * @author Eugen Neufeld
+ * @since 1.3
+ *
+ */
+public class SWTGridDescription extends AbstractGridDescription<SWTGridCell> {
+
+ /**
+ * Creating an empty grid.
+ */
+ public SWTGridDescription() {
+
+ }
+
+ /**
+ * Creating a filled grid.
+ *
+ * @param rows number of rows in this description
+ * @param columns number of columns in this description
+ * @param grid the List of {@link SWTGridCell GridCells} describing the grid
+ */
+ public SWTGridDescription(int rows, int columns, List<SWTGridCell> grid) {
+ super(rows, columns, grid);
+ }
+
+ /**
+ * Creates a copy of the grid.
+ *
+ * @return a copy of the grid
+ */
+ public SWTGridDescription copy() {
+ final SWTGridDescription gd = new SWTGridDescription(getRows(), getColumns(), new ArrayList<SWTGridCell>(
+ getGrid()));
+ return gd;
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.checkstyle b/bundles/org.eclipse.emfforms.view.annotation.model.edit/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.checkstyle
copy to bundles/org.eclipse.emfforms.view.annotation.model.edit/.checkstyle
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.classpath b/bundles/org.eclipse.emfforms.view.annotation.model.edit/.classpath
similarity index 100%
rename from examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.classpath
rename to bundles/org.eclipse.emfforms.view.annotation.model.edit/.classpath
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model.edit/.project b/bundles/org.eclipse.emfforms.view.annotation.model.edit/.project
new file mode 100644
index 0000000..8e73f2a
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model.edit/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.view.annotation.model.edit</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.pde.core.prefs
similarity index 100%
copy from examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.core.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.pde.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model.edit/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.view.annotation.model.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..28db771
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emfforms.view.annotation.model.edit;singleton:=true
+Bundle-Version: 1.6.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.emf.emfforms.spi.view.annotation.model.provider.AnnotationEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.emf.emfforms.spi.view.annotation.model.provider;version="1.6.0";x-internal:=true
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emfforms.view.annotation.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.6.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.html b/bundles/org.eclipse.emfforms.view.annotation.model.edit/about.html
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.html
copy to bundles/org.eclipse.emfforms.view.annotation.model.edit/about.html
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model.edit/build.properties b/bundles/org.eclipse.emfforms.view.annotation.model.edit/build.properties
new file mode 100644
index 0000000..3406bce
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model.edit/build.properties
@@ -0,0 +1,20 @@
+# Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Johannes Faltermeier - initial API and implementation
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model.edit/icons/full/ctool16/CreateElement_attachments_Annotation.gif b/bundles/org.eclipse.emfforms.view.annotation.model.edit/icons/full/ctool16/CreateElement_attachments_Annotation.gif
new file mode 100644
index 0000000..ca96637
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model.edit/icons/full/ctool16/CreateElement_attachments_Annotation.gif
Binary files differ
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model.edit/icons/full/obj16/Annotation.png b/bundles/org.eclipse.emfforms.view.annotation.model.edit/icons/full/obj16/Annotation.png
new file mode 100644
index 0000000..ea897cc
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model.edit/icons/full/obj16/Annotation.png
Binary files differ
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model.edit/plugin.properties b/bundles/org.eclipse.emfforms.view.annotation.model.edit/plugin.properties
new file mode 100644
index 0000000..3295dc9
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model.edit/plugin.properties
@@ -0,0 +1,33 @@
+# Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Johannes Faltermeier - initial API and implementation
+
+pluginName = EMFForms Annotation View Model Edit Support
+providerName = Eclipse Modeling Project
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_Annotation_type = Annotation
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_Annotation_key_feature = Key
+_UI_Annotation_value_feature = Value
+_UI_Unknown_feature = Unspecified
+
+_UI_Annotation_label = ["{0}", "{1}"]
+
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model.edit/plugin.xml b/bundles/org.eclipse.emfforms.view.annotation.model.edit/plugin.xml
new file mode 100644
index 0000000..a08b8d3
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model.edit/plugin.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Johannes Faltermeier - initial API and implementation
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated annotation -->
+ <factory
+ uri="http://org/eclipse/emf/emfforms/view/annotation/model"
+ class="org.eclipse.emf.emfforms.spi.view.annotation.model.provider.AnnotationItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.childCreationExtenders">
+ <!-- @generated annotation -->
+ <extender
+ uri="http://org/eclipse/emf/ecp/view/model"
+ class="org.eclipse.emf.emfforms.spi.view.annotation.model.provider.AnnotationItemProviderAdapterFactory$ViewChildCreationExtender"/>
+ </extension>
+
+</plugin>
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model.edit/pom.xml b/bundles/org.eclipse.emfforms.view.annotation.model.edit/pom.xml
new file mode 100644
index 0000000..013cb1a
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model.edit/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emfforms.view.annotation.model.edit</artifactId>
+<packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model.edit/src/org/eclipse/emf/emfforms/spi/view/annotation/model/provider/AnnotationEditPlugin.java b/bundles/org.eclipse.emfforms.view.annotation.model.edit/src/org/eclipse/emf/emfforms/spi/view/annotation/model/provider/AnnotationEditPlugin.java
new file mode 100644
index 0000000..30e47f6
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model.edit/src/org/eclipse/emf/emfforms/spi/view/annotation/model/provider/AnnotationEditPlugin.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ */
+package org.eclipse.emf.emfforms.spi.view.annotation.model.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+import org.eclipse.emf.ecp.view.spi.model.provider.ViewEditPlugin;
+
+/**
+ * This is the central singleton for the Annotation edit plugin. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public final class AnnotationEditPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public static final AnnotationEditPlugin INSTANCE = new AnnotationEditPlugin();
+
+ /**
+ * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AnnotationEditPlugin() {
+ super(new ResourceLocator[] { EcoreEditPlugin.INSTANCE, ViewEditPlugin.INSTANCE, });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+ /**
+ * Creates an instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model.edit/src/org/eclipse/emf/emfforms/spi/view/annotation/model/provider/AnnotationItemProvider.java b/bundles/org.eclipse.emfforms.view.annotation.model.edit/src/org/eclipse/emf/emfforms/spi/view/annotation/model/provider/AnnotationItemProvider.java
new file mode 100644
index 0000000..e38cede
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model.edit/src/org/eclipse/emf/emfforms/spi/view/annotation/model/provider/AnnotationItemProvider.java
@@ -0,0 +1,156 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ */
+package org.eclipse.emf.emfforms.spi.view.annotation.model.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecp.view.spi.model.provider.AttachmentItemProvider;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation}
+ * object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AnnotationItemProvider extends AttachmentItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AnnotationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addKeyPropertyDescriptor(object);
+ addValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Key feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addKeyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(), getString("_UI_Annotation_key_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Annotation_key_feature", //$NON-NLS-1$ //$NON-NLS-2$
+ "_UI_Annotation_type"), //$NON-NLS-1$
+ VAnnotationPackage.Literals.ANNOTATION__KEY, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(), getString("_UI_Annotation_value_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Annotation_value_feature", //$NON-NLS-1$ //$NON-NLS-2$
+ "_UI_Annotation_type"), //$NON-NLS-1$
+ VAnnotationPackage.Literals.ANNOTATION__VALUE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns Annotation.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated NOT
+ */
+ @Override
+ public Object getImage(Object object) {
+ // begin of custom code
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Annotation.png")); //$NON-NLS-1$
+ }
+ // end of custom code
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @Override
+ public String getText(Object object) {
+ // begin of custom code
+ final VAnnotation annotation = VAnnotation.class.cast(object);
+ final String key = annotation.getKey() == null ? "null" : annotation.getKey(); //$NON-NLS-1$
+ final String value = annotation.getValue() == null ? "null" : annotation.getValue(); //$NON-NLS-1$
+ return getString("_UI_Annotation_label", new String[] { key, value }); //$NON-NLS-1$
+ }
+ // end of custom code
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(VAnnotation.class)) {
+ case VAnnotationPackage.ANNOTATION__KEY:
+ case VAnnotationPackage.ANNOTATION__VALUE:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model.edit/src/org/eclipse/emf/emfforms/spi/view/annotation/model/provider/AnnotationItemProviderAdapterFactory.java b/bundles/org.eclipse.emfforms.view.annotation.model.edit/src/org/eclipse/emf/emfforms/spi/view/annotation/model/provider/AnnotationItemProviderAdapterFactory.java
new file mode 100644
index 0000000..2935784
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model.edit/src/org/eclipse/emf/emfforms/spi/view/annotation/model/provider/AnnotationItemProviderAdapterFactory.java
@@ -0,0 +1,357 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ */
+package org.eclipse.emf.emfforms.spi.view.annotation.model.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emf.ecp.view.spi.model.util.ViewSwitch;
+import org.eclipse.emf.edit.command.CommandParameter;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ChildCreationExtenderManager;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationFactory;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.util.AnnotationAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support
+ * Viewers. The adapters generated by this factory convert EMF adapter
+ * notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. The
+ * adapters also support Eclipse property sheets. Note that most of the adapters
+ * are shared among multiple instances. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class AnnotationItemProviderAdapterFactory extends AnnotationAdapterFactory
+ implements ComposeableAdapterFactory, IChangeNotifier, IDisposable, IChildCreationExtender {
+ /**
+ * This keeps track of the root adapter factory that delegates to this
+ * adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement
+ * {@link org.eclipse.emf.edit.provider.IChangeNotifier}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This helps manage the child creation extenders. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ChildCreationExtenderManager childCreationExtenderManager = new ChildCreationExtenderManager(
+ AnnotationEditPlugin.INSTANCE, VAnnotationPackage.eNS_URI);
+
+ /**
+ * This keeps track of all the supported types checked by
+ * {@link #isFactoryForType isFactoryForType}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public AnnotationItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation}
+ * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AnnotationItemProvider annotationItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createAnnotationAdapter() {
+ if (annotationItemProvider == null) {
+ annotationItemProvider = new AnnotationItemProvider(this);
+ }
+
+ return annotationItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the
+ * adapter. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ final Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || ((Class<?>) type).isInstance(adapter)) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public List<IChildCreationExtender> getChildCreationExtenders() {
+ return childCreationExtenderManager.getChildCreationExtenders();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<?> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
+ return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return childCreationExtenderManager;
+ }
+
+ /**
+ * This adds a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to
+ * {@link #parentAdapterFactory}. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ if (annotationItemProvider != null) {
+ annotationItemProvider.dispose();
+ }
+ }
+
+ /**
+ * A child creation extender for the {@link VViewPackage}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static class ViewChildCreationExtender implements IChildCreationExtender {
+ /**
+ * The switch for creating child descriptors specific to each extended
+ * class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static class CreationSwitch extends ViewSwitch<Object> {
+ /**
+ * The child descriptors being populated. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected List<Object> newChildDescriptors;
+
+ /**
+ * The domain in which to create the children. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EditingDomain editingDomain;
+
+ /**
+ * Creates the a switch for populating child descriptors in the
+ * given domain. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ CreationSwitch(List<Object> newChildDescriptors, EditingDomain editingDomain) {
+ this.newChildDescriptors = newChildDescriptors;
+ this.editingDomain = editingDomain;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object caseElement(VElement object) {
+ newChildDescriptors.add(createChildParameter(VViewPackage.Literals.ELEMENT__ATTACHMENTS,
+ VAnnotationFactory.eINSTANCE.createAnnotation()));
+
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CommandParameter createChildParameter(Object feature, Object child) {
+ return new CommandParameter(null, feature, child);
+ }
+
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<Object> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
+ final ArrayList<Object> result = new ArrayList<Object>();
+ new CreationSwitch(result, editingDomain).doSwitch((EObject) object);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return AnnotationEditPlugin.INSTANCE;
+ }
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle b/bundles/org.eclipse.emfforms.view.annotation.model/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle
copy to bundles/org.eclipse.emfforms.view.annotation.model/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.classpath b/bundles/org.eclipse.emfforms.view.annotation.model/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.classpath
copy to bundles/org.eclipse.emfforms.view.annotation.model/.classpath
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/.project b/bundles/org.eclipse.emfforms.view.annotation.model/.project
new file mode 100644
index 0000000..f62e8bd
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.view.annotation.model</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.core.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.pde.core.prefs
similarity index 100%
copy from examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.core.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.pde.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.view.annotation.model/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.view.annotation.model/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..75b8835
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emfforms.view.annotation.model;singleton:=true
+Bundle-Version: 1.6.0.qualifier
+Bundle-ClassPath: .
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.emf.emfforms.spi.view.annotation.model;version="1.6.0",
+ org.eclipse.emf.emfforms.spi.view.annotation.model.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.emfforms.spi.view.annotation.model.util;version="1.6.0";x-friends:="org.eclipse.emfforms.view.annotation.model.edit"
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.6.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/about.html b/bundles/org.eclipse.emfforms.view.annotation.model/about.html
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/about.html
copy to bundles/org.eclipse.emfforms.view.annotation.model/about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.ini b/bundles/org.eclipse.emfforms.view.annotation.model/about.ini
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.ini
copy to bundles/org.eclipse.emfforms.view.annotation.model/about.ini
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/about.mappings b/bundles/org.eclipse.emfforms.view.annotation.model/about.mappings
new file mode 100644
index 0000000..f2954d5
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+0=${BUILD_ID}
\ No newline at end of file
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/about.properties b/bundles/org.eclipse.emfforms.view.annotation.model/about.properties
new file mode 100644
index 0000000..83be450
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/about.properties
@@ -0,0 +1,31 @@
+# Copyright (c) 2011, 2015 Eclipsesource Munich GmbH and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Johannes Faltermeier - initial API and implementation
+
+# NLS_MESSAGEFORMAT_VAR
+
+# ==============================================================================
+# Do not change the properties between this line and the last line containing:
+# %%% END OF TRANSLATED PROPERTIES %%%
+# Instead, either redefine an existing property, or create a new property,
+# append it to the end of the file, and change the code to use the new name.
+# ==============================================================================
+
+featureName = ECP EMF Client Platform
+featureText = ECP EMF Client Platform\n\
+Version: {featureVersion}\n\
+Build id: {0}\n\
+\n\
+Copyright (c) 2011, 2015 Eclipsesource Munich GmbH and others. All rights reserved.\n\
+\n\
+Visit http://www.eclipse.org/ecp
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/build.properties b/bundles/org.eclipse.emfforms.view.annotation.model/build.properties
new file mode 100644
index 0000000..e70403b
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/build.properties
@@ -0,0 +1,18 @@
+# Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Johannes Faltermeier - initial API and implementation
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/model/annotation.ecore b/bundles/org.eclipse.emfforms.view.annotation.model/model/annotation.ecore
new file mode 100644
index 0000000..a4a6bbe
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/model/annotation.ecore
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="annotation" nsURI="http://org/eclipse/emf/emfforms/view/annotation/model"
+ nsPrefix="org.eclipse.emfforms.view.annotation.model">
+ <eClassifiers xsi:type="ecore:EClass" name="Annotation" eSuperTypes="../../org.eclipse.emf.ecp.view.model/model/view.ecore#//Attachment">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/model/annotation.genmodel b/bundles/org.eclipse.emfforms.view.annotation.model/model/annotation.genmodel
new file mode 100644
index 0000000..e58e451
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/model/annotation.genmodel
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html

Contributors:
Johannes Faltermeier - initial API and implementation"
+ modelDirectory="/org.eclipse.emfforms.view.annotation.model/src" modelPluginID="org.eclipse.emfforms.view.annotation.model"
+ modelName="Annotation" nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ codeFormatting="true" commentFormatting="true" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="6.0" copyrightFields="false" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.emf.ecp.view.model/model/view.genmodel#//model"
+ interfaceNamePattern="V{0}" classNamePattern="V{0}Impl" importOrganizing="true"
+ cleanup="true">
+ <foreignModel>annotation.ecore</foreignModel>
+ <genPackages prefix="Annotation" basePackage="org.eclipse.emf.emfforms.spi.view"
+ disposableProviderFactory="true" interfacePackageSuffix="model" metaDataPackageSuffix="model"
+ classPackageSuffix="model.impl" utilityPackageSuffix="model.util" providerPackageSuffix="model.provider"
+ presentationPackageSuffix="model.presentation" testsPackageSuffix="model.tests"
+ extensibleProviderFactory="true" childCreationExtenders="true" ecorePackage="annotation.ecore#/">
+ <genClasses image="false" ecoreClass="annotation.ecore#//Annotation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute annotation.ecore#//Annotation/key"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute annotation.ecore#//Annotation/value"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/modeling32.png b/bundles/org.eclipse.emfforms.view.annotation.model/modeling32.png
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/modeling32.png
copy to bundles/org.eclipse.emfforms.view.annotation.model/modeling32.png
Binary files differ
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/plugin.properties b/bundles/org.eclipse.emfforms.view.annotation.model/plugin.properties
new file mode 100644
index 0000000..d3196ce
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/plugin.properties
@@ -0,0 +1,12 @@
+# Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Johannes Faltermeier - initial API and implementation
+
+pluginName = EMFForms Annotation View Model
+providerName = Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/plugin.xml b/bundles/org.eclipse.emfforms.view.annotation.model/plugin.xml
new file mode 100644
index 0000000..ec587e3
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/plugin.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Johannes Faltermeier - initial API and implementation
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated annotation -->
+ <package
+ uri="http://org/eclipse/emf/emfforms/view/annotation/model"
+ class="org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage"
+ genModel="model/annotation.genmodel"/>
+ </extension>
+
+</plugin>
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/pom.xml b/bundles/org.eclipse.emfforms.view.annotation.model/pom.xml
new file mode 100644
index 0000000..745fba5
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emfforms.view.annotation.model</artifactId>
+<packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/VAnnotation.java b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/VAnnotation.java
new file mode 100644
index 0000000..cf149a1
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/VAnnotation.java
@@ -0,0 +1,92 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ */
+package org.eclipse.emf.emfforms.spi.view.annotation.model;
+
+import org.eclipse.emf.ecp.view.spi.model.VAttachment;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Annotation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation#getKey <em>Key</em>}</li>
+ * <li>{@link org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage#getAnnotation()
+ * @model
+ * @generated
+ */
+public interface VAnnotation extends VAttachment {
+ /**
+ * Returns the value of the '<em><b>Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Key</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Key</em>' attribute.
+ * @see #setKey(String)
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage#getAnnotation_Key()
+ * @model required="true"
+ * @generated
+ */
+ String getKey();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation#getKey <em>Key</em>}
+ * ' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value the new value of the '<em>Key</em>' attribute.
+ * @see #getKey()
+ * @generated
+ */
+ void setKey(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage#getAnnotation_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation#getValue
+ * <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // VAnnotation
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/VAnnotationFactory.java b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/VAnnotationFactory.java
new file mode 100644
index 0000000..b1ce1ef
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/VAnnotationFactory.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ */
+package org.eclipse.emf.emfforms.spi.view.annotation.model;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage
+ * @generated
+ */
+public interface VAnnotationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ VAnnotationFactory eINSTANCE = org.eclipse.emf.emfforms.spi.view.annotation.model.impl.VAnnotationFactoryImpl
+ .init();
+
+ /**
+ * Returns a new object of class '<em>Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Annotation</em>'.
+ * @generated
+ */
+ VAnnotation createAnnotation();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ VAnnotationPackage getAnnotationPackage();
+
+} // VAnnotationFactory
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/VAnnotationPackage.java b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/VAnnotationPackage.java
new file mode 100644
index 0000000..ee670a8
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/VAnnotationPackage.java
@@ -0,0 +1,209 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ */
+package org.eclipse.emf.emfforms.spi.view.annotation.model;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface VAnnotationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "annotation"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://org/eclipse/emf/emfforms/view/annotation/model"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "org.eclipse.emfforms.view.annotation.model"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ VAnnotationPackage eINSTANCE = org.eclipse.emf.emfforms.spi.view.annotation.model.impl.VAnnotationPackageImpl
+ .init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.emfforms.spi.view.annotation.model.impl.VAnnotationImpl
+ * <em>Annotation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.impl.VAnnotationImpl
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.impl.VAnnotationPackageImpl#getAnnotation()
+ * @generated
+ */
+ int ANNOTATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__KEY = VViewPackage.ATTACHMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__VALUE = VViewPackage.ATTACHMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Annotation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION_FEATURE_COUNT = VViewPackage.ATTACHMENT_FEATURE_COUNT + 2;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation
+ * <em>Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Annotation</em>'.
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation
+ * @generated
+ */
+ EClass getAnnotation();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation#getKey <em>Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Key</em>'.
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation#getKey()
+ * @see #getAnnotation()
+ * @generated
+ */
+ EAttribute getAnnotation_Key();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation#getValue()
+ * @see #getAnnotation()
+ * @generated
+ */
+ EAttribute getAnnotation_Value();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ VAnnotationFactory getAnnotationFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.emf.emfforms.spi.view.annotation.model.impl.VAnnotationImpl <em>Annotation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.impl.VAnnotationImpl
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.impl.VAnnotationPackageImpl#getAnnotation()
+ * @generated
+ */
+ EClass ANNOTATION = eINSTANCE.getAnnotation();
+
+ /**
+ * The meta object literal for the '<em><b>Key</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ANNOTATION__KEY = eINSTANCE.getAnnotation_Key();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ANNOTATION__VALUE = eINSTANCE.getAnnotation_Value();
+
+ }
+
+} // VAnnotationPackage
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/impl/VAnnotationFactoryImpl.java b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/impl/VAnnotationFactoryImpl.java
new file mode 100644
index 0000000..5de748c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/impl/VAnnotationFactoryImpl.java
@@ -0,0 +1,113 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ */
+package org.eclipse.emf.emfforms.spi.view.annotation.model.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationFactory;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class VAnnotationFactoryImpl extends EFactoryImpl implements VAnnotationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static VAnnotationFactory init() {
+ try {
+ final VAnnotationFactory theAnnotationFactory = (VAnnotationFactory) EPackage.Registry.INSTANCE
+ .getEFactory(VAnnotationPackage.eNS_URI);
+ if (theAnnotationFactory != null) {
+ return theAnnotationFactory;
+ }
+ } catch (final Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new VAnnotationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public VAnnotationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case VAnnotationPackage.ANNOTATION:
+ return createAnnotation();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public VAnnotation createAnnotation() {
+ final VAnnotationImpl annotation = new VAnnotationImpl();
+ return annotation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public VAnnotationPackage getAnnotationPackage() {
+ return (VAnnotationPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static VAnnotationPackage getPackage() {
+ return VAnnotationPackage.eINSTANCE;
+ }
+
+} // VAnnotationFactoryImpl
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/impl/VAnnotationImpl.java b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/impl/VAnnotationImpl.java
new file mode 100644
index 0000000..07944c6
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/impl/VAnnotationImpl.java
@@ -0,0 +1,247 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ */
+package org.eclipse.emf.emfforms.spi.view.annotation.model.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecp.view.spi.model.impl.VAttachmentImpl;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Annotation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.emfforms.spi.view.annotation.model.impl.VAnnotationImpl#getKey <em>Key</em>}</li>
+ * <li>{@link org.eclipse.emf.emfforms.spi.view.annotation.model.impl.VAnnotationImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class VAnnotationImpl extends VAttachmentImpl implements VAnnotation {
+ /**
+ * The default value of the '{@link #getKey() <em>Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getKey()
+ * @generated
+ * @ordered
+ */
+ protected static final String KEY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getKey() <em>Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getKey()
+ * @generated
+ * @ordered
+ */
+ protected String key = KEY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected VAnnotationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VAnnotationPackage.Literals.ANNOTATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getKey() {
+ return key;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setKey(String newKey) {
+ final String oldKey = key;
+ key = newKey;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, VAnnotationPackage.ANNOTATION__KEY, oldKey, key));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setValue(String newValue) {
+ final String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired()) {
+ eNotify(
+ new ENotificationImpl(this, Notification.SET, VAnnotationPackage.ANNOTATION__VALUE, oldValue, value));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VAnnotationPackage.ANNOTATION__KEY:
+ return getKey();
+ case VAnnotationPackage.ANNOTATION__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VAnnotationPackage.ANNOTATION__KEY:
+ setKey((String) newValue);
+ return;
+ case VAnnotationPackage.ANNOTATION__VALUE:
+ setValue((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VAnnotationPackage.ANNOTATION__KEY:
+ setKey(KEY_EDEFAULT);
+ return;
+ case VAnnotationPackage.ANNOTATION__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VAnnotationPackage.ANNOTATION__KEY:
+ return KEY_EDEFAULT == null ? key != null : !KEY_EDEFAULT.equals(key);
+ case VAnnotationPackage.ANNOTATION__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ final StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (key: "); //$NON-NLS-1$
+ result.append(key);
+ result.append(", value: "); //$NON-NLS-1$
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} // VAnnotationImpl
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/impl/VAnnotationPackageImpl.java b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/impl/VAnnotationPackageImpl.java
new file mode 100644
index 0000000..67eb698
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/impl/VAnnotationPackageImpl.java
@@ -0,0 +1,232 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ */
+package org.eclipse.emf.emfforms.spi.view.annotation.model.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationFactory;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class VAnnotationPackageImpl extends EPackageImpl implements VAnnotationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass annotationEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private VAnnotationPackageImpl() {
+ super(eNS_URI, VAnnotationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>
+ * This method is used to initialize {@link VAnnotationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static VAnnotationPackage init() {
+ if (isInited) {
+ return (VAnnotationPackage) EPackage.Registry.INSTANCE.getEPackage(VAnnotationPackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ final VAnnotationPackageImpl theAnnotationPackage = (VAnnotationPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof VAnnotationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new VAnnotationPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ VViewPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theAnnotationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theAnnotationPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theAnnotationPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(VAnnotationPackage.eNS_URI, theAnnotationPackage);
+ return theAnnotationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getAnnotation() {
+ return annotationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getAnnotation_Key() {
+ return (EAttribute) annotationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getAnnotation_Value() {
+ return (EAttribute) annotationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public VAnnotationFactory getAnnotationFactory() {
+ return (VAnnotationFactory) getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) {
+ return;
+ }
+ isCreated = true;
+
+ // Create classes and their features
+ annotationEClass = createEClass(ANNOTATION);
+ createEAttribute(annotationEClass, ANNOTATION__KEY);
+ createEAttribute(annotationEClass, ANNOTATION__VALUE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) {
+ return;
+ }
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ final VViewPackage theViewPackage = (VViewPackage) EPackage.Registry.INSTANCE.getEPackage(VViewPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ annotationEClass.getESuperTypes().add(theViewPackage.getAttachment());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(annotationEClass, VAnnotation.class, "Annotation", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+ IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAnnotation_Key(), ecorePackage.getEString(), "key", null, 1, 1, VAnnotation.class, //$NON-NLS-1$
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAnnotation_Value(), ecorePackage.getEString(), "value", null, 0, 1, VAnnotation.class, //$NON-NLS-1$
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // VAnnotationPackageImpl
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/util/AnnotationAdapterFactory.java b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/util/AnnotationAdapterFactory.java
new file mode 100644
index 0000000..396ed09
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/util/AnnotationAdapterFactory.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ */
+package org.eclipse.emf.emfforms.spi.view.annotation.model.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.model.VAttachment;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage
+ * @generated
+ */
+public class AnnotationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static VAnnotationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AnnotationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = VAnnotationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance
+ * object of the model.
+ * <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AnnotationSwitch<Adapter> modelSwitch = new AnnotationSwitch<Adapter>() {
+ @Override
+ public Adapter caseAnnotation(VAnnotation object) {
+ return createAnnotationAdapter();
+ }
+
+ @Override
+ public Adapter caseAttachment(VAttachment object) {
+ return createAttachmentAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject) target);
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation <em>Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation
+ * @generated
+ */
+ public Adapter createAnnotationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecp.view.spi.model.VAttachment
+ * <em>Attachment</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecp.view.spi.model.VAttachment
+ * @generated
+ */
+ public Adapter createAttachmentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} // AnnotationAdapterFactory
diff --git a/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/util/AnnotationSwitch.java b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/util/AnnotationSwitch.java
new file mode 100644
index 0000000..fa09361
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.annotation.model/src/org/eclipse/emf/emfforms/spi/view/annotation/model/util/AnnotationSwitch.java
@@ -0,0 +1,149 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ */
+package org.eclipse.emf.emfforms.spi.view.annotation.model.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.emf.ecp.view.spi.model.VAttachment;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationPackage
+ * @generated
+ */
+public class AnnotationSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static VAnnotationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AnnotationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = VAnnotationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
+ * result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case VAnnotationPackage.ANNOTATION: {
+ final VAnnotation annotation = (VAnnotation) theEObject;
+ T result = caseAnnotation(annotation);
+ if (result == null) {
+ result = caseAttachment(annotation);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Annotation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAnnotation(VAnnotation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Attachment</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Attachment</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAttachment(VAttachment object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // AnnotationSwitch
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle b/bundles/org.eclipse.emfforms.view.model.localization/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.checkstyle
copy to bundles/org.eclipse.emfforms.view.model.localization/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.classpath b/bundles/org.eclipse.emfforms.view.model.localization/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.classpath
copy to bundles/org.eclipse.emfforms.view.model.localization/.classpath
diff --git a/bundles/org.eclipse.emfforms.view.model.localization/.project b/bundles/org.eclipse.emfforms.view.model.localization/.project
new file mode 100644
index 0000000..e274fdc
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.model.localization/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.view.model.localization</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.resources.prefs
copy to bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.core.runtime.prefs
copy to bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs
copy to bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/.settings/org.eclipse.pde.prefs
copy to bundles/org.eclipse.emfforms.view.model.localization/.settings/org.eclipse.pde.prefs
diff --git a/bundles/org.eclipse.emfforms.view.model.localization/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.view.model.localization/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..ace384e
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.model.localization/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms View Localization
+Bundle-SymbolicName: org.eclipse.emfforms.view.model.localization;singleton:=true
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.common.locale;version="1.6.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.osgi.framework;version="1.5.0"
+Export-Package: org.eclipse.emfforms.internal.view.model.localization;
+ version="1.6.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.ecp.view.table.editor/about.html b/bundles/org.eclipse.emfforms.view.model.localization/about.html
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.table.editor/about.html
copy to bundles/org.eclipse.emfforms.view.model.localization/about.html
diff --git a/bundles/org.eclipse.emfforms.view.model.localization/build.properties b/bundles/org.eclipse.emfforms.view.model.localization/build.properties
new file mode 100644
index 0000000..e5a949c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.model.localization/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ about.html
+src.includes = about.html
diff --git a/bundles/org.eclipse.emfforms.view.model.localization/plugin.xml b/bundles/org.eclipse.emfforms.view.model.localization/plugin.xml
new file mode 100644
index 0000000..6617abd
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.model.localization/plugin.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.emf.ecp.view.context.viewServices">
+ <viewService
+ class="org.eclipse.emfforms.internal.view.model.localization.LocalizationViewModelService">
+ </viewService>
+ </extension>
+
+</plugin>
diff --git a/bundles/org.eclipse.emfforms.view.model.localization/pom.xml b/bundles/org.eclipse.emfforms.view.model.localization/pom.xml
new file mode 100644
index 0000000..d4c07db
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.model.localization/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-bundles-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emfforms.view.model.localization</artifactId>
+<packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emfforms.view.model.localization/src/org/eclipse/emfforms/internal/view/model/localization/LocalizationViewModelService.java b/bundles/org.eclipse.emfforms.view.model.localization/src/org/eclipse/emfforms/internal/view/model/localization/LocalizationViewModelService.java
new file mode 100644
index 0000000..fc8192c
--- /dev/null
+++ b/bundles/org.eclipse.emfforms.view.model.localization/src/org/eclipse/emfforms/internal/view/model/localization/LocalizationViewModelService.java
@@ -0,0 +1,190 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.view.model.localization;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelService;
+import org.eclipse.emf.ecp.view.spi.model.LocalizationAdapter;
+import org.eclipse.emf.ecp.view.spi.model.ModelChangeListener;
+import org.eclipse.emf.ecp.view.spi.model.ModelChangeNotification;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * LocalizationViewModelService which will localize the view model.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class LocalizationViewModelService implements ViewModelService, EMFFormsLocaleChangeListener {
+
+ private EMFFormsLocaleProvider localeProvider;
+ private ServiceReference<EMFFormsLocaleProvider> localeServiceReference;
+ private BundleContext bundleContext;
+ private VElement view;
+ private ReportService reportService;
+ private ServiceReference<ReportService> reportServiceReference;
+
+ /**
+ * Default constructor.
+ */
+ public LocalizationViewModelService() {
+ super();
+ final Bundle bundle = FrameworkUtil.getBundle(getClass());
+ if (bundle == null) {
+ return;
+ }
+ bundleContext = bundle.getBundleContext();
+ if (bundleContext == null) {
+ return;
+ }
+ localeServiceReference = bundleContext.getServiceReference(EMFFormsLocaleProvider.class);
+ if (localeServiceReference == null) {
+ return;
+ }
+ localeProvider = bundleContext.getService(localeServiceReference);
+
+ reportServiceReference = bundleContext.getServiceReference(ReportService.class);
+ reportService = bundleContext.getService(reportServiceReference);
+
+ localeProvider.addEMFFormsLocaleChangeListener(this);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#instantiate(org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public void instantiate(ViewModelContext context) {
+ view = context.getViewModel();
+ final LocalizationAdapter adapter = getLocalizationAdapter(view);
+ localizeView(adapter, view);
+
+ context.registerViewChangeListener(new ModelChangeListener() {
+
+ @Override
+ public void notifyChange(ModelChangeNotification notification) {
+ if (notification.getRawNotification().getFeature() == VViewPackage.eINSTANCE.getElement_Name()) {
+ localize(adapter, (VElement) notification.getNotifier());
+ } else if (notification.getRawNotification().getEventType() == Notification.ADD
+ || notification.getRawNotification().getEventType() == Notification.ADD_MANY) {
+ for (final EObject eObject : notification.getNewEObjects()) {
+ if (VElement.class.isInstance(eObject)) {
+ localize(adapter, VElement.class.cast(eObject));
+ checkContents(adapter, VElement.class.cast(eObject));
+ }
+ }
+ }
+ }
+ });
+ }
+
+ private void localizeView(LocalizationAdapter adapter, final VElement view) {
+ localize(adapter, view);
+ checkContents(adapter, view);
+ }
+
+ private LocalizationAdapter getLocalizationAdapter(VElement view) {
+ for (final Adapter adapter : view.eAdapters()) {
+ if (LocalizationAdapter.class.isInstance(adapter)) {
+ return (LocalizationAdapter) adapter;
+ }
+ }
+ return null;
+ }
+
+ private void checkContents(final LocalizationAdapter adapter, final VElement vElementRoot) {
+ final TreeIterator<EObject> eAllContents = vElementRoot.eAllContents();
+ while (eAllContents.hasNext()) {
+ final EObject eObject = eAllContents.next();
+ if (VElement.class.isInstance(eObject)) {
+ final VElement vElement = VElement.class.cast(eObject);
+ localize(adapter, vElement);
+ }
+ }
+ }
+
+ /**
+ * The actual method localizing a {@link VElement}.
+ *
+ * @param localizationAdapter The LocalizationAdapter to use for localization
+ * @param vElement The {@link VElement} to localize
+ */
+ protected void localize(LocalizationAdapter localizationAdapter, final VElement vElement) {
+ if (vElement.getName() == null) {
+ vElement.setLabel(""); //$NON-NLS-1$
+ } else if (vElement.getName().startsWith("%")) { //$NON-NLS-1$
+ if (localizationAdapter != null) {
+ vElement.setLabel(localizationAdapter.localize(vElement.getName().substring(1)));
+ } else {
+ reportService.report(new AbstractReport(
+ "No LocalizationAdapter found for the current view:" + view.toString())); //$NON-NLS-1$
+ vElement.setLabel(vElement.getName());
+ }
+ } else {
+ vElement.setLabel(vElement.getName());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#dispose()
+ */
+ @Override
+ public void dispose() {
+ if (localeProvider != null) {
+ localeProvider.removeEMFFormsLocaleChangeListener(this);
+ }
+ if (bundleContext != null && localeServiceReference != null) {
+ bundleContext.ungetService(localeServiceReference);
+ }
+ if (bundleContext != null && reportServiceReference != null) {
+ bundleContext.ungetService(reportServiceReference);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelService#getPriority()
+ */
+ @Override
+ public int getPriority() {
+ return -100;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener#notifyLocaleChange()
+ */
+ @Override
+ public void notifyLocaleChange() {
+ final LocalizationAdapter adapter = getLocalizationAdapter(view);
+ localizeView(adapter, view);
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.classpath
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.project b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.project
new file mode 100644
index 0000000..495419a
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.core.importer</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.jdt.core.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/.settings/org.eclipse.pde.prefs
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..98e9d60
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms Spreadsheet Import
+Bundle-SymbolicName: org.eclipse.emfforms.spreadsheet.core.importer
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,2.0.0)"
+Import-Package: org.apache.poi.hssf.usermodel;version="0.0.0",
+ org.apache.poi.ss.usermodel;version="0.0.0",
+ org.eclipse.core.databinding.observable.value;version="0.0.0",
+ org.eclipse.emf.ecp.view.spi.model;version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.6.0,2.0.0)",
+ org.osgi.framework;version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.spreadsheet.core.importer;version="1.0.0";x-internal:=true,
+ org.eclipse.emfforms.spi.spreadsheet.core.importer;version="1.0.0"
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/build.properties b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/pom.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/pom.xml
new file mode 100644
index 0000000..4378699
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-bundles-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../../releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.bundles/</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>org.eclipse.emfforms.spreadsheet.core.importer</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/src/org/eclipse/emfforms/internal/spreadsheet/core/importer/EMFFormsSpreadsheetImporterImpl.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/src/org/eclipse/emfforms/internal/spreadsheet/core/importer/EMFFormsSpreadsheetImporterImpl.java
new file mode 100644
index 0000000..1670585
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/src/org/eclipse/emfforms/internal/spreadsheet/core/importer/EMFFormsSpreadsheetImporterImpl.java
@@ -0,0 +1,238 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.importer;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Comment;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.util.ECollections;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.URIConverter.ReadableInputStream;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsIdProvider;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetReport;
+import org.eclipse.emfforms.spi.spreadsheet.core.importer.EMFFormsSpreadsheetImporter;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * Implementation of the {@link EMFFormsSpreadsheetImporter}.
+ *
+ * @author Eugen Neufeld
+ */
+public class EMFFormsSpreadsheetImporterImpl implements EMFFormsSpreadsheetImporter {
+
+ private final ReportService reportService;
+
+ /**
+ * Default Constructor.
+ */
+ public EMFFormsSpreadsheetImporterImpl() {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<ReportService> reportServiceReference = bundleContext
+ .getServiceReference(ReportService.class);
+ reportService = bundleContext.getService(reportServiceReference);
+ }
+
+ @Override
+ public Collection<EObject> importSpreadsheet(String filePath, EClass eClass) {
+ Workbook workbook;
+ FileInputStream file = null;
+ try {
+ file = new FileInputStream(new File(filePath));
+ workbook = new HSSFWorkbook(file);
+ return readData(workbook, eClass);
+ } catch (final IOException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ } finally {
+ try {
+ file.close();
+ } catch (final IOException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ }
+ }
+ return null;
+ }
+
+ private Collection<EObject> readData(Workbook workbook, EClass eClass) {
+ final ResourceSet rs = new ResourceSetImpl();
+ final AdapterFactoryEditingDomain domain = new AdapterFactoryEditingDomain(
+ new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
+ new BasicCommandStack(), rs);
+ rs.eAdapters().add(new AdapterFactoryEditingDomain.EditingDomainProvider(domain));
+ final Resource resource = rs.createResource(URI.createURI("VIRTUAL_URI")); //$NON-NLS-1$
+
+ final List<EObject> result = new ArrayList<EObject>();
+
+ final Map<String, Map<Integer, Integer>> mapIdToSheetIdWithRowId = parseIds(workbook);
+ if (mapIdToSheetIdWithRowId == null) {
+ for (int sheetId = 0; sheetId < workbook.getNumberOfSheets(); sheetId++) {
+ final Sheet sheet = workbook.getSheetAt(sheetId);
+ final Row labelRow = sheet.getRow(0);
+ for (int rowId = 3; rowId <= sheet.getLastRowNum(); rowId++) {
+ final Row row = sheet.getRow(rowId);
+ final EObject eObject = EcoreUtil.create(eClass);
+ resource.getContents().add(eObject);
+ extractRowInformation(labelRow, row, eObject);
+ result.add(eObject);
+
+ }
+ }
+ }
+ else {
+ for (final String eObjectId : mapIdToSheetIdWithRowId.keySet()) {
+ final Map<Integer, Integer> sheetIdToRowId = mapIdToSheetIdWithRowId.get(eObjectId);
+ final EObject eObject = EcoreUtil.create(eClass);
+ resource.getContents().add(eObject);
+ for (final Integer sheetId : sheetIdToRowId.keySet()) {
+ final Sheet sheet = workbook.getSheetAt(sheetId);
+ final Row labelRow = sheet.getRow(0);
+ final Row row = sheet.getRow(sheetIdToRowId.get(sheetId));
+ extractRowInformation(labelRow, row, eObject);
+ }
+ result.add(eObject);
+ }
+ }
+ return result;
+ }
+
+ private void extractRowInformation(final Row labelRow, final Row row, final EObject eObject) {
+ for (int columnId = 0; columnId < row.getPhysicalNumberOfCells(); columnId++) {
+ final Cell cell = labelRow.getCell(columnId);
+ if (cell == null) {
+ continue;
+ }
+ final Comment cellComment = cell.getCellComment();
+ if (cellComment == null) {
+ continue;
+ }
+ final String serializedDMR = cellComment.getString().getString();
+ final String value = row.getCell(columnId).getStringCellValue();
+ final VDomainModelReference dmr = deserializeDMR(serializedDMR);
+ try {
+ final IObservableValue observableValue = getObservableValue(dmr, eObject);
+ resolveDMR(dmr, eObject);
+ observableValue.setValue(getValue(value, observableValue.getValueType()));
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ }
+ }
+ }
+
+ private void resolveDMR(VDomainModelReference dmr, EObject eObject) {
+ dmr.init(eObject);
+ }
+
+ private Map<String, Map<Integer, Integer>> parseIds(Workbook workbook) {
+ final Map<String, Map<Integer, Integer>> result = new LinkedHashMap<String, Map<Integer, Integer>>();
+
+ for (int sheetId = 0; sheetId < workbook.getNumberOfSheets(); sheetId++) {
+ final Sheet sheet = workbook.getSheetAt(sheetId);
+ final Row labelRow = sheet.getRow(0);
+ if (!EMFFormsIdProvider.ID_COLUMN.equals(labelRow.getCell(0).getStringCellValue())) {
+ return null;
+ }
+ for (int rowId = 3; rowId <= sheet.getLastRowNum(); rowId++) {
+ final Row row = sheet.getRow(rowId);
+ final String eObjectId = row.getCell(0).getStringCellValue();
+ if (!result.containsKey(eObjectId)) {
+ result.put(eObjectId, new LinkedHashMap<Integer, Integer>());
+ }
+ result.get(eObjectId).put(sheetId, rowId);
+ }
+ }
+ return result;
+ }
+
+ private Object getValue(String value, Object valueType) {
+ if (value == null || value.length() == 0) {
+ return null;
+ }
+ if (EAttribute.class.isInstance(valueType)) {
+ final EAttribute eAttribute = (EAttribute) valueType;
+ final EDataType eDataType = eAttribute.getEAttributeType();
+ final EFactory eFactory = eDataType.getEPackage().getEFactoryInstance();
+ if (eAttribute.isMany())
+ {
+ final List<Object> result = new ArrayList<Object>();
+
+ for (final String element : value.split(" ")) //$NON-NLS-1$
+ {
+ result.add(eFactory.createFromString(eDataType, element));
+ }
+
+ return result;
+ }
+ return eFactory.createFromString(eDataType, value);
+ }
+ else if (EReference.class.isInstance(valueType)) {
+ if (EReference.class.cast(valueType).isMany()) {
+ return ECollections.EMPTY_ELIST;
+ }
+ return null;
+ }
+
+ return value;
+ }
+
+ private IObservableValue getObservableValue(VDomainModelReference dmr, EObject eObject)
+ throws DatabindingFailedException {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<EMFFormsDatabinding> serviceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ final EMFFormsDatabinding emfFormsDatabinding = bundleContext.getService(serviceReference);
+ return emfFormsDatabinding.getObservableValue(dmr, eObject);
+ }
+
+ private VDomainModelReference deserializeDMR(String serializedDMR) {
+ final ResourceSet rs = new ResourceSetImpl();
+ final Resource resource = rs.createResource(URI.createURI("VIRTAUAL_URI")); //$NON-NLS-1$
+
+ final ReadableInputStream is = new ReadableInputStream(serializedDMR, "UTF-8"); //$NON-NLS-1$
+ try {
+ resource.load(is, null);
+ } catch (final IOException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ }
+ return (VDomainModelReference) resource.getContents().get(0);
+ }
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/src/org/eclipse/emfforms/spi/spreadsheet/core/importer/EMFFormsSpreadsheetImporter.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/src/org/eclipse/emfforms/spi/spreadsheet/core/importer/EMFFormsSpreadsheetImporter.java
new file mode 100644
index 0000000..089938c
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer/src/org/eclipse/emfforms/spi/spreadsheet/core/importer/EMFFormsSpreadsheetImporter.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.spreadsheet.core.importer;
+
+import java.util.Collection;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emfforms.internal.spreadsheet.core.importer.EMFFormsSpreadsheetImporterImpl;
+
+/**
+ * Entry point for triggering the import from an Spreadsheet document.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public interface EMFFormsSpreadsheetImporter {
+ /**
+ * Singleton to get access to the importer.
+ */
+ EMFFormsSpreadsheetImporter INSTANCE = new EMFFormsSpreadsheetImporterImpl();
+
+ /**
+ * Starts the import from an Spreadsheet document.
+ *
+ * @param filePath The path to the file to read from.
+ * @param eClass The {@link EClass} of the stored objects
+ * @return The Collection of all read objects
+ */
+ Collection<EObject> importSpreadsheet(String filePath, EClass eClass);
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.classpath
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.project b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.project
new file mode 100644
index 0000000..e385170
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.core.renderer.categorization</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.wuetherich.osgi.ds.annotations.dsAnnotationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.jdt.core.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/.settings/org.eclipse.pde.prefs
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..8537de3
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms Categorization
+Bundle-SymbolicName: org.eclipse.emfforms.spreadsheet.core.renderer.categorization
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Export-Package: org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization;version="1.0.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.common;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Import-Package: org.eclipse.emf.ecp.view.spi.context;version="[1.6.0,2.0.0)",
+ org.osgi.framework;version="[1.6.0,2.0.0)",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)"
+Service-Component: OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategorizationElementRendererService.xml,
+ OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategorizationRendererService.xml,
+ OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategoryRendererService.xml
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategorizationElementRendererService.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategorizationElementRendererService.xml
new file mode 100644
index 0000000..3d5ff16
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategorizationElementRendererService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategorizationElementRendererService.java]-->
+<scr:component name="org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategorizationElementRendererService" activate="activate" deactivate="deactivate" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0">
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService"/>
+ </service>
+ <reference name="ReportService" interface="org.eclipse.emfforms.spi.common.report.ReportService" bind="setReportService"/>
+ <implementation class="org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategorizationElementRendererService"/>
+</scr:component>
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategorizationRendererService.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategorizationRendererService.xml
new file mode 100644
index 0000000..360b542
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategorizationRendererService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategorizationRendererService.java]-->
+<scr:component name="org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategorizationRendererService" activate="activate" deactivate="deactivate" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0">
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService"/>
+ </service>
+ <reference name="ReportService" interface="org.eclipse.emfforms.spi.common.report.ReportService" bind="setReportService"/>
+ <implementation class="org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategorizationRendererService"/>
+</scr:component>
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategoryRendererService.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategoryRendererService.xml
new file mode 100644
index 0000000..aa6d516
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategoryRendererService.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategoryRendererService.java]-->
+<scr:component name="org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategoryRendererService" activate="activate" deactivate="deactivate" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0">
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService"/>
+ </service>
+ <reference name="ReportService" interface="org.eclipse.emfforms.spi.common.report.ReportService" bind="setReportService"/>
+ <reference name="EmfFormsIdProvider" interface="org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsIdProvider" bind="setEmfFormsIdProvider"/>
+ <implementation class="org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization.EMFFormsCategoryRendererService"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/build.properties b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/build.properties
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/build.properties
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/build.properties
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/pom.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/pom.xml
new file mode 100644
index 0000000..a87d78e
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-bundles-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../../releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.bundles/</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>org.eclipse.emfforms.spreadsheet.core.renderer.categorization</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategorizationElementRenderer.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategorizationElementRenderer.java
new file mode 100644
index 0000000..cc7021c
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategorizationElementRenderer.java
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization;
+
+import org.apache.poi.ss.usermodel.Workbook;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VAbstractCategorization;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetReport;
+
+/**
+ * Spreadsheet renderer for {@link VCategorizationElement}.
+ *
+ * @author Eugen Neufeld
+ */
+public class EMFFormsCategorizationElementRenderer extends EMFFormsAbstractSpreadsheetRenderer<VCategorizationElement> {
+
+ private final EMFFormsSpreadsheetRendererFactory rendererFactory;
+ private final ReportService reportService;
+
+ /**
+ * Default constructor.
+ *
+ * @param rendererFactory The EMFFormsSpreadsheetRendererFactory to use
+ * @param reportService The {@link ReportService}
+ */
+ public EMFFormsCategorizationElementRenderer(EMFFormsSpreadsheetRendererFactory rendererFactory,
+ ReportService reportService) {
+ this.rendererFactory = rendererFactory;
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer#render(org.apache.poi.ss.usermodel.Workbook,
+ * org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext,
+ * org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget)
+ */
+ @Override
+ public int render(Workbook workbook, VCategorizationElement vElement, ViewModelContext viewModelContext,
+ EMFFormsSpreadsheetRenderTarget renderTarget) {
+ int numberRenderedColumns = 0;
+ for (final VAbstractCategorization abstractCategorization : vElement.getCategorizations()) {
+ try {
+ final EMFFormsAbstractSpreadsheetRenderer<VElement> renderer = rendererFactory.getRendererInstance(
+ abstractCategorization, viewModelContext);
+ numberRenderedColumns += renderer.render(workbook, abstractCategorization, viewModelContext,
+ renderTarget);
+ } catch (final EMFFormsNoRendererException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ }
+ }
+ return numberRenderedColumns;
+ }
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategorizationElementRendererService.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategorizationElementRendererService.java
new file mode 100644
index 0000000..867b4fd
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategorizationElementRendererService.java
@@ -0,0 +1,100 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization;
+
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+
+/**
+ * The {@link EMFFormsSpreadsheetRendererService} for {@link VCategorizationElement}.
+ *
+ * @author Eugen Neufeld
+ */
+@Component
+public class EMFFormsCategorizationElementRendererService implements
+ EMFFormsSpreadsheetRendererService<VCategorizationElement> {
+
+ private EMFFormsSpreadsheetRendererFactory emfformsSpreadsheetRendererFactory;
+
+ private ReportService reportService;
+
+ /**
+ * The ReportService to use.
+ *
+ * @param reportService the reportService to set
+ */
+ @Reference
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ private ServiceReference<EMFFormsSpreadsheetRendererFactory> serviceReference;
+
+ /**
+ * The activate method.
+ *
+ * @param bundleContext The BundleContext
+ */
+ @Activate
+ public void activate(BundleContext bundleContext) {
+ serviceReference = bundleContext
+ .getServiceReference(EMFFormsSpreadsheetRendererFactory.class);
+ emfformsSpreadsheetRendererFactory = bundleContext
+ .getService(serviceReference);
+ }
+
+ /**
+ * The deactivate method.
+ *
+ * @param bundleContext The BundleContext
+ */
+ @Deactivate
+ public void deactivate(BundleContext bundleContext) {
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (VCategorizationElement.class.isInstance(vElement)) {
+ return 1;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#getRendererInstance(VElement,ViewModelContext)
+ */
+ @Override
+ public EMFFormsAbstractSpreadsheetRenderer<VCategorizationElement> getRendererInstance(VCategorizationElement vElement,
+ ViewModelContext viewModelContext) {
+ return new EMFFormsCategorizationElementRenderer(emfformsSpreadsheetRendererFactory, reportService);
+ }
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategorizationRenderer.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategorizationRenderer.java
new file mode 100644
index 0000000..fef9cf0
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategorizationRenderer.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization;
+
+import org.apache.poi.ss.usermodel.Workbook;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VAbstractCategorization;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetReport;
+
+/**
+ * Spreadsheet renderer for {@link VCategorization}.
+ *
+ * @author Eugen Neufeld
+ */
+public class EMFFormsCategorizationRenderer extends EMFFormsAbstractSpreadsheetRenderer<VCategorization> {
+
+ private final EMFFormsSpreadsheetRendererFactory rendererFactory;
+ private final ReportService reportService;
+
+ /**
+ * Default constructor.
+ *
+ * @param rendererFactory The EMFFormsSpreadsheetRendererFactory to use
+ * @param reportService The {@link ReportService}
+ */
+ public EMFFormsCategorizationRenderer(EMFFormsSpreadsheetRendererFactory rendererFactory,
+ ReportService reportService) {
+ this.rendererFactory = rendererFactory;
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer#render(org.apache.poi.ss.usermodel.Workbook,
+ * org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext,
+ * org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget)
+ */
+ @Override
+ public int render(Workbook workbook, VCategorization vElement, ViewModelContext viewModelContext,
+ EMFFormsSpreadsheetRenderTarget renderTarget) {
+ int numberRenderedColumns = 0;
+ for (final VAbstractCategorization abstractCategorization : vElement.getCategorizations()) {
+ try {
+ final EMFFormsAbstractSpreadsheetRenderer<VElement> renderer = rendererFactory.getRendererInstance(
+ abstractCategorization, viewModelContext);
+ numberRenderedColumns += renderer.render(workbook, abstractCategorization, viewModelContext,
+ renderTarget);
+ } catch (final EMFFormsNoRendererException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ }
+ }
+
+ return numberRenderedColumns;
+ }
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategorizationRendererService.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategorizationRendererService.java
new file mode 100644
index 0000000..8ca1045
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategorizationRendererService.java
@@ -0,0 +1,99 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization;
+
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+
+/**
+ * The {@link EMFFormsSpreadsheetRendererService} for {@link VCategorization}.
+ *
+ * @author Eugen Neufeld
+ */
+@Component
+public class EMFFormsCategorizationRendererService implements EMFFormsSpreadsheetRendererService<VCategorization> {
+
+ private EMFFormsSpreadsheetRendererFactory emfformsSpreadsheetRendererFactory;
+
+ private ReportService reportService;
+
+ /**
+ * The ReportService to use.
+ *
+ * @param reportService the reportService to set
+ */
+ @Reference
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ private ServiceReference<EMFFormsSpreadsheetRendererFactory> serviceReference;
+
+ /**
+ * The activate method.
+ *
+ * @param bundleContext The BundleContext
+ */
+ @Activate
+ public void activate(BundleContext bundleContext) {
+ serviceReference = bundleContext
+ .getServiceReference(EMFFormsSpreadsheetRendererFactory.class);
+ emfformsSpreadsheetRendererFactory = bundleContext
+ .getService(serviceReference);
+ }
+
+ /**
+ * The deactivate method.
+ *
+ * @param bundleContext The BundleContext
+ */
+ @Deactivate
+ public void deactivate(BundleContext bundleContext) {
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (VCategorization.class.isInstance(vElement)) {
+ return 1;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#getRendererInstance(VElement,ViewModelContext)
+ */
+ @Override
+ public EMFFormsAbstractSpreadsheetRenderer<VCategorization> getRendererInstance(VCategorization vElement,
+ ViewModelContext viewModelContext) {
+ return new EMFFormsCategorizationRenderer(emfformsSpreadsheetRendererFactory, reportService);
+ }
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategoryRenderer.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategoryRenderer.java
new file mode 100644
index 0000000..1616659
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategoryRenderer.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization;
+
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.util.WorkbookUtil;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsIdProvider;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetReport;
+
+/**
+ * Spreadsheet renderer for {@link VCategory}.
+ *
+ * @author Eugen Neufeld
+ */
+public class EMFFormsCategoryRenderer extends EMFFormsAbstractSpreadsheetRenderer<VCategory> {
+
+ private final EMFFormsSpreadsheetRendererFactory rendererFactory;
+ private final EMFFormsIdProvider idProvider;
+ private final ReportService reportService;
+
+ /**
+ * Default constructor.
+ *
+ * @param rendererFactory The EMFFormsSpreadsheetRendererFactory to use
+ * @param idProvider The {@link EMFFormsIdProvider} to use
+ * @param reportService The {@link ReportService} to use
+ */
+ public EMFFormsCategoryRenderer(EMFFormsSpreadsheetRendererFactory rendererFactory, EMFFormsIdProvider idProvider,
+ ReportService reportService) {
+ this.rendererFactory = rendererFactory;
+ this.idProvider = idProvider;
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer#render(org.apache.poi.ss.usermodel.Workbook,
+ * org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext,
+ * org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget)
+ */
+ @Override
+ public int render(Workbook workbook, VCategory vElement, ViewModelContext viewModelContext,
+ EMFFormsSpreadsheetRenderTarget renderTarget) {
+ int numberRenderedColumns = 0;
+ try {
+ final EMFFormsAbstractSpreadsheetRenderer<VElement> renderer = rendererFactory.getRendererInstance(
+ vElement.getComposite(), viewModelContext);
+ final String sheetName = WorkbookUtil.createSafeSheetName(vElement.getName());
+ final Sheet sheet = workbook.createSheet(sheetName);
+ sheet.createRow(0).getCell(0, Row.CREATE_NULL_AS_BLANK).setCellValue(EMFFormsIdProvider.ID_COLUMN);
+ sheet.createRow(1).getCell(0, Row.CREATE_NULL_AS_BLANK)
+ .setCellValue(idProvider.getId(viewModelContext.getDomainModel()));
+ numberRenderedColumns += renderer.render(workbook, vElement.getComposite(), viewModelContext,
+ new EMFFormsSpreadsheetRenderTarget(sheetName, 1, 1));
+ } catch (final EMFFormsNoRendererException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ }
+
+ return numberRenderedColumns;
+ }
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategoryRendererService.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategoryRendererService.java
new file mode 100644
index 0000000..9287e34
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/categorization/EMFFormsCategoryRendererService.java
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer.categorization;
+
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsIdProvider;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+
+/**
+ * The {@link EMFFormsSpreadsheetRendererService} for {@link VCategory}.
+ *
+ * @author Eugen Neufeld
+ */
+@Component
+public class EMFFormsCategoryRendererService implements EMFFormsSpreadsheetRendererService<VCategory> {
+
+ private EMFFormsSpreadsheetRendererFactory emfformsSpreadsheetRendererFactory;
+ private EMFFormsIdProvider emfFormsIdProvider;
+
+ private ReportService reportService;
+
+ /**
+ * The ReportService to use.
+ *
+ * @param reportService the reportService to set
+ */
+ @Reference
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ private ServiceReference<EMFFormsSpreadsheetRendererFactory> serviceReference;
+
+ /**
+ * The activate method.
+ *
+ * @param bundleContext The BundleContext
+ */
+ @Activate
+ public void activate(BundleContext bundleContext) {
+ serviceReference = bundleContext
+ .getServiceReference(EMFFormsSpreadsheetRendererFactory.class);
+ emfformsSpreadsheetRendererFactory = bundleContext
+ .getService(serviceReference);
+ }
+
+ /**
+ * The deactivate method.
+ *
+ * @param bundleContext The BundleContext
+ */
+ @Deactivate
+ public void deactivate(BundleContext bundleContext) {
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * The EMFFormsIdProvider to use.
+ *
+ * @param emfFormsIdProvider the EMFFormsIdProvider to set
+ */
+ @Reference
+ protected void setEmfFormsIdProvider(EMFFormsIdProvider emfFormsIdProvider) {
+ this.emfFormsIdProvider = emfFormsIdProvider;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (VCategory.class.isInstance(vElement)) {
+ return 1;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#getRendererInstance(VElement,ViewModelContext)
+ */
+ @Override
+ public EMFFormsAbstractSpreadsheetRenderer<VCategory> getRendererInstance(VCategory vElement,
+ ViewModelContext viewModelContext) {
+ return new EMFFormsCategoryRenderer(emfformsSpreadsheetRendererFactory, emfFormsIdProvider, reportService);
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.classpath
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.project b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.project
new file mode 100644
index 0000000..7fa915e
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.core.renderer.custom</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.wuetherich.osgi.ds.annotations.dsAnnotationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.jdt.core.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/.settings/org.eclipse.pde.prefs
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..243a46c
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms Spreadsheet Custom
+Bundle-SymbolicName: org.eclipse.emfforms.spreadsheet.core.renderer.custom
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Service-Component: OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.custom.EMFFormsSpreadsheetCustomControlRendererService.xml
+Import-Package: org.osgi.service.component.annotations;version="[1.2.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.emfforms.internal.spreadsheet.core.renderer.custom;version="1.0.0";x-internal:=true
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.custom.EMFFormsSpreadsheetCustomControlRendererService.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.custom.EMFFormsSpreadsheetCustomControlRendererService.xml
new file mode 100644
index 0000000..f6c73b8
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.custom.EMFFormsSpreadsheetCustomControlRendererService.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/custom/EMFFormsSpreadsheetCustomControlRendererService.java]-->
+<scr:component name="org.eclipse.emfforms.internal.spreadsheet.core.renderer.custom.EMFFormsSpreadsheetCustomControlRendererService" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+ <implementation class="org.eclipse.emfforms.internal.spreadsheet.core.renderer.custom.EMFFormsSpreadsheetCustomControlRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/build.properties b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/build.properties
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/build.properties
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/build.properties
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/pom.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/pom.xml
new file mode 100644
index 0000000..03f1f16
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-bundles-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../../releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.bundles/</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>org.eclipse.emfforms.spreadsheet.core.renderer.custom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/custom/EMFFormsSpreadsheetCustomControlRenderer.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/custom/EMFFormsSpreadsheetCustomControlRenderer.java
new file mode 100644
index 0000000..88de45f
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/custom/EMFFormsSpreadsheetCustomControlRenderer.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer.custom;
+
+import org.apache.poi.ss.usermodel.Workbook;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.custom.model.VCustomControl;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget;
+
+/**
+ * Spreadsheet renderer for {@link VCustomControl}.
+ *
+ * @author Eugen Neufeld
+ */
+public class EMFFormsSpreadsheetCustomControlRenderer extends EMFFormsAbstractSpreadsheetRenderer<VCustomControl> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer#render(org.apache.poi.ss.usermodel.Workbook,
+ * org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext,
+ * org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget)
+ */
+ @Override
+ public int render(Workbook workbook, VCustomControl vElement, ViewModelContext viewModelContext,
+ EMFFormsSpreadsheetRenderTarget eMFFormsSpreadsheetRenderTarget) {
+ return 0;
+ }
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/custom/EMFFormsSpreadsheetCustomControlRendererService.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/custom/EMFFormsSpreadsheetCustomControlRendererService.java
new file mode 100644
index 0000000..49aa600
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/custom/EMFFormsSpreadsheetCustomControlRendererService.java
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer.custom;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.custom.model.VCustomControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * The {@link EMFFormsSpreadsheetRendererService} for {@link VCustomControl}.
+ *
+ * @author Eugen Neufeld
+ */
+@Component
+public class EMFFormsSpreadsheetCustomControlRendererService implements EMFFormsSpreadsheetRendererService<VCustomControl> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement,
+ ViewModelContext viewModelContext) {
+ if (VCustomControl.class.isInstance(vElement)) {
+ return 2;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public EMFFormsAbstractSpreadsheetRenderer<VCustomControl> getRendererInstance(VCustomControl vElement,
+ ViewModelContext viewModelContext) {
+ return new EMFFormsSpreadsheetCustomControlRenderer();
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.classpath
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.project b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.project
new file mode 100644
index 0000000..7c40c3e
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.core.renderer.table</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.wuetherich.osgi.ds.annotations.dsAnnotationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.jdt.core.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/.settings/org.eclipse.pde.prefs
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..838703f
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms Spreadsheet Table
+Bundle-SymbolicName: org.eclipse.emfforms.spreadsheet.core.renderer.table
+Bundle-Version: 1.0.0.qualifier
+Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emfforms.spreadsheet.core.renderer;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.6.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Service-Component: OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.table.EMFFormsSpreadsheetTableControlRendererService.xml
+Import-Package: org.osgi.framework;version="1.8.0",
+ org.osgi.service.component.annotations;version="[1.2.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.emfforms.internal.spreadsheet.core.renderer.table;version="1.0.0";x-internal:=true
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.table.EMFFormsSpreadsheetTableControlRendererService.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.table.EMFFormsSpreadsheetTableControlRendererService.xml
new file mode 100644
index 0000000..ea2178e
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.table.EMFFormsSpreadsheetTableControlRendererService.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/table/EMFFormsSpreadsheetTableControlRendererService.java]-->
+<scr:component name="org.eclipse.emfforms.internal.spreadsheet.core.renderer.table.EMFFormsSpreadsheetTableControlRendererService" activate="activate" deactivate="deactivate" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0">
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService"/>
+ </service>
+ <reference name="VTViewTemplateProvider" interface="org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider" bind="setVTViewTemplateProvider"/>
+ <reference name="ReportService" interface="org.eclipse.emfforms.spi.common.report.ReportService" bind="setReportService"/>
+ <reference name="EmfformsDatabinding" interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding" bind="setEmfformsDatabinding"/>
+ <reference name="EmfformsLabelProvider" interface="org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider" bind="setEmfformsLabelProvider"/>
+ <implementation class="org.eclipse.emfforms.internal.spreadsheet.core.renderer.table.EMFFormsSpreadsheetTableControlRendererService"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/build.properties b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/build.properties
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/build.properties
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/build.properties
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/pom.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/pom.xml
new file mode 100644
index 0000000..8763c23
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-bundles-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../../releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.bundles/</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>org.eclipse.emfforms.spreadsheet.core.renderer.table</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/table/EMFFormsSpreadsheetTableControlRenderer.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/table/EMFFormsSpreadsheetTableControlRenderer.java
new file mode 100644
index 0000000..3b22a76
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/table/EMFFormsSpreadsheetTableControlRenderer.java
@@ -0,0 +1,206 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer.table;
+
+import java.util.Collections;
+
+import org.apache.poi.ss.usermodel.Workbook;
+import org.eclipse.core.databinding.observable.list.IObservableList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexdmrFactory;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
+import org.eclipse.emf.ecp.view.spi.table.model.DetailEditing;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsSpreadsheetViewModelContext;
+import org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetControlRenderer;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsExportTableParent;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetReport;
+
+/**
+ * Spreadsheet renderer for {@link VTableControl}.
+ *
+ * @author Eugen Neufeld
+ */
+@SuppressWarnings("restriction")
+public class EMFFormsSpreadsheetTableControlRenderer extends EMFFormsAbstractSpreadsheetRenderer<VTableControl> {
+
+ private final EMFFormsDatabinding emfformsDatabinding;
+ private final EMFFormsLabelProvider emfformsLabelProvider;
+ private final ReportService reportService;
+ private final EMFFormsSpreadsheetRendererFactory rendererFactory;
+ private final VTViewTemplateProvider vtViewTemplateProvider;
+
+ /**
+ * Default constructor.
+ *
+ * @param emfformsDatabinding The EMFFormsDatabinding to use
+ * @param emfformsLabelProvider The EMFFormsLabelProvider to use
+ * @param reportService The {@link ReportService}
+ * @param rendererFactory The EMFFormsSpreadsheetRendererFactory to use
+ * @param vtViewTemplateProvider The VTViewTemplateProvider to use
+ */
+ public EMFFormsSpreadsheetTableControlRenderer(EMFFormsDatabinding emfformsDatabinding,
+ EMFFormsLabelProvider emfformsLabelProvider, ReportService reportService,
+ EMFFormsSpreadsheetRendererFactory rendererFactory, VTViewTemplateProvider vtViewTemplateProvider) {
+ this.emfformsDatabinding = emfformsDatabinding;
+ this.emfformsLabelProvider = emfformsLabelProvider;
+ this.reportService = reportService;
+ this.rendererFactory = rendererFactory;
+ this.vtViewTemplateProvider = vtViewTemplateProvider;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer#render(org.apache.poi.ss.usermodel.Workbook,
+ * org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext,
+ * org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget)
+ */
+
+ @Override
+ public int render(Workbook workbook, VTableControl vElement, final ViewModelContext viewModelContext,
+ EMFFormsSpreadsheetRenderTarget eMFFormsSpreadsheetRenderTarget) {
+ final EMFFormsSpreadsheetControlRenderer controlRenderer = new EMFFormsSpreadsheetControlRenderer(
+ emfformsDatabinding,
+ emfformsLabelProvider, reportService, vtViewTemplateProvider);
+ int numColumns = 0;
+ try {
+ final IObservableList observableList = emfformsDatabinding.getObservableList(
+ vElement.getDomainModelReference(), viewModelContext.getDomainModel());
+
+ final VTableDomainModelReference tableDomainModelReference = (VTableDomainModelReference) vElement
+ .getDomainModelReference();
+
+ final EMFFormsExportTableParent exportTableParent = (EMFFormsExportTableParent) viewModelContext
+ .getContextValue(EMFFormsExportTableParent.EXPORT_TABLE_PARENT);
+
+ for (int i = 0; i < Math.max(observableList.size(), 3); i++) {
+ String prefixName = (String) emfformsLabelProvider.getDisplayName(
+ tableDomainModelReference.getDomainModelReference())
+ .getValue();
+ if (prefixName == null || prefixName.length() == 0) {
+ try {
+ prefixName = EStructuralFeature.class.cast(
+ emfformsDatabinding.getValueProperty(
+ tableDomainModelReference.getDomainModelReference(),
+ viewModelContext.getDomainModel()).getValueType()).getName();
+ } catch (final DatabindingFailedException ex) {
+ reportService
+ .report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ }
+ }
+
+ final VIndexDomainModelReference indexDMR = VIndexdmrFactory.eINSTANCE
+ .createIndexDomainModelReference();
+ indexDMR.setPrefixDMR(EcoreUtil.copy(tableDomainModelReference.getDomainModelReference()));
+ indexDMR.setIndex(i);
+
+ EMFFormsExportTableParent tableParent;
+ if (exportTableParent == null) {
+ tableParent = new EMFFormsExportTableParent(indexDMR, indexDMR,
+ prefixName);
+ } else {
+ final VIndexDomainModelReference wrapper = exportTableParent.getIndexDMRToExtend();
+ wrapper.setTargetDMR(indexDMR);
+ tableParent = new EMFFormsExportTableParent(indexDMR, exportTableParent.getIndexDMRToResolve(),
+ exportTableParent.getLabelPrefix()
+ + "_" + prefixName); //$NON-NLS-1$
+ }
+ for (final VDomainModelReference domainModelReference : tableDomainModelReference
+ .getColumnDomainModelReferences()) {
+
+ final VControl vControl = VViewFactory.eINSTANCE.createControl();
+
+ vControl.setDomainModelReference(EcoreUtil.copy(domainModelReference));
+ // if (exportTableParent != null) {
+ // indexDMR.setTargetDMR(EcoreUtil.copy(domainModelReference));
+ // vControl.setDomainModelReference(EcoreUtil.copy(indexDMR));
+ // }
+ final ViewModelContext subViewModelContext = new EMFFormsSpreadsheetViewModelContext(
+ (VView) viewModelContext.getViewModel(),
+ viewModelContext.getDomainModel());
+ subViewModelContext.putContextValue(EMFFormsExportTableParent.EXPORT_TABLE_PARENT, tableParent);
+
+ numColumns += controlRenderer.render(workbook, vControl, subViewModelContext,
+ new EMFFormsSpreadsheetRenderTarget(
+ eMFFormsSpreadsheetRenderTarget.getSheetName(), eMFFormsSpreadsheetRenderTarget.getRow(),
+ eMFFormsSpreadsheetRenderTarget.getColumn()
+ + numColumns));
+ }
+
+ if (vElement.getDetailEditing() != DetailEditing.NONE) {
+ EObject tableEntry;
+ if (observableList.size() > i) {
+ tableEntry = (EObject) observableList.get(i);
+ } else {
+ tableEntry = EcoreUtil.create(EReference.class.cast(observableList.getElementType())
+ .getEReferenceType());
+ }
+ final VView viewModel = getView(vElement, tableEntry);
+
+ final ViewModelContext subViewModelContext = new EMFFormsSpreadsheetViewModelContext(viewModel,
+ viewModelContext.getDomainModel());
+
+ subViewModelContext.putContextValue(EMFFormsExportTableParent.EXPORT_TABLE_PARENT, tableParent);
+ try {
+ final EMFFormsAbstractSpreadsheetRenderer<VElement> renderer = rendererFactory
+ .getRendererInstance(viewModel, subViewModelContext);
+ final int renderedColumns = renderer.render(workbook,
+ viewModel, subViewModelContext, new EMFFormsSpreadsheetRenderTarget(
+ eMFFormsSpreadsheetRenderTarget.getSheetName(),
+ eMFFormsSpreadsheetRenderTarget.getRow(), eMFFormsSpreadsheetRenderTarget.getColumn()
+ + numColumns));
+
+ numColumns += renderedColumns;
+ } catch (final EMFFormsNoRendererException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ }
+ }
+ }
+
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ } catch (final NoLabelFoundException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ }
+ return numColumns;
+ }
+
+ private VView getView(VTableControl tableControl, EObject domainObject) throws DatabindingFailedException {
+ VView detailView = tableControl.getDetailView();
+ if (detailView == null) {
+ detailView = ViewProviderHelper.getView(domainObject, Collections.<String, Object> emptyMap());
+ }
+ return detailView;
+ }
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/table/EMFFormsSpreadsheetTableControlRendererService.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/table/EMFFormsSpreadsheetTableControlRendererService.java
new file mode 100644
index 0000000..a5b3d31
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/table/EMFFormsSpreadsheetTableControlRendererService.java
@@ -0,0 +1,139 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer.table;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+
+/**
+ * The {@link EMFFormsSpreadsheetRendererService} for {@link VTableControl}.
+ *
+ * @author Eugen Neufeld
+ */
+@Component
+public class EMFFormsSpreadsheetTableControlRendererService implements
+ EMFFormsSpreadsheetRendererService<VTableControl> {
+
+ private EMFFormsDatabinding emfformsDatabinding;
+ private EMFFormsLabelProvider emfformsLabelProvider;
+ private ReportService reportService;
+ private EMFFormsSpreadsheetRendererFactory emfformsSpreadsheetRendererFactory;
+ private VTViewTemplateProvider vtViewTemplateProvider;
+
+ /**
+ * The VTViewTemplateProvider to use.
+ *
+ * @param vtViewTemplateProvider the VTViewTemplateProvider to set
+ */
+ @Reference
+ protected void setVTViewTemplateProvider(VTViewTemplateProvider vtViewTemplateProvider) {
+ this.vtViewTemplateProvider = vtViewTemplateProvider;
+ }
+
+ /**
+ * The ReportService to use.
+ *
+ * @param reportService the reportService to set
+ */
+ @Reference
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * Set the EMFFormsDatabinding to use.
+ *
+ * @param emfformsDatabinding The EMFFormsDatabinding to use
+ */
+ @Reference
+ protected void setEmfformsDatabinding(EMFFormsDatabinding emfformsDatabinding) {
+ this.emfformsDatabinding = emfformsDatabinding;
+ }
+
+ /**
+ * Set the EMFFormsLabelProvider to use.
+ *
+ * @param emfformsLabelProvider The EMFFormsLabelProvider to use
+ */
+ @Reference
+ protected void setEmfformsLabelProvider(EMFFormsLabelProvider emfformsLabelProvider) {
+ this.emfformsLabelProvider = emfformsLabelProvider;
+ }
+
+ private ServiceReference<EMFFormsSpreadsheetRendererFactory> serviceReference;
+
+ /**
+ * The activate method.
+ *
+ * @param bundleContext The BundleContext
+ */
+ @Activate
+ public void activate(BundleContext bundleContext) {
+ serviceReference = bundleContext
+ .getServiceReference(EMFFormsSpreadsheetRendererFactory.class);
+ emfformsSpreadsheetRendererFactory = bundleContext
+ .getService(serviceReference);
+ }
+
+ /**
+ * The deactivate method.
+ *
+ * @param bundleContext The BundleContext
+ */
+ @Deactivate
+ public void deactivate(BundleContext bundleContext) {
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement,
+ ViewModelContext viewModelContext) {
+ if (VTableControl.class.isInstance(vElement)) {
+ return 2;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public EMFFormsAbstractSpreadsheetRenderer<VTableControl> getRendererInstance(
+ VTableControl vElement, ViewModelContext viewModelContext) {
+ return new EMFFormsSpreadsheetTableControlRenderer(emfformsDatabinding, emfformsLabelProvider, reportService,
+ emfformsSpreadsheetRendererFactory, vtViewTemplateProvider);
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.classpath
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.project b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.project
new file mode 100644
index 0000000..5927d33
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.core.renderer</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.wuetherich.osgi.ds.annotations.dsAnnotationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.jdt.core.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/.settings/org.eclipse.pde.prefs
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..8099581
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/META-INF/MANIFEST.MF
@@ -0,0 +1,28 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Renderer
+Bundle-SymbolicName: org.eclipse.emfforms.spreadsheet.core.renderer
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: Eclipse Modeling Project
+Export-Package: org.eclipse.emfforms.internal.spreadsheet.core.renderer;version="1.0.0";x-internal:=true
+Require-Bundle: org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.3.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Service-Component: OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetContainerRendererService.xml,
+ OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetControlRendererService.xml,
+ OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetElementRendererService.xml,
+ OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetViewRendererService.xml
+Bundle-ActivationPolicy: lazy
+Import-Package: org.eclipse.core.databinding.observable;version="0.0.0",
+ org.eclipse.core.databinding.observable.value;version="0.0.0",
+ org.eclipse.emf.ecore.xmi;version="0.0.0",
+ org.eclipse.emf.ecp.view.spi.context;version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.spi.core.services.label;version="[1.6.0,2.0.0)",
+ org.osgi.framework;version="1.6.0",
+ org.osgi.service.component.annotations;version="1.2.0"
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetContainerRendererService.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetContainerRendererService.xml
new file mode 100644
index 0000000..3db93c7
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetContainerRendererService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetContainerRendererService.java]-->
+<scr:component name="org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetContainerRendererService" activate="activate" deactivate="deactivate" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0">
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService"/>
+ </service>
+ <reference name="ReportService" interface="org.eclipse.emfforms.spi.common.report.ReportService" bind="setReportService"/>
+ <implementation class="org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetContainerRendererService"/>
+</scr:component>
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetControlRendererService.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetControlRendererService.xml
new file mode 100644
index 0000000..8f3504f
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetControlRendererService.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetControlRendererService.java]-->
+<scr:component name="org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetControlRendererService" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+ <implementation class="org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetControlRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService"/>
+ </service>
+ <reference name="VTViewTemplateProvider" interface="org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider" bind="setVTViewTemplateProvider"/>
+ <reference name="ReportService" interface="org.eclipse.emfforms.spi.common.report.ReportService" bind="setReportService"/>
+ <reference name="EmfformsDatabinding" interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding" bind="setEmfformsDatabinding"/>
+ <reference name="EmfformsLabelProvider" interface="org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider" bind="setEmfformsLabelProvider"/>
+</scr:component>
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetElementRendererService.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetElementRendererService.xml
new file mode 100644
index 0000000..3d052ad
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetElementRendererService.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetElementRendererService.java]-->
+<scr:component name="org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetElementRendererService" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+ <implementation class="org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetElementRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService"/>
+ </service>
+</scr:component>
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetViewRendererService.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetViewRendererService.xml
new file mode 100644
index 0000000..807c37d
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetViewRendererService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetViewRendererService.java]-->
+<scr:component name="org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetViewRendererService" activate="activate" deactivate="deactivate" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0">
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService"/>
+ </service>
+ <reference name="ReportService" interface="org.eclipse.emfforms.spi.common.report.ReportService" bind="setReportService"/>
+ <implementation class="org.eclipse.emfforms.internal.spreadsheet.core.renderer.EMFFormsSpreadsheetViewRendererService"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/build.properties b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/build.properties
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/build.properties
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/build.properties
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/pom.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/pom.xml
new file mode 100644
index 0000000..6e4833f
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-bundles-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../../releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.bundles/</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>org.eclipse.emfforms.spreadsheet.core.renderer</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetContainerRenderer.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetContainerRenderer.java
new file mode 100644
index 0000000..7906ea0
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetContainerRenderer.java
@@ -0,0 +1,79 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer;
+
+import org.apache.poi.ss.usermodel.Workbook;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
+import org.eclipse.emf.ecp.view.spi.model.VContainer;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetReport;
+
+/**
+ * Spreadsheet renderer for {@link VContainer}.
+ *
+ * @author Eugen Neufeld
+ */
+public class EMFFormsSpreadsheetContainerRenderer extends
+ EMFFormsAbstractSpreadsheetRenderer<VContainer> {
+
+ private final EMFFormsSpreadsheetRendererFactory rendererFactory;
+ private final ReportService reportService;
+
+ /**
+ * Default constructor.
+ *
+ * @param rendererFactory The EMFFormsSpreadsheetRendererFactory to use
+ * @param reportService The {@link ReportService}
+ */
+ public EMFFormsSpreadsheetContainerRenderer(EMFFormsSpreadsheetRendererFactory rendererFactory,
+ ReportService reportService) {
+ this.rendererFactory = rendererFactory;
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer#render(org.apache.poi.ss.usermodel.Workbook,
+ * org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext,
+ * org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget)
+ */
+ @Override
+ public int render(Workbook workbook, VContainer vContainer,
+ ViewModelContext viewModelContext,
+ EMFFormsSpreadsheetRenderTarget eMFFormsSpreadsheetRenderTarget) {
+ int numberRenderedColumns = 0;
+ for (final VContainedElement containedElement : vContainer
+ .getChildren()) {
+ try {
+ final EMFFormsAbstractSpreadsheetRenderer<VElement> renderer = rendererFactory
+ .getRendererInstance(containedElement, viewModelContext);
+ final int renderedColumns = renderer.render(workbook,
+ containedElement, viewModelContext, new EMFFormsSpreadsheetRenderTarget(
+ eMFFormsSpreadsheetRenderTarget.getSheetName(),
+ eMFFormsSpreadsheetRenderTarget.getRow(), eMFFormsSpreadsheetRenderTarget.getColumn()));
+ eMFFormsSpreadsheetRenderTarget.setColumn(eMFFormsSpreadsheetRenderTarget.getColumn()
+ + renderedColumns);
+ numberRenderedColumns += renderedColumns;
+ } catch (final EMFFormsNoRendererException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ }
+ }
+ return numberRenderedColumns;
+ }
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetContainerRendererService.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetContainerRendererService.java
new file mode 100644
index 0000000..4f5c0d1
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetContainerRendererService.java
@@ -0,0 +1,102 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VContainer;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+
+/**
+ * The {@link EMFFormsSpreadsheetRendererService} for {@link VContainer}.
+ *
+ * @author Eugen Neufeld
+ */
+@Component
+public class EMFFormsSpreadsheetContainerRendererService implements
+ EMFFormsSpreadsheetRendererService<VContainer> {
+
+ private EMFFormsSpreadsheetRendererFactory emfformsSpreadsheetRendererFactory;
+ private ReportService reportService;
+
+ /**
+ * The ReportService to use.
+ *
+ * @param reportService the reportService to set
+ */
+ @Reference
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ private ServiceReference<EMFFormsSpreadsheetRendererFactory> serviceReference;
+
+ /**
+ * The activate method.
+ *
+ * @param bundleContext The BundleContext
+ */
+ @Activate
+ public void activate(BundleContext bundleContext) {
+ serviceReference = bundleContext
+ .getServiceReference(EMFFormsSpreadsheetRendererFactory.class);
+ emfformsSpreadsheetRendererFactory = bundleContext
+ .getService(serviceReference);
+ }
+
+ /**
+ * The deactivate method.
+ *
+ * @param bundleContext The BundleContext
+ */
+ @Deactivate
+ public void deactivate(BundleContext bundleContext) {
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement,
+ ViewModelContext viewModelContext) {
+ if (VContainer.class.isInstance(vElement)) {
+ return 1;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public EMFFormsAbstractSpreadsheetRenderer<VContainer> getRendererInstance(
+ VContainer vElement, ViewModelContext viewModelContext) {
+ return new EMFFormsSpreadsheetContainerRenderer(emfformsSpreadsheetRendererFactory, reportService);
+ }
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetControlRenderer.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetControlRenderer.java
new file mode 100644
index 0000000..5aaa358
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetControlRenderer.java
@@ -0,0 +1,293 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.ClientAnchor;
+import org.apache.poi.ss.usermodel.Comment;
+import org.apache.poi.ss.usermodel.CreationHelper;
+import org.apache.poi.ss.usermodel.Drawing;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.URIConverter.WriteableOutputStream;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.template.model.VTStyleProperty;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emf.ecp.view.template.style.mandatory.model.VTMandatoryFactory;
+import org.eclipse.emf.ecp.view.template.style.mandatory.model.VTMandatoryStyleProperty;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsExportTableParent;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetReport;
+
+/**
+ * Spreadsheet renderer for {@link VControl}.
+ *
+ * @author Eugen Neufeld
+ */
+public class EMFFormsSpreadsheetControlRenderer extends EMFFormsAbstractSpreadsheetRenderer<VControl> {
+
+ private final EMFFormsDatabinding emfformsDatabinding;
+ private final EMFFormsLabelProvider emfformsLabelProvider;
+ private final ReportService reportService;
+ private final VTViewTemplateProvider vtViewTemplateProvider;
+
+ /**
+ * Default constructor.
+ *
+ * @param emfformsDatabinding The EMFFormsDatabinding to use
+ * @param emfformsLabelProvider The EMFFormsLabelProvider to use
+ * @param reportService The {@link ReportService}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ */
+ public EMFFormsSpreadsheetControlRenderer(EMFFormsDatabinding emfformsDatabinding,
+ EMFFormsLabelProvider emfformsLabelProvider, ReportService reportService,
+ VTViewTemplateProvider vtViewTemplateProvider) {
+ this.emfformsDatabinding = emfformsDatabinding;
+ this.emfformsLabelProvider = emfformsLabelProvider;
+ this.reportService = reportService;
+ this.vtViewTemplateProvider = vtViewTemplateProvider;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer#render(org.apache.poi.ss.usermodel.Workbook,
+ * org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext,
+ * org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget)
+ */
+ @Override
+ public int render(Workbook workbook, VControl vElement,
+ ViewModelContext viewModelContext, EMFFormsSpreadsheetRenderTarget renderTarget) {
+ Sheet sheet = workbook.getSheet(renderTarget.getSheetName());
+ if (sheet == null) {
+ sheet = workbook.createSheet(renderTarget.getSheetName());
+ }
+ Row labelRow = sheet.getRow(0);
+ if (labelRow == null) {
+ labelRow = sheet.createRow(0);
+ }
+ Row descriptionRow = sheet.getRow(1);
+ if (descriptionRow == null) {
+ descriptionRow = sheet.createRow(1);
+ }
+
+ Row formatRow = sheet.getRow(2);
+ if (formatRow == null) {
+ formatRow = sheet.createRow(2);
+ }
+
+ Row valueRow = sheet.getRow(renderTarget.getRow() + 3);
+ if (valueRow == null) {
+ valueRow = sheet.createRow(renderTarget.getRow() + 3);
+ }
+ final Cell labelCell = labelRow.getCell(renderTarget.getColumn(),
+ Row.CREATE_NULL_AS_BLANK);
+ final Cell descriptionCell = descriptionRow.getCell(renderTarget.getColumn(),
+ Row.CREATE_NULL_AS_BLANK);
+ final Cell formatCell = formatRow.getCell(renderTarget.getColumn(),
+ Row.CREATE_NULL_AS_BLANK);
+
+ final Cell valueCell = valueRow.getCell(renderTarget.getColumn(),
+ Row.CREATE_NULL_AS_BLANK);
+
+ try {
+ final EMFFormsExportTableParent exportTableParent = (EMFFormsExportTableParent) viewModelContext
+ .getContextValue(EMFFormsExportTableParent.EXPORT_TABLE_PARENT);
+ VDomainModelReference dmrToResolve = EcoreUtil.copy(vElement.getDomainModelReference());
+ if (exportTableParent != null) {
+ final VIndexDomainModelReference indexDMR = exportTableParent.getIndexDMRToExtend();
+ indexDMR.setTargetDMR(dmrToResolve);
+
+ dmrToResolve = exportTableParent.getIndexDMRToResolve();
+ }
+
+ final IObservableValue displayName = emfformsLabelProvider
+ .getDisplayName(dmrToResolve, viewModelContext.getDomainModel());
+ String labelValue = displayName.getValue().toString();
+ if (exportTableParent != null) {
+ labelValue = exportTableParent.getLabelPrefix() + "_" + labelValue; //$NON-NLS-1$
+ }
+
+ String extra = ""; //$NON-NLS-1$
+ final VTMandatoryStyleProperty mandatoryStyle = getMandatoryStyle(vElement, viewModelContext);
+ final EStructuralFeature structuralFeature = (EStructuralFeature) emfformsDatabinding.getValueProperty(
+ dmrToResolve, viewModelContext.getDomainModel()).getValueType();
+ if (mandatoryStyle.isHighliteMandatoryFields() && structuralFeature.getLowerBound() > 0) {
+ extra = mandatoryStyle.getMandatoryMarker();
+ }
+ labelValue = labelValue + extra;
+
+ labelCell.setCellValue(labelValue);
+ displayName.dispose();
+
+ final IObservableValue description = emfformsLabelProvider
+ .getDescription(dmrToResolve, viewModelContext.getDomainModel());
+ descriptionCell.setCellValue(description.getValue().toString());
+ description.dispose();
+
+ final String format = getFormatDescription(structuralFeature);
+ formatCell.setCellValue(format);
+
+ final IObservableValue observableValue = emfformsDatabinding
+ .getObservableValue(dmrToResolve,
+ viewModelContext.getDomainModel());
+ valueCell.setCellValue(getValueString(observableValue.getValue(), observableValue.getValueType()));
+ observableValue.dispose();
+
+ final Comment comment = createComment(workbook, sheet, dmrToResolve,
+ renderTarget.getRow(), renderTarget.getColumn());
+ labelCell.setCellComment(comment);
+
+ return 1;
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ } catch (final NoLabelFoundException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ } catch (final IOException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ }
+
+ return 0;
+ }
+
+ private String getFormatDescription(final EStructuralFeature structuralFeature) {
+ final StringBuilder sb = new StringBuilder();
+ for (final EAnnotation eAnnotation : structuralFeature.getEAnnotations()) {
+ final EMap<String, String> details = eAnnotation.getDetails();
+ for (final String key : details.keySet()) {
+ if ("http:///org/eclipse/emf/ecore/util/ExtendedMetaData".equals(eAnnotation.getSource())) { //$NON-NLS-1$
+ if ("kind".equals(key)) { //$NON-NLS-1$
+ continue;
+ }
+ if ("name".equals(key)) { //$NON-NLS-1$
+ continue;
+ }
+ if ("baseType".equals(key)) { //$NON-NLS-1$
+ continue;
+ }
+ }
+ sb.append(key);
+ sb.append("="); //$NON-NLS-1$
+ sb.append(details.get(key));
+ sb.append("\t"); //$NON-NLS-1$
+ }
+ }
+ return sb.toString().trim();
+ }
+
+ private VTMandatoryStyleProperty getMandatoryStyle(VElement vElement, ViewModelContext viewModelContext) {
+ if (vtViewTemplateProvider == null) {
+ return getDefaultStyle();
+ }
+ final Set<VTStyleProperty> styleProperties = vtViewTemplateProvider
+ .getStyleProperties(vElement, viewModelContext);
+ for (final VTStyleProperty styleProperty : styleProperties) {
+ if (VTMandatoryStyleProperty.class.isInstance(styleProperty)) {
+ return (VTMandatoryStyleProperty) styleProperty;
+ }
+ }
+ return getDefaultStyle();
+ }
+
+ private VTMandatoryStyleProperty getDefaultStyle() {
+ return VTMandatoryFactory.eINSTANCE.createMandatoryStyleProperty();
+ }
+
+ private String getValueString(Object fromObject, Object valueType) {
+ if (EAttribute.class.isInstance(valueType)) {
+ final EAttribute eAttribute = (EAttribute) valueType;
+ final EDataType eDataType = eAttribute.getEAttributeType();
+ final EFactory eFactory = eDataType.getEPackage().getEFactoryInstance();
+
+ if (eAttribute.isMany())
+ {
+ final StringBuilder result = new StringBuilder();
+ for (final Object value : (List<?>) fromObject)
+ {
+ if (result.length() == 0)
+ {
+ result.append(' ');
+ }
+ result.append(eFactory.convertToString(eDataType, value));
+ }
+ return result.toString();
+ }
+ return eFactory.convertToString(eDataType, fromObject);
+ }
+ if (fromObject == null) {
+ return ""; //$NON-NLS-1$
+ }
+ return fromObject.toString();
+ }
+
+ private Comment createComment(Workbook workbook, Sheet sheet, VDomainModelReference domainModelReference, int row,
+ int column) throws IOException {
+ final CreationHelper factory = workbook.getCreationHelper();
+
+ // When the comment box is visible, have it show in a 1x3 space
+ final ClientAnchor anchor = factory.createClientAnchor();
+ anchor.setCol1(column);
+ anchor.setCol2(column + 1);
+ anchor.setRow1(row);
+ anchor.setRow2(row + 1);
+
+ final Drawing drawing = sheet.createDrawingPatriarch();
+ final Comment comment = drawing.createCellComment(anchor);
+
+ comment.setAuthor("EMFForms Spreadsheet Renderer"); //$NON-NLS-1$
+ comment.setVisible(false);
+ comment.setString(factory.createRichTextString(getSerializedDMR(domainModelReference)));
+ return comment;
+ }
+
+ private String getSerializedDMR(VDomainModelReference domainModelReference) throws IOException {
+ final ResourceSet rs = new ResourceSetImpl();
+ final Resource resource = rs.createResource(URI.createURI("VIRTAUAL_URI")); //$NON-NLS-1$
+ resource.getContents().add(EcoreUtil.copy(domainModelReference));
+
+ final StringWriter sw = new StringWriter();
+ final WriteableOutputStream os = new WriteableOutputStream(sw, "UTF-8"); //$NON-NLS-1$
+
+ resource.save(os, null);
+ final String value = sw.getBuffer().toString();
+ return value;
+ }
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetControlRendererService.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetControlRendererService.java
new file mode 100644
index 0000000..6ecfb91
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetControlRendererService.java
@@ -0,0 +1,108 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+
+/**
+ * The {@link EMFFormsSpreadsheetRendererService} for {@link VControl}.
+ *
+ * @author Eugen Neufeld
+ */
+@Component
+public class EMFFormsSpreadsheetControlRendererService implements
+ EMFFormsSpreadsheetRendererService<VControl> {
+
+ private EMFFormsDatabinding emfformsDatabinding;
+ private EMFFormsLabelProvider emfformsLabelProvider;
+ private ReportService reportService;
+ private VTViewTemplateProvider vtViewTemplateProvider;
+
+ /**
+ * The VTViewTemplateProvider to use.
+ *
+ * @param vtViewTemplateProvider the VTViewTemplateProvider to set
+ */
+ @Reference
+ protected void setVTViewTemplateProvider(VTViewTemplateProvider vtViewTemplateProvider) {
+ this.vtViewTemplateProvider = vtViewTemplateProvider;
+ }
+
+ /**
+ * The ReportService to use.
+ *
+ * @param reportService the reportService to set
+ */
+ @Reference
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * Set the EMFFormsDatabinding to use.
+ *
+ * @param emfformsDatabinding The EMFFormsDatabinding to use
+ */
+ @Reference
+ public void setEmfformsDatabinding(EMFFormsDatabinding emfformsDatabinding) {
+ this.emfformsDatabinding = emfformsDatabinding;
+ }
+
+ /**
+ * Set the EMFFormsLabelProvider to use.
+ *
+ * @param emfformsLabelProvider The EMFFormsLabelProvider to use
+ */
+ @Reference
+ public void setEmfformsLabelProvider(EMFFormsLabelProvider emfformsLabelProvider) {
+ this.emfformsLabelProvider = emfformsLabelProvider;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement,
+ ViewModelContext viewModelContext) {
+ if (VControl.class.isInstance(vElement)) {
+ return 1;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public EMFFormsAbstractSpreadsheetRenderer<VControl> getRendererInstance(
+ VControl vElement, ViewModelContext viewModelContext) {
+ return new EMFFormsSpreadsheetControlRenderer(emfformsDatabinding, emfformsLabelProvider, reportService,
+ vtViewTemplateProvider);
+ }
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetElementRenderer.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetElementRenderer.java
new file mode 100644
index 0000000..87e6789
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetElementRenderer.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer;
+
+import org.apache.poi.ss.usermodel.Workbook;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget;
+
+/**
+ * Spreadsheet renderer for {@link VElement}.
+ *
+ * @author Eugen Neufeld
+ */
+public class EMFFormsSpreadsheetElementRenderer extends EMFFormsAbstractSpreadsheetRenderer<VElement> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer#render(org.apache.poi.ss.usermodel.Workbook,
+ * org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext,
+ * org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget)
+ */
+ @Override
+ public int render(Workbook workbook, VElement vElement,
+ ViewModelContext viewModelContext,
+ EMFFormsSpreadsheetRenderTarget eMFFormsSpreadsheetRenderTarget) {
+ return 0;
+ }
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetElementRendererService.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetElementRendererService.java
new file mode 100644
index 0000000..3e75172
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetElementRendererService.java
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * The {@link EMFFormsSpreadsheetRendererService} for {@link VElement}.
+ *
+ * @author Eugen Neufeld
+ */
+@Component
+public class EMFFormsSpreadsheetElementRendererService implements
+ EMFFormsSpreadsheetRendererService<VElement> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement,
+ ViewModelContext viewModelContext) {
+ if (VElement.class.isInstance(vElement)) {
+ return 0;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public EMFFormsAbstractSpreadsheetRenderer<VElement> getRendererInstance(
+ VElement vElement, ViewModelContext viewModelContext) {
+ return new EMFFormsSpreadsheetElementRenderer();
+ }
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetViewRenderer.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetViewRenderer.java
new file mode 100644
index 0000000..f6312b8
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetViewRenderer.java
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer;
+
+import org.apache.poi.ss.usermodel.Workbook;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetReport;
+
+/**
+ * Spreadsheet renderer for {@link VView}.
+ *
+ * @author Eugen Neufeld
+ */
+public class EMFFormsSpreadsheetViewRenderer extends EMFFormsAbstractSpreadsheetRenderer<VView> {
+
+ private final EMFFormsSpreadsheetRendererFactory rendererFactory;
+ private final ReportService reportService;
+
+ /**
+ * Default constructor.
+ *
+ * @param rendererFactory The EMFFormsSpreadsheetRendererFactory to use
+ * @param reportService The {@link ReportService}
+ */
+ public EMFFormsSpreadsheetViewRenderer(EMFFormsSpreadsheetRendererFactory rendererFactory,
+ ReportService reportService) {
+ this.rendererFactory = rendererFactory;
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer#render(org.apache.poi.ss.usermodel.Workbook,
+ * org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext,
+ * org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget)
+ */
+ @Override
+ public int render(Workbook workbook, VView vContainer, ViewModelContext viewModelContext,
+ EMFFormsSpreadsheetRenderTarget eMFFormsSpreadsheetRenderTarget) {
+
+ int numberRenderedColumns = 0;
+ for (final VContainedElement containedElement : vContainer
+ .getChildren()) {
+ try {
+ final EMFFormsAbstractSpreadsheetRenderer<VElement> renderer = rendererFactory
+ .getRendererInstance(containedElement, viewModelContext);
+ final int renderedColumns = renderer.render(workbook,
+ containedElement, viewModelContext, eMFFormsSpreadsheetRenderTarget);
+ eMFFormsSpreadsheetRenderTarget.setColumn(eMFFormsSpreadsheetRenderTarget.getColumn()
+ + renderedColumns);
+ numberRenderedColumns += renderedColumns;
+ } catch (final EMFFormsNoRendererException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ }
+ }
+ return numberRenderedColumns;
+ }
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetViewRendererService.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetViewRendererService.java
new file mode 100644
index 0000000..3fad6b5
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer/src/org/eclipse/emfforms/internal/spreadsheet/core/renderer/EMFFormsSpreadsheetViewRendererService.java
@@ -0,0 +1,102 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.renderer;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+
+/**
+ * The {@link EMFFormsSpreadsheetRendererService} for {@link VView}.
+ *
+ * @author Eugen Neufeld
+ */
+@Component
+public class EMFFormsSpreadsheetViewRendererService implements
+ EMFFormsSpreadsheetRendererService<VView> {
+
+ private EMFFormsSpreadsheetRendererFactory emfformsSpreadsheetRendererFactory;
+ private ReportService reportService;
+
+ /**
+ * The ReportService to use.
+ *
+ * @param reportService the reportService to set
+ */
+ @Reference
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ private ServiceReference<EMFFormsSpreadsheetRendererFactory> serviceReference;
+
+ /**
+ * The activate method.
+ *
+ * @param bundleContext The BundleContext
+ */
+ @Activate
+ public void activate(BundleContext bundleContext) {
+ serviceReference = bundleContext
+ .getServiceReference(EMFFormsSpreadsheetRendererFactory.class);
+ emfformsSpreadsheetRendererFactory = bundleContext
+ .getService(serviceReference);
+ }
+
+ /**
+ * The deactivate method.
+ *
+ * @param bundleContext The BundleContext
+ */
+ @Deactivate
+ public void deactivate(BundleContext bundleContext) {
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement,
+ ViewModelContext viewModelContext) {
+ if (VView.class.isInstance(vElement)) {
+ return 1;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public EMFFormsAbstractSpreadsheetRenderer<VView> getRendererInstance(
+ VView vElement, ViewModelContext viewModelContext) {
+ return new EMFFormsSpreadsheetViewRenderer(emfformsSpreadsheetRendererFactory, reportService);
+ }
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.classpath
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.project b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.project
new file mode 100644
index 0000000..3e2dd2d
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.core</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.wuetherich.osgi.ds.annotations.dsAnnotationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.jdt.core.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/.settings/org.eclipse.pde.prefs
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/META-INF/MANIFEST.MF b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..4415afe
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Core
+Bundle-SymbolicName: org.eclipse.emfforms.spreadsheet.core
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: ECLIPSERSOURCE
+Export-Package: org.eclipse.emfforms.internal.spreadsheet.core;version="1.0.0";x-internal:=true,
+ org.eclipse.emfforms.spi.spreadsheet.core;version="1.0.0"
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.6.0,2.0.0)",
+ org.apache.poi;bundle-version="[3.8.0,4.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.indexdmr.model
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Service-Component: OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsIdProviderImpl.xml,
+ OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsSpreadsheetRendererFactoryImpl.xml
+Bundle-ActivationPolicy: lazy
+Import-Package: org.osgi.framework;version="1.6.0",
+ org.osgi.service.component.annotations;version="1.2.0"
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsIdProviderImpl.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsIdProviderImpl.xml
new file mode 100644
index 0000000..1f8e093
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsIdProviderImpl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsIdProviderImpl.java]-->
+<scr:component name="org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsIdProviderImpl" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+ <implementation class="org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsIdProviderImpl"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsIdProvider"/>
+ </service>
+</scr:component>
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsSpreadsheetRendererFactoryImpl.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsSpreadsheetRendererFactoryImpl.xml
new file mode 100644
index 0000000..f3ce8ce
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/OSGI-INF/org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsSpreadsheetRendererFactoryImpl.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--Generated by DS Annotation Builder [src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsSpreadsheetRendererFactoryImpl.java]-->
+<scr:component name="org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsSpreadsheetRendererFactoryImpl" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+ <implementation class="org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsSpreadsheetRendererFactoryImpl"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory"/>
+ </service>
+ <reference name="EMFFormsSpreadsheetRendererService" interface="org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService" cardinality="0..n" policy="dynamic" bind="addEMFFormsSpreadsheetRendererService" unbind="removeEMFFormsSpreadsheetRendererService"/>
+</scr:component>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/about.html b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/about.html
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/about.html
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/about.html
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.ini b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/about.ini
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.ini
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/about.ini
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.mappings b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/about.mappings
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.template.controls.swt/about.mappings
rename to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/about.mappings
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/about.properties b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/about.properties
new file mode 100644
index 0000000..0b0a880
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/about.properties
@@ -0,0 +1,31 @@
+# Copyright (c) 2011, 2013 Eclipsesource Munich GmbH and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# EclipseSource - initial API and implementation
+
+# NLS_MESSAGEFORMAT_VAR
+
+# ==============================================================================
+# Do not change the properties between this line and the last line containing:
+# %%% END OF TRANSLATED PROPERTIES %%%
+# Instead, either redefine an existing property, or create a new property,
+# append it to the end of the file, and change the code to use the new name.
+# ==============================================================================
+
+featureName = ECP EMF Client Platform
+featureText = ECP EMF Client Platform\n\
+Version: {featureVersion}\n\
+Build id: {0}\n\
+\n\
+Copyright (c) 2011, 2015 Eclipsesource Munich GmbH and others. All rights reserved.\n\
+\n\
+Visit http://www.eclipse.org/emfclient
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/build.properties b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/build.properties
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/build.properties
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/build.properties
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/modeling32.png b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/modeling32.png
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/modeling32.png
copy to bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/modeling32.png
Binary files differ
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/pom.xml b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/pom.xml
new file mode 100644
index 0000000..bc25b46
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-bundles-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../../releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.bundles/</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>org.eclipse.emfforms.spreadsheet.core</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsIdProviderImpl.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsIdProviderImpl.java
new file mode 100644
index 0000000..b93aaac
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsIdProviderImpl.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsIdProvider;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * Simple implementation of the EMFFormsIdProvider which returns a generated UUID per EObject.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+@Component
+public class EMFFormsIdProviderImpl implements EMFFormsIdProvider {
+
+ private final Map<EObject, String> cache = new LinkedHashMap<EObject, String>();
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsIdProvider#getId(org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public String getId(EObject eObject) {
+ if (!cache.containsKey(eObject)) {
+ final String uuid = EcoreUtil.generateUUID();
+ cache.put(eObject, uuid);
+ }
+ return cache.get(eObject);
+ }
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsSpreadsheetExporterImpl.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsSpreadsheetExporterImpl.java
new file mode 100644
index 0000000..a5eca16
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsSpreadsheetExporterImpl.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetExporter;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRenderTarget;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetReport;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * Implementation of the {@link EMFFormsSpreadsheetExporter}.
+ *
+ * @author Eugen Neufeld
+ */
+public class EMFFormsSpreadsheetExporterImpl implements EMFFormsSpreadsheetExporter {
+
+ private final ReportService reportService;
+
+ /**
+ * Default Constructor.
+ */
+ public EMFFormsSpreadsheetExporterImpl() {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<ReportService> reportServiceReference = bundleContext
+ .getServiceReference(ReportService.class);
+ reportService = bundleContext.getService(reportServiceReference);
+ }
+
+ @Override
+ public Workbook render(String pathToFile, EObject domainObject,
+ VView viewModel) {
+ final Workbook wb = new HSSFWorkbook();
+ render(wb, new EMFFormsSpreadsheetViewModelContext(viewModel, domainObject));
+ try {
+ writeWB(wb, pathToFile);
+ } catch (final IOException e) {
+ reportService.report(new EMFFormsSpreadsheetReport(e, EMFFormsSpreadsheetReport.ERROR));
+ }
+ return wb;
+ }
+
+ private void render(Workbook workbook, ViewModelContext viewModelContext) {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<EMFFormsSpreadsheetRendererFactory> serviceReference = bundleContext
+ .getServiceReference(EMFFormsSpreadsheetRendererFactory.class);
+ final EMFFormsSpreadsheetRendererFactory emfFormsSpreadsheetRendererFactory = bundleContext
+ .getService(serviceReference);
+
+ try {
+ final EMFFormsAbstractSpreadsheetRenderer<VElement> renderer = emfFormsSpreadsheetRendererFactory
+ .getRendererInstance(
+ viewModelContext.getViewModel(), viewModelContext);
+ renderer.render(workbook, viewModelContext.getViewModel(), viewModelContext,
+ new EMFFormsSpreadsheetRenderTarget("root", //$NON-NLS-1$
+ 0, 0));
+ } catch (final EMFFormsNoRendererException ex) {
+ reportService.report(new EMFFormsSpreadsheetReport(ex, EMFFormsSpreadsheetReport.ERROR));
+ }
+
+ }
+
+ private void writeWB(Workbook wb, String pathToFile) throws IOException {
+ final FileOutputStream fileOut = new FileOutputStream(pathToFile);
+ wb.write(fileOut);
+ fileOut.close();
+ }
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsSpreadsheetRendererFactoryImpl.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsSpreadsheetRendererFactoryImpl.java
new file mode 100644
index 0000000..4c5932b
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsSpreadsheetRendererFactoryImpl.java
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsAbstractSpreadsheetRenderer;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererService;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsNoRendererException;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
+
+/**
+ * Implementation of the EMFFormsSpreadsheetRendererFactory.
+ *
+ * @author Eugen Neufeld
+ */
+@Component
+public class EMFFormsSpreadsheetRendererFactoryImpl implements EMFFormsSpreadsheetRendererFactory {
+
+ private final Set<EMFFormsSpreadsheetRendererService<VElement>> rendererServices = new LinkedHashSet<EMFFormsSpreadsheetRendererService<VElement>>();
+
+ @Override
+ @Reference(cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC)
+ public void addEMFFormsSpreadsheetRendererService(EMFFormsSpreadsheetRendererService<VElement> spreadsheetRendererService) {
+ rendererServices.add(spreadsheetRendererService);
+ }
+
+ @Override
+ public void removeEMFFormsSpreadsheetRendererService(EMFFormsSpreadsheetRendererService<VElement> spreadsheetRendererService) {
+ rendererServices.remove(spreadsheetRendererService);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetRendererFactory#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public <VELEMENT extends VElement> EMFFormsAbstractSpreadsheetRenderer<VElement> getRendererInstance(VELEMENT vElement,
+ ViewModelContext viewModelContext) throws EMFFormsNoRendererException {
+ EMFFormsSpreadsheetRendererService<VElement> bestFitting = null;
+ double highestPriority = Double.NEGATIVE_INFINITY;
+ for (final EMFFormsSpreadsheetRendererService<VElement> rendererService : rendererServices) {
+ final double currentPriority = rendererService.isApplicable(vElement, viewModelContext);
+ if (currentPriority > highestPriority) {
+ highestPriority = currentPriority;
+ bestFitting = rendererService;
+ }
+ }
+ if (bestFitting == null)
+ {
+ throw new EMFFormsNoRendererException(String.format(
+ "No fitting renderer for %1$s found!", vElement.eClass().getName())); //$NON-NLS-1$
+ }
+ return bestFitting.getRendererInstance(vElement, viewModelContext);
+ }
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsSpreadsheetViewModelContext.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsSpreadsheetViewModelContext.java
new file mode 100644
index 0000000..96ea533
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsSpreadsheetViewModelContext.java
@@ -0,0 +1,227 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecp.common.spi.UniqueSetting;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContextDisposeListener;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelService;
+import org.eclipse.emf.ecp.view.spi.model.ModelChangeListener;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+
+/**
+ * Spreadsheet specific implementation of the {@link ViewModelContext}.
+ * This implementation doesn't do anything, it serves only as a container for a {@link VView} and the {@link EObject}.
+ *
+ * @author Eugen Neufeld
+ * @noextend This class is not intended to be subclassed by clients.
+ */
+public class EMFFormsSpreadsheetViewModelContext implements ViewModelContext {
+
+ private final VView view;
+ private final EObject domainModel;
+ private final Map<String, Object> contextValues = new LinkedHashMap<String, Object>();
+
+ /**
+ * Default Constructor.
+ *
+ * @param view The {@link VView}
+ * @param domainModel The {@link EObject}
+ */
+ public EMFFormsSpreadsheetViewModelContext(VView view, EObject domainModel) {
+ this.view = view;
+ this.domainModel = domainModel;
+
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#registerDomainChangeListener(org.eclipse.emf.ecp.view.spi.model.ModelChangeListener)
+ */
+ @Override
+ public void registerDomainChangeListener(ModelChangeListener modelChangeListener) {
+ // intentionally left empty
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#unregisterDomainChangeListener(org.eclipse.emf.ecp.view.spi.model.ModelChangeListener)
+ */
+ @Override
+ public void unregisterDomainChangeListener(ModelChangeListener modelChangeListener) {
+ // intentionally left empty
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getViewModel()
+ */
+ @Override
+ public VElement getViewModel() {
+ return view;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getDomainModel()
+ */
+ @Override
+ public EObject getDomainModel() {
+ return domainModel;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#registerViewChangeListener(org.eclipse.emf.ecp.view.spi.model.ModelChangeListener)
+ */
+ @Override
+ public void registerViewChangeListener(ModelChangeListener modelChangeListener) {
+ // intentionally left empty
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#unregisterViewChangeListener(org.eclipse.emf.ecp.view.spi.model.ModelChangeListener)
+ */
+ @Override
+ public void unregisterViewChangeListener(ModelChangeListener modelChangeListener) {
+ // intentionally left empty
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#dispose()
+ */
+ @Override
+ public void dispose() {
+ // intentionally left empty
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#hasService(java.lang.Class)
+ */
+ @Override
+ public <T> boolean hasService(Class<T> serviceType) {
+ return false;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getService(java.lang.Class)
+ */
+ @Override
+ public <T> T getService(Class<T> serviceType) {
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getControlsFor(org.eclipse.emf.ecore.EStructuralFeature.Setting)
+ */
+ @Override
+ public Set<VControl> getControlsFor(Setting setting) {
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getControlsFor(org.eclipse.emf.ecp.common.spi.UniqueSetting)
+ */
+ @Override
+ public Set<VElement> getControlsFor(UniqueSetting setting) {
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getContextValue(java.lang.String)
+ */
+ @Override
+ public Object getContextValue(String key) {
+ return contextValues.get(key);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#putContextValue(java.lang.String, java.lang.Object)
+ */
+ @Override
+ public void putContextValue(String key, Object value) {
+ contextValues.put(key, value);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getChildContext(org.eclipse.emf.ecore.EObject,
+ * org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.model.VView,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelService[])
+ */
+ @Override
+ public ViewModelContext getChildContext(EObject eObject, VElement parent, VView vView,
+ ViewModelService... viewModelServices) {
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#registerDisposeListener(org.eclipse.emf.ecp.view.spi.context.ViewModelContextDisposeListener)
+ */
+ @Override
+ public void registerDisposeListener(ViewModelContextDisposeListener listener) {
+ // intentionally left empty
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#addContextUser(java.lang.Object)
+ */
+ @Override
+ public void addContextUser(Object user) {
+ // intentionally left empty
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#removeContextUser(java.lang.Object)
+ */
+ @Override
+ public void removeContextUser(Object user) {
+ // intentionally left empty
+ }
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsAbstractSpreadsheetRenderer.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsAbstractSpreadsheetRenderer.java
new file mode 100644
index 0000000..1c7ec1d
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsAbstractSpreadsheetRenderer.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.spreadsheet.core;
+
+import org.apache.poi.ss.usermodel.Workbook;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+
+/**
+ * Abstract class which is the base class for all Spreadsheet renderer.
+ *
+ * @author Eugen Neufeld
+ *
+ * @param <VELEMENT> The {@link VElement} type this renderer supports
+ */
+public abstract class EMFFormsAbstractSpreadsheetRenderer<VELEMENT extends VElement> {
+
+ /**
+ * This is called to trigger the rendering.
+ *
+ * @param workbook The {@link Workbook} to write to
+ * @param vElement The {@link VElement} describing the information to write
+ * @param viewModelContext The {@link ViewModelContext} containing the {@link org.eclipse.emf.ecore.EObject EObject}
+ * @param renderTarget The {@link EMFFormsSpreadsheetRenderTarget} containing the information where to render to
+ * @return The number of rendered columns
+ */
+ public abstract int render(Workbook workbook, VELEMENT vElement, ViewModelContext viewModelContext,
+ EMFFormsSpreadsheetRenderTarget renderTarget);
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsExportTableParent.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsExportTableParent.java
new file mode 100644
index 0000000..a9b8f3b
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsExportTableParent.java
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.spreadsheet.core;
+
+import org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference;
+
+/**
+ * @author Eugen
+ *
+ */
+public class EMFFormsExportTableParent {
+
+ /**
+ * Key to use in the ViewModelContext to set this object into the context.
+ */
+ public static final String EXPORT_TABLE_PARENT = "excelExportParent"; //$NON-NLS-1$
+
+ private final VIndexDomainModelReference indexDMRToExtend;
+ private final String labelPrefix;
+
+ private final VIndexDomainModelReference indexDMRToResolve;
+
+ /**
+ * Default Constructor.
+ *
+ * @param indexDMRToExtend The VIndexDomainModelReference to extend
+ * @param indexDMRToResolve The VIndexDomainModelReference to use for resolvement
+ * @param labelPrefix The prefix for labels
+ */
+ public EMFFormsExportTableParent(VIndexDomainModelReference indexDMRToExtend,
+ VIndexDomainModelReference indexDMRToResolve, String labelPrefix) {
+ super();
+ this.indexDMRToExtend = indexDMRToExtend;
+ this.indexDMRToResolve = indexDMRToResolve;
+ this.labelPrefix = labelPrefix;
+ }
+
+ /**
+ * The VIndexDomainModelReference to use extend.
+ *
+ * @return the indexDMR
+ */
+ public VIndexDomainModelReference getIndexDMRToExtend() {
+ return indexDMRToExtend;
+ }
+
+ /**
+ * The Prefix to use for labels.
+ *
+ * @return the labelPrefix
+ */
+ public String getLabelPrefix() {
+ return labelPrefix;
+ }
+
+ /**
+ * The VIndexDomainModelReference to use for resolving.
+ *
+ * @return the indexDMRToResolve
+ */
+ public VIndexDomainModelReference getIndexDMRToResolve() {
+ return indexDMRToResolve;
+ }
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsIdProvider.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsIdProvider.java
new file mode 100644
index 0000000..cfe8694
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsIdProvider.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.spreadsheet.core;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * This service provides the value for the ID column used for identifying values accross multiple sheets.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public interface EMFFormsIdProvider {
+
+ /**
+ * The name of the ID column.
+ */
+ String ID_COLUMN = "EOBJECT_ID"; //$NON-NLS-1$
+
+ /**
+ * Returns the id value for an {@link EObject}.
+ *
+ * @param eObject The {@link EObject} to get an id for
+ * @return The id
+ */
+ String getId(EObject eObject);
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsNoRendererException.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsNoRendererException.java
new file mode 100644
index 0000000..076ef2e
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsNoRendererException.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.spreadsheet.core;
+
+/**
+ * The {@link EMFFormsNoRendererException} is used by the {@link EMFFormsSpreadsheetRendererFactory}.
+ *
+ * @author Eugen Neufeld
+ * @noextend This class is not intended to be subclassed by clients.
+ */
+public class EMFFormsNoRendererException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The EMFFormsNoRendererException throwed by {@link EMFFormsSpreadsheetRendererFactory}.
+ *
+ * @param message The message of the exception
+ */
+ public EMFFormsNoRendererException(String message) {
+ super(message);
+ }
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetExporter.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetExporter.java
new file mode 100644
index 0000000..75c5bfb
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetExporter.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.spreadsheet.core;
+
+import org.apache.poi.ss.usermodel.Workbook;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emfforms.internal.spreadsheet.core.EMFFormsSpreadsheetExporterImpl;
+
+/**
+ * Entry point for triggering the rendering to an Spreadsheet document.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public interface EMFFormsSpreadsheetExporter {
+
+ /**
+ * Singleton to get access to the exporter.
+ */
+ EMFFormsSpreadsheetExporter INSTANCE = new EMFFormsSpreadsheetExporterImpl();
+
+ /**
+ * Starts the rendering to the Spreadsheet document.
+ *
+ * @param pathToFile The path to the file to create.
+ * @param domainObject The {@link EObject} containing the data
+ * @param viewModel The {@link VView} describing the rendered data
+ * @return The created {@link Workbook}
+ */
+ Workbook render(String pathToFile, EObject domainObject,
+ VView viewModel);
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetRenderTarget.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetRenderTarget.java
new file mode 100644
index 0000000..9f77c8a
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetRenderTarget.java
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.spreadsheet.core;
+
+/**
+ * Helper class which describes where a value should be rendered to.
+ *
+ * @author Eugen Neufeld
+ */
+public final class EMFFormsSpreadsheetRenderTarget {
+
+ private final String sheetName;
+ private final int row;
+ private int column;
+
+ /**
+ * Default Constructor.
+ *
+ * @param sheetName The name of the sheet
+ * @param row The row id to render on
+ * @param column The column id to render on
+ */
+ public EMFFormsSpreadsheetRenderTarget(String sheetName, int row, int column) {
+ this.sheetName = sheetName;
+ this.row = row;
+ this.column = column;
+ }
+
+ /**
+ * Retrieve the current column id.
+ *
+ * @return The column id
+ */
+ public int getColumn() {
+ return column;
+ }
+
+ /**
+ * Set the column id.
+ *
+ * @param column The column id to set
+ */
+ public void setColumn(int column) {
+ this.column = column;
+ }
+
+ /**
+ * Retrieve the sheet name.
+ *
+ * @return The sheet name
+ */
+ public String getSheetName() {
+ return sheetName;
+ }
+
+ /**
+ * Retrieve the row id.
+ *
+ * @return The row id
+ */
+ public int getRow() {
+ return row;
+ }
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetRendererFactory.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetRendererFactory.java
new file mode 100644
index 0000000..3b49396
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetRendererFactory.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.spreadsheet.core;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+
+/**
+ * This is the factory which selects the most fitting renderer for the provided {@link VElement} and
+ * {@link ViewModelContext}.
+ *
+ * @author Eugen Neufeld
+ * @noimplement This interface is not intended to be implemented by clients.
+ * @noextend This interface is not intended to be extended by clients.
+ */
+public interface EMFFormsSpreadsheetRendererFactory {
+
+ /**
+ * Adds an {@link EMFFormsSpreadsheetRendererService} to the list of available renderer.
+ *
+ * @param spreadsheetRendererService The EMFFormsSpreadsheetRendererService to add
+ */
+ void addEMFFormsSpreadsheetRendererService(EMFFormsSpreadsheetRendererService<VElement> spreadsheetRendererService);
+
+ /**
+ * Removes an {@link EMFFormsSpreadsheetRendererService} from the list of available renderer.
+ *
+ * @param spreadsheetRendererService The EMFFormsSpreadsheetRendererService to remove
+ */
+ void removeEMFFormsSpreadsheetRendererService(EMFFormsSpreadsheetRendererService<VElement> spreadsheetRendererService);
+
+ /**
+ * Returns the renderer which fits the provided {@link VElement} and {@link ViewModelContext} the most.
+ *
+ * @param vElement the {@link VElement} to find the renderer for
+ * @param viewModelContext the {@link ViewModelContext} to find the renderer for
+ * @param <VELEMENT> The VElement type
+ * @return the renderer
+ * @throws EMFFormsNoRendererException is thrown when no renderer can be found
+ */
+ <VELEMENT extends VElement> EMFFormsAbstractSpreadsheetRenderer<VElement> getRendererInstance(VELEMENT vElement,
+ ViewModelContext viewModelContext) throws EMFFormsNoRendererException;
+
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetRendererService.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetRendererService.java
new file mode 100644
index 0000000..79c1e7c
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetRendererService.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.spreadsheet.core;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+
+/**
+ * The EMFFormsRendererService encapsulates the tester and the access to the {@link EMFFormsAbstractSpreadsheetRenderer}.
+ *
+ * @author Eugen Neufeld
+ *
+ * @param <VELEMENT>
+ */
+public interface EMFFormsSpreadsheetRendererService<VELEMENT extends VElement> {
+
+ /**
+ * Constant for {@link #isApplicable(VElement, ViewModelContext)} to indicate, that the EMFFormsRendererService
+ * cannot provide a
+ * fitting renderer for the provided VElement.
+ */
+ double NOT_APPLICABLE = Double.NaN;
+
+ /**
+ * Check whether the provided {@link VElement} can be rendered by the {@link EMFFormsAbstractSpreadsheetRenderer} provided
+ * by {@link #getRendererInstance(VElement, ViewModelContext)}.
+ *
+ * @param vElement The {@link VElement} to check
+ * @param viewModelContext The {@link ViewModelContext} to use for the renderer instance
+ * @return {@link #NOT_APPLICABLE} if the renderer doesn't fit, a positive value otherwise
+ */
+ double isApplicable(VElement vElement, ViewModelContext viewModelContext);
+
+ /**
+ * Returns a renderer.
+ *
+ * @param vElement The {@link VElement} to create the renderer instance for
+ * @param viewModelContext The {@link ViewModelContext} to use for the renderer instance
+ * @return The AbstractSWTRenderer
+ */
+ EMFFormsAbstractSpreadsheetRenderer<VELEMENT> getRendererInstance(VELEMENT vElement, ViewModelContext viewModelContext);
+}
diff --git a/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetReport.java b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetReport.java
new file mode 100644
index 0000000..5ef40b2
--- /dev/null
+++ b/bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core/src/org/eclipse/emfforms/spi/spreadsheet/core/EMFFormsSpreadsheetReport.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.spreadsheet.core;
+
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+
+/**
+ * The report to use for the {@link org.eclipse.emfforms.spi.common.report.ReportService ReportService} during the
+ * Spreadsheet
+ * export or import.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class EMFFormsSpreadsheetReport extends AbstractReport {
+
+ /**
+ * Constant for the INFO severity.
+ */
+ public static final int INFO = 1;
+ /**
+ * Constant for the WARNING severity.
+ */
+ public static final int WARNING = 2;
+ /**
+ * Constant for the ERROR severity.
+ */
+ public static final int ERROR = 4;
+
+ /**
+ * Default constructor with a {@link Throwable}.
+ *
+ * @param throwable The {@link Throwable} to report
+ * @param severity The severity of the report
+ */
+ public EMFFormsSpreadsheetReport(Throwable throwable, int severity) {
+ super(throwable, severity);
+ }
+
+ /**
+ * Default constructor with a message.
+ *
+ * @param message The message to report
+ * @param severity The severity of the report
+ */
+ public EMFFormsSpreadsheetReport(String message, int severity) {
+ super(message, severity);
+ }
+}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.gitignore b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/META-INF/MANIFEST.MF
index 917e8c6..7fe26b3 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: MakeItHappen Sample Application e3
Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.application.sample.e3;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.makeithappen.model.edit;bundle-version="[1.3.0,2.0.0)",
@@ -12,4 +12,4 @@
Bundle-ActivationPolicy: lazy
Bundle-Vendor: Eclipse Modeling Framework
Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.e3
- ;version="1.5.1";x-internal:=true
+ ;version="1.6.0";x-internal:=true
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/makeithappen_e3.product b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/makeithappen_e3.product
index 2c5a386..3979a6f 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/makeithappen_e3.product
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/makeithappen_e3.product
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>
-<product name="MakeItHappen Sample e3 Product" uid="org.eclipse.emf.ecp.makeithappen.sample.product.e3" id="org.eclipse.emf.ecp.makeithappen.application.sample.e3.product" application="org.eclipse.emf.ecp.makeithappen.application.sample.e3.application" version="1.4.0" useFeatures="false" includeLaunchers="true">
+<product name="MakeItHappen Sample e3 Product" uid="org.eclipse.emf.ecp.makeithappen.sample.product.e3" id="org.eclipse.emf.ecp.makeithappen.application.sample.e3.product" application="org.eclipse.emf.ecp.makeithappen.application.sample.e3.application" version="1.6.0" useFeatures="false" includeLaunchers="true">
<configIni use="default">
</configIni>
<launcherArgs>
- <programArgs>-consoleLog -debugEMFForms
+ <programArgs>-consoleLog
</programArgs>
<vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
</vmArgsMac>
@@ -15,6 +15,13 @@
<windowImages i16="/org.eclipse.emf.ecp.makeithappen.application.sample.e3/icons/bricks.png"/>
+ <launcher>
+ <solaris/>
+ <win useIco="false">
+ <bmp/>
+ </win>
+ </launcher>
+
<vm>
<windows include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7</windows>
</vm>
@@ -23,41 +30,26 @@
<plugin id="com.ibm.icu"/>
<plugin id="javax.annotation"/>
<plugin id="javax.inject"/>
- <plugin id="javax.servlet"/>
<plugin id="javax.xml"/>
<plugin id="org.apache.batik.css"/>
<plugin id="org.apache.batik.util"/>
<plugin id="org.apache.batik.util.gui"/>
- <plugin id="org.eclipse.ant.core"/>
- <plugin id="org.eclipse.compare.core"/>
+ <plugin id="org.apache.commons.jxpath"/>
<plugin id="org.eclipse.core.commands"/>
<plugin id="org.eclipse.core.contenttype"/>
<plugin id="org.eclipse.core.databinding"/>
<plugin id="org.eclipse.core.databinding.observable"/>
<plugin id="org.eclipse.core.databinding.property"/>
<plugin id="org.eclipse.core.expressions"/>
- <plugin id="org.eclipse.core.filesystem"/>
- <plugin id="org.eclipse.core.filesystem.aix.ppc" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.hpux.ia64_32" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.linux.ppc" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.linux.x86" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.linux.x86_64" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.solaris.sparc" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/>
<plugin id="org.eclipse.core.jobs"/>
- <plugin id="org.eclipse.core.resources"/>
- <plugin id="org.eclipse.core.resources.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.core.resources.win32.x86_64" fragment="true"/>
<plugin id="org.eclipse.core.runtime"/>
- <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
- <plugin id="org.eclipse.core.variables"/>
<plugin id="org.eclipse.e4.core.commands"/>
<plugin id="org.eclipse.e4.core.contexts"/>
<plugin id="org.eclipse.e4.core.di"/>
+ <plugin id="org.eclipse.e4.core.di.annotations"/>
<plugin id="org.eclipse.e4.core.di.extensions"/>
<plugin id="org.eclipse.e4.core.services"/>
+ <plugin id="org.eclipse.e4.emf.xpath"/>
<plugin id="org.eclipse.e4.ui.bindings"/>
<plugin id="org.eclipse.e4.ui.css.core"/>
<plugin id="org.eclipse.e4.ui.css.swt"/>
@@ -84,16 +76,12 @@
<plugin id="org.eclipse.emf.ecp.common.ui"/>
<plugin id="org.eclipse.emf.ecp.edit"/>
<plugin id="org.eclipse.emf.ecp.edit.swt"/>
- <plugin id="org.eclipse.emf.ecp.edit.swt.test" fragment="true"/>
<plugin id="org.eclipse.emf.ecp.makeithappen.application.sample.e3"/>
<plugin id="org.eclipse.emf.ecp.makeithappen.model"/>
<plugin id="org.eclipse.emf.ecp.makeithappen.model.edit"/>
<plugin id="org.eclipse.emf.ecp.makeithappen.model.viewmodel"/>
<plugin id="org.eclipse.emf.ecp.ui.view"/>
<plugin id="org.eclipse.emf.ecp.ui.view.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.categorization.model"/>
- <plugin id="org.eclipse.emf.ecp.view.categorization.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.categorization.swt"/>
<plugin id="org.eclipse.emf.ecp.view.context"/>
<plugin id="org.eclipse.emf.ecp.view.context.locale"/>
<plugin id="org.eclipse.emf.ecp.view.control.multireference"/>
@@ -102,9 +90,6 @@
<plugin id="org.eclipse.emf.ecp.view.group.model.edit"/>
<plugin id="org.eclipse.emf.ecp.view.group.swt.embedded"/>
<plugin id="org.eclipse.emf.ecp.view.group.ui.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.groupedgrid.model"/>
- <plugin id="org.eclipse.emf.ecp.view.groupedgrid.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.groupedgrid.ui.swt"/>
<plugin id="org.eclipse.emf.ecp.view.horizontal.model"/>
<plugin id="org.eclipse.emf.ecp.view.horizontal.model.edit"/>
<plugin id="org.eclipse.emf.ecp.view.horizontal.ui.swt"/>
@@ -120,7 +105,6 @@
<plugin id="org.eclipse.emf.ecp.view.rule.model"/>
<plugin id="org.eclipse.emf.ecp.view.rule.model.edit"/>
<plugin id="org.eclipse.emf.ecp.view.swt.layout"/>
- <plugin id="org.eclipse.emf.ecp.view.table.columnservice"/>
<plugin id="org.eclipse.emf.ecp.view.table.model"/>
<plugin id="org.eclipse.emf.ecp.view.table.model.edit"/>
<plugin id="org.eclipse.emf.ecp.view.table.ui.swt"/>
@@ -134,22 +118,29 @@
<plugin id="org.eclipse.emf.ecp.view.vertical.ui.swt"/>
<plugin id="org.eclipse.emf.edit"/>
<plugin id="org.eclipse.emf.edit.ui"/>
+ <plugin id="org.eclipse.emfforms.common"/>
+ <plugin id="org.eclipse.emfforms.core.services"/>
+ <plugin id="org.eclipse.emfforms.core.services.databinding.featurepath"/>
+ <plugin id="org.eclipse.emfforms.core.services.editsupport"/>
+ <plugin id="org.eclipse.emfforms.core.services.emf"/>
+ <plugin id="org.eclipse.emfforms.core.services.emfspecificservice"/>
+ <plugin id="org.eclipse.emfforms.core.services.locale.default"/>
+ <plugin id="org.eclipse.emfforms.localization"/>
+ <plugin id="org.eclipse.emfforms.swt.core"/>
+ <plugin id="org.eclipse.emfforms.swt.core.di"/>
+ <plugin id="org.eclipse.emfforms.swt.core.plugin"/>
+ <plugin id="org.eclipse.emfforms.view.model.localization"/>
<plugin id="org.eclipse.equinox.app"/>
- <plugin id="org.eclipse.equinox.bidi"/>
<plugin id="org.eclipse.equinox.common"/>
<plugin id="org.eclipse.equinox.ds"/>
<plugin id="org.eclipse.equinox.event"/>
<plugin id="org.eclipse.equinox.preferences"/>
- <plugin id="org.eclipse.equinox.region" fragment="true"/>
<plugin id="org.eclipse.equinox.registry"/>
- <plugin id="org.eclipse.equinox.transforms.hook" fragment="true"/>
<plugin id="org.eclipse.equinox.util"/>
- <plugin id="org.eclipse.equinox.weaving.hook" fragment="true"/>
<plugin id="org.eclipse.help"/>
<plugin id="org.eclipse.jface"/>
<plugin id="org.eclipse.jface.databinding"/>
<plugin id="org.eclipse.osgi"/>
- <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
<plugin id="org.eclipse.osgi.services"/>
<plugin id="org.eclipse.swt"/>
<plugin id="org.eclipse.swt.carbon.macosx" fragment="true"/>
@@ -170,12 +161,9 @@
<plugin id="org.eclipse.swt.photon.qnx.x86" fragment="true"/>
<plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
<plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.team.core"/>
<plugin id="org.eclipse.ui"/>
<plugin id="org.eclipse.ui.views"/>
<plugin id="org.eclipse.ui.workbench"/>
- <plugin id="org.hamcrest.core"/>
- <plugin id="org.junit"/>
<plugin id="org.w3c.css.sac"/>
<plugin id="org.w3c.dom.events"/>
<plugin id="org.w3c.dom.smil"/>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/pom.xml
index 720e2bf..1a54de0 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-examples-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
</parent>
@@ -15,5 +15,5 @@
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.gitignore b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/Application.e4xmi b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/Application.e4xmi
index ee98c7c..31e304b 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/Application.e4xmi
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/Application.e4xmi
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmi:id="_GMrUQAD5EeSknd978uYCFA" elementId="org.eclipse.e4.ide.application" bindingContexts="_GMrUSQD5EeSknd978uYCFA">
- <children xsi:type="basic:TrimmedWindow" xmi:id="_GMrUQQD5EeSknd978uYCFA" label="MakeItHappen ECP Sample e4 Application" iconURI="platform:/plugin/org.eclipse.emf.ecp.makeithappen.application.sample.e4/icons/bricks.png" width="800" height="500">
+ <children xsi:type="basic:TrimmedWindow" xmi:id="_GMrUQQD5EeSknd978uYCFA" label="MakeItHappen ECP Sample e4 Application" iconURI="platform:/plugin/org.eclipse.emf.ecp.makeithappen.application.sample.e4/icons/bricks.png" width="800" height="600">
<children xsi:type="basic:Part" xmi:id="_GMr7ZQD5EeSknd978uYCFA" contributionURI="bundleclass://org.eclipse.emf.ecp.makeithappen.application.sample.e4/org.eclipse.emf.ecp.makeithappen.application.sample.e4.parts.SamplePart" label="Sample Part" iconURI="platform:/plugin/org.eclipse.emf.ecp.makeithappen.application.sample.e4/icons/bricks.png"/>
</children>
<bindingTables xmi:id="_GMrUTgD5EeSknd978uYCFA" bindingContext="_GMrUSQD5EeSknd978uYCFA">
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/META-INF/MANIFEST.MF
index 8a06bba..2ef2c90 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: MakeItHappen Sample Application e4
Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.application.sample.e4;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: javax.inject;bundle-version="1.0.0",
org.eclipse.core.runtime;bundle-version="[3.9.100,4.0.0)",
org.eclipse.swt;bundle-version="[3.102.1,4.0.0)",
@@ -22,4 +22,4 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.e4
- .parts;version="1.5.1";x-internal:=true
+ .parts;version="1.6.0";x-internal:=true
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/makeithappen_e4.product b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/makeithappen_e4.product
index bbd481e..d381456 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/makeithappen_e4.product
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/makeithappen_e4.product
@@ -1,18 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>
-<product name="MakeItHappen Sample e4 Product" uid="org.eclipse.emf.ecp.makeithappen.sample.product.e4" id="org.eclipse.emf.ecp.makeithappen.application.sample.e4.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.4.0.qualifier" useFeatures="false" includeLaunchers="true">
+<product name="MakeItHappen Sample e4 Product" uid="org.eclipse.emf.ecp.makeithappen.sample.product.e4" id="org.eclipse.emf.ecp.makeithappen.application.sample.e4.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.6.0.qualifier" useFeatures="false" includeLaunchers="true">
<configIni use="default">
</configIni>
<launcherArgs>
- <programArgs>-clearPersistedState</programArgs>
- <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
+ <programArgs>-clearPersistedState
+ </programArgs>
+ <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
+ </vmArgsMac>
</launcherArgs>
<windowImages i16="/org.eclipse.emf.ecp.makeithappen.application.sample.e4/icons/bricks.png"/>
+ <launcher>
+ <solaris/>
+ <win useIco="false">
+ <bmp/>
+ </win>
+ </launcher>
+
+ <vm>
+ </vm>
+
<plugins>
<plugin id="com.ibm.icu"/>
<plugin id="javax.annotation"/>
@@ -21,35 +33,22 @@
<plugin id="org.apache.batik.css"/>
<plugin id="org.apache.batik.util"/>
<plugin id="org.apache.batik.util.gui"/>
- <plugin id="org.apache.commons.logging"/>
+ <plugin id="org.apache.commons.jxpath"/>
<plugin id="org.eclipse.core.commands"/>
<plugin id="org.eclipse.core.contenttype"/>
<plugin id="org.eclipse.core.databinding"/>
- <plugin id="org.eclipse.core.databinding.beans"/>
<plugin id="org.eclipse.core.databinding.observable"/>
<plugin id="org.eclipse.core.databinding.property"/>
<plugin id="org.eclipse.core.expressions"/>
- <plugin id="org.eclipse.core.filesystem"/>
- <plugin id="org.eclipse.core.filesystem.aix.ppc" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.hpux.ia64_32" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.linux.ppc" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.linux.x86" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.linux.x86_64" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.solaris.sparc" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/>
<plugin id="org.eclipse.core.jobs"/>
- <plugin id="org.eclipse.core.resources"/>
- <plugin id="org.eclipse.core.resources.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.core.resources.win32.x86_64" fragment="true"/>
<plugin id="org.eclipse.core.runtime"/>
- <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
<plugin id="org.eclipse.e4.core.commands"/>
<plugin id="org.eclipse.e4.core.contexts"/>
<plugin id="org.eclipse.e4.core.di"/>
+ <plugin id="org.eclipse.e4.core.di.annotations"/>
<plugin id="org.eclipse.e4.core.di.extensions"/>
<plugin id="org.eclipse.e4.core.services"/>
+ <plugin id="org.eclipse.e4.emf.xpath"/>
<plugin id="org.eclipse.e4.ui.bindings"/>
<plugin id="org.eclipse.e4.ui.css.core"/>
<plugin id="org.eclipse.e4.ui.css.swt"/>
@@ -105,12 +104,12 @@
<plugin id="org.eclipse.emf.ecp.view.rule.model"/>
<plugin id="org.eclipse.emf.ecp.view.rule.model.edit"/>
<plugin id="org.eclipse.emf.ecp.view.swt.layout"/>
- <plugin id="org.eclipse.emf.ecp.view.table.columnservice"/>
<plugin id="org.eclipse.emf.ecp.view.table.model"/>
<plugin id="org.eclipse.emf.ecp.view.table.model.edit"/>
<plugin id="org.eclipse.emf.ecp.view.table.ui.swt"/>
<plugin id="org.eclipse.emf.ecp.view.template.model"/>
<plugin id="org.eclipse.emf.ecp.view.template.service"/>
+ <plugin id="org.eclipse.emf.ecp.view.unset"/>
<plugin id="org.eclipse.emf.ecp.view.util.swt"/>
<plugin id="org.eclipse.emf.ecp.view.validation"/>
<plugin id="org.eclipse.emf.ecp.view.vertical.model"/>
@@ -118,22 +117,29 @@
<plugin id="org.eclipse.emf.ecp.view.vertical.ui.swt"/>
<plugin id="org.eclipse.emf.edit"/>
<plugin id="org.eclipse.emf.edit.ui"/>
+ <plugin id="org.eclipse.emfforms.common"/>
+ <plugin id="org.eclipse.emfforms.core.services"/>
+ <plugin id="org.eclipse.emfforms.core.services.databinding.featurepath"/>
+ <plugin id="org.eclipse.emfforms.core.services.editsupport"/>
+ <plugin id="org.eclipse.emfforms.core.services.emf"/>
+ <plugin id="org.eclipse.emfforms.core.services.emfspecificservice"/>
+ <plugin id="org.eclipse.emfforms.core.services.locale.default"/>
+ <plugin id="org.eclipse.emfforms.localization"/>
+ <plugin id="org.eclipse.emfforms.swt.core"/>
+ <plugin id="org.eclipse.emfforms.swt.core.di"/>
+ <plugin id="org.eclipse.emfforms.swt.core.plugin"/>
+ <plugin id="org.eclipse.emfforms.view.model.localization"/>
<plugin id="org.eclipse.equinox.app"/>
<plugin id="org.eclipse.equinox.common"/>
- <plugin id="org.eclipse.equinox.concurrent"/>
<plugin id="org.eclipse.equinox.ds"/>
<plugin id="org.eclipse.equinox.event"/>
<plugin id="org.eclipse.equinox.preferences"/>
- <plugin id="org.eclipse.equinox.region" fragment="true"/>
<plugin id="org.eclipse.equinox.registry"/>
- <plugin id="org.eclipse.equinox.transforms.hook" fragment="true"/>
<plugin id="org.eclipse.equinox.util"/>
- <plugin id="org.eclipse.equinox.weaving.hook" fragment="true"/>
<plugin id="org.eclipse.help"/>
<plugin id="org.eclipse.jface"/>
<plugin id="org.eclipse.jface.databinding"/>
<plugin id="org.eclipse.osgi"/>
- <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
<plugin id="org.eclipse.osgi.services"/>
<plugin id="org.eclipse.swt"/>
<plugin id="org.eclipse.swt.carbon.macosx" fragment="true"/>
@@ -157,8 +163,6 @@
<plugin id="org.eclipse.ui"/>
<plugin id="org.eclipse.ui.views"/>
<plugin id="org.eclipse.ui.workbench"/>
- <plugin id="org.hamcrest.core"/>
- <plugin id="org.junit"/>
<plugin id="org.w3c.css.sac"/>
<plugin id="org.w3c.dom.events"/>
<plugin id="org.w3c.dom.smil"/>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/pom.xml
index 41224af..bdffc9b 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-examples-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
</parent>
@@ -15,5 +15,5 @@
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/META-INF/MANIFEST.MF
index c517423..b6d0688 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: My Sample App
Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.application.sample.fx;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.fx.osgi.util;bundle-version="[1.0.0,2.0.0)",
org.eclipse.fx.core.databinding;bundle-version="[1.0.0,2.0.0)",
@@ -37,4 +37,5 @@
javafx.scene.web;version="2.0.0",
javafx.stage;version="2.2.0",
javafx.util;version="2.0.0"
-Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.fx;version="1.5.1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.fx;version="1.6.0";x-internal:=true
+Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/makeithappen_JavaFX.target b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/makeithappen_JavaFX.target
index fd0ea73..209b97a 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/makeithappen_JavaFX.target
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/makeithappen_JavaFX.target
@@ -1,22 +1,22 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="makeithappen_JavaFX" sequenceNumber="5">
-<locations>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.ecp.emfforms.runtime.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/ecp/releases/releases_15"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.fx.target.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/efxclipse/runtime-released/1.1.0/site"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.ecp.view.sdk.fx.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/ecp/javafx"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/releases/luna/"/>
-</location>
-</locations>
-<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
-</target>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?><target name="makeithappen_JavaFX" sequenceNumber="11">
+<locations>
+<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.ecp.view.sdk.fx.feature.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/ecp/javafx"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/releases/luna/"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.ecp.emfforms.runtime.feature.feature.group" version="1.5.1.20150303-1542"/>
+<repository location="http://download.eclipse.org/ecp/releases/releases_15"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.fx.target.feature.feature.group" version="1.1.0.201411050703"/>
+<repository location="http://download.eclipse.org/efxclipse/runtime-released/1.1.0/site"/>
+</location>
+</locations>
+<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+</target>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/makeithappen_fx.product b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/makeithappen_fx.product
index 5d3e901..b978f73 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/makeithappen_fx.product
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/makeithappen_fx.product
@@ -3,7 +3,6 @@
<product name="MakeItHappen Sample FX Product" uid="org.eclipse.emf.ecp.makeithappen.sample.product.fx" id="org.eclipse.emf.ecp.makeithappen.application.sample.fx.product" application="org.eclipse.emf.ecp.makeithappen.application.sample.fx.application" version="1.4.0" useFeatures="false" includeLaunchers="true">
-
<configIni use="default">
</configIni>
@@ -18,7 +17,6 @@
<windowImages i16="/org.eclipse.emf.ecp.makeithappen.application.sample.fx/icons/bricks.png"/>
-
<vm>
<linux include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</linux>
</vm>
@@ -30,7 +28,6 @@
<plugin id="javax.servlet"/>
<plugin id="javax.xml"/>
<plugin id="org.apache.commons.lang"/>
- <plugin id="org.eclipse.ant.core"/>
<plugin id="org.eclipse.core.commands"/>
<plugin id="org.eclipse.core.contenttype"/>
<plugin id="org.eclipse.core.databinding"/>
@@ -41,7 +38,6 @@
<plugin id="org.eclipse.core.jobs"/>
<plugin id="org.eclipse.core.resources"/>
<plugin id="org.eclipse.core.runtime"/>
- <plugin id="org.eclipse.core.variables"/>
<plugin id="org.eclipse.e4.core.commands"/>
<plugin id="org.eclipse.e4.core.contexts"/>
<plugin id="org.eclipse.e4.core.di"/>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/META-INF/MANIFEST.MF
index 080e263..75d580b 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
Bundle-ManifestVersion: 2
Bundle-Name: MakeItHappen Sample J2ee RAP
Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/makeithappenApplicationConfiguration.xml
-Require-Bundle: org.eclipse.rap.rwt;bundle-version="[2.0.0,3.0.0)",
+Require-Bundle: org.eclipse.rap.rwt;bundle-version="[2.0.0,4.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.rap.jface;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.rap.jface;bundle-version="[2.0.0,4.0.0)",
org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.rap.jface.databinding;bundle-version="[2.0.0,3.0.0)"
+ org.eclipse.rap.jface.databinding;bundle-version="[2.0.0,4.0.0)"
Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.ra
p.j2ee;version="1.4.0";x-internal:=true
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/MakeItHappen Sample J2EE RAP Application.launch b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/MakeItHappen Sample J2EE RAP Application.launch
index 0b699be..d2f4ea7 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/MakeItHappen Sample J2EE RAP Application.launch
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/MakeItHappen Sample J2EE RAP Application.launch
@@ -1,40 +1,40 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.rap.ui.launch.RAPLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/MakeItHappen Sample J2EE RAP Application"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="default_auto_start" value="true"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console -debugEMFForms"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dorg.eclipse.equinox.http.jetty.log.stderr.threshold=info"/>
-<stringAttribute key="org.eclipse.rap.launch.browserMode" value="INTERNAL"/>
-<stringAttribute key="org.eclipse.rap.launch.contextpath" value="/"/>
-<stringAttribute key="org.eclipse.rap.launch.dataLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.rap.tools.launch/MakeItHappenSampleJ2EERAPApplication"/>
-<booleanAttribute key="org.eclipse.rap.launch.developmentMode" value="true"/>
-<booleanAttribute key="org.eclipse.rap.launch.openBrowser" value="true"/>
-<intAttribute key="org.eclipse.rap.launch.port" value="10080"/>
-<stringAttribute key="org.eclipse.rap.launch.servletPath" value="/makeithappen_j2ee"/>
-<intAttribute key="org.eclipse.rap.launch.sessionTimeout" value="0"/>
-<booleanAttribute key="org.eclipse.rap.launch.useDefaultDataLocation" value="true"/>
-<booleanAttribute key="org.eclipse.rap.launch.useManualContextPath" value="false"/>
-<booleanAttribute key="org.eclipse.rap.launch.useManualPort" value="false"/>
-<booleanAttribute key="org.eclipse.rap.launch.useSessionTimeout" value="false"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,com.ibm.icu.base@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.http.servletbridge@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.servletbridge@default:default,org.eclipse.equinox.util@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default,org.eclipse.emf.ecp.rap.util@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context.locale@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.label.model.edit@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.rap@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model.edit@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.rule@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.template.model.edit@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.util.swt.rap@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee@default:default,org.eclipse.emf.ecp.makeithappen.model.edit@default:default,org.eclipse.emf.ecp.makeithappen.model.viewmodel@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.rap.ui.launch.RAPLauncher">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/MakeItHappen Sample J2EE RAP Application"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="default_auto_start" value="true"/>
+<intAttribute key="default_start_level" value="4"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console -debugEMFForms"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dorg.eclipse.equinox.http.jetty.log.stderr.threshold=info"/>
+<stringAttribute key="org.eclipse.rap.launch.browserMode" value="EXTERNAL"/>
+<stringAttribute key="org.eclipse.rap.launch.contextpath" value="/"/>
+<stringAttribute key="org.eclipse.rap.launch.dataLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.rap.tools.launch/MakeItHappenSampleJ2EERAPApplication"/>
+<booleanAttribute key="org.eclipse.rap.launch.developmentMode" value="true"/>
+<booleanAttribute key="org.eclipse.rap.launch.openBrowser" value="true"/>
+<intAttribute key="org.eclipse.rap.launch.port" value="10080"/>
+<stringAttribute key="org.eclipse.rap.launch.servletPath" value="/makeithappen_j2ee"/>
+<intAttribute key="org.eclipse.rap.launch.sessionTimeout" value="0"/>
+<booleanAttribute key="org.eclipse.rap.launch.useDefaultDataLocation" value="true"/>
+<booleanAttribute key="org.eclipse.rap.launch.useManualContextPath" value="false"/>
+<booleanAttribute key="org.eclipse.rap.launch.useManualPort" value="false"/>
+<booleanAttribute key="org.eclipse.rap.launch.useSessionTimeout" value="false"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="target_bundles" value="com.ibm.icu.base@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.rap.util@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context.locale@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.label.model.edit@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.rap@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model.edit@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.rule@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.template.model.edit@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.util.swt.rap@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.http.servletbridge@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.servletbridge@default:default,org.eclipse.equinox.util@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<stringAttribute key="workspace_bundles" value="org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee@default:default,org.eclipse.emf.ecp.makeithappen.model.edit@default:default,org.eclipse.emf.ecp.makeithappen.model.viewmodel@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.model.edit@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.util.swt.rap@default:default"/>
+</launchConfiguration>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/makeithappen_RAP.target b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/makeithappen_RAP.target
index 621adea..687184e 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/makeithappen_RAP.target
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/makeithappen_RAP.target
@@ -1,18 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="makeithappen_RAP" sequenceNumber="11">
+<?pde version="3.8"?><target name="makeithappen_RAP" sequenceNumber="14">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.rap.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.rap.equinox.target.feature.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.rap.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/releases/luna/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.emf.ecp.rap.util.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.ecp.emfforms.runtime.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.ecp.rap.sdk.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/ecp/releases/releases_15"/>
+<repository location="http://download.eclipse.org/ecp/releases/releases_target_16"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.rap.feature.feature.group" version="3.0.0.20150525-1014"/>
+<unit id="org.eclipse.rap.equinox.target.feature.feature.group" version="3.0.0.20150525-1356"/>
+<unit id="org.eclipse.emf.sdk.feature.group" version="2.11.0.v20150518-0831"/>
+<unit id="org.eclipse.emf.rap.sdk.feature.group" version="2.11.0.v20150518-0831"/>
+<unit id="org.eclipse.e4.rcp.feature.group" version="1.4.0.v20150522-1901"/>
+<repository location="http://download.eclipse.org/releases/mars/"/>
</location>
</locations>
</target>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/pom.xml
index 9965357..df9333a 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-examples-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
</parent>
@@ -15,5 +15,5 @@
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/DataBindingPhaseListener.java b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/DataBindingPhaseListener.java
index e909c73..18fd9ba 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/DataBindingPhaseListener.java
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/DataBindingPhaseListener.java
@@ -13,9 +13,9 @@
import org.eclipse.core.databinding.observable.Realm;
import org.eclipse.rap.rwt.RWT;
-import org.eclipse.rap.rwt.lifecycle.PhaseEvent;
-import org.eclipse.rap.rwt.lifecycle.PhaseId;
-import org.eclipse.rap.rwt.lifecycle.PhaseListener;
+import org.eclipse.rap.rwt.internal.lifecycle.PhaseEvent;
+import org.eclipse.rap.rwt.internal.lifecycle.PhaseId;
+import org.eclipse.rap.rwt.internal.lifecycle.PhaseListener;
/**
* A {@link PhaseListener} to set the default realm.
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/MakeItHappenApplicationConfiguration.java b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/MakeItHappenApplicationConfiguration.java
index 92c7ca6..8fc5ad1 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/MakeItHappenApplicationConfiguration.java
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/MakeItHappenApplicationConfiguration.java
@@ -27,7 +27,6 @@
@SuppressWarnings("deprecation")
@Override
public void configure(Application application) {
- application.addPhaseListener(new DataBindingPhaseListener());
application.addEntryPoint("/makeithappen_j2ee", MakeItHappenEntryPoint.class, null); //$NON-NLS-1$
}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/RealmSetter.java b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/RealmSetter.java
index 4647d25..ca547c7 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/RealmSetter.java
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/RealmSetter.java
@@ -17,6 +17,7 @@
import org.eclipse.core.databinding.observable.Realm;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.rap.rwt.RWT;
+import org.eclipse.rap.rwt.internal.application.ApplicationContextImpl;
import org.eclipse.rap.rwt.service.UISession;
import org.eclipse.swt.widgets.Display;
@@ -58,6 +59,8 @@
*/
public static void initialize() {
final UISession uiSession = RWT.getUISession();
+ ApplicationContextImpl.class.cast(RWT.getApplicationContext()).getPhaseListenerManager()
+ .addPhaseListener(new DataBindingPhaseListener());
if (uiSession.getAttribute("realm") == null) { //$NON-NLS-1$
final Realm realm = SWTObservables.getRealm(Display.getCurrent());
RealmSetter.setRealm(realm);
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/META-INF/MANIFEST.MF
index 8762ddc..e95db86 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
Bundle-ManifestVersion: 2
Bundle-Name: MakeItHappen Sample RAP Application
Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.application.sample.rap;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.makeithappen.model.edit;bundle-version="[1.3.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.rap.ui.workbench;bundle-version="[2.3.0,3.0.0)",
- org.eclipse.rap.jface;bundle-version="[2.3.0,3.0.0)",
- org.eclipse.rap.ui;bundle-version="[2.3.0,3.0.0)",
+ org.eclipse.rap.ui.workbench;bundle-version="[2.3.0,4.0.0)",
+ org.eclipse.rap.jface;bundle-version="[2.3.0,4.0.0)",
+ org.eclipse.rap.ui;bundle-version="[2.3.0,4.0.0)",
org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/MakeItHappen Sample RAP Application.launch b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/MakeItHappen Sample RAP Application.launch
index c2ed0a7..beb2ced 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/MakeItHappen Sample RAP Application.launch
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/MakeItHappen Sample RAP Application.launch
@@ -7,7 +7,7 @@
<stringAttribute key="bootstrap" value=""/>
<stringAttribute key="checked" value="[NONE]"/>
<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="false"/>
+<booleanAttribute key="clearws" value="true"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/MakeItHappen Sample RAP Application"/>
<booleanAttribute key="default" value="true"/>
<booleanAttribute key="default_auto_start" value="true"/>
@@ -15,7 +15,7 @@
<booleanAttribute key="includeOptional" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console -debugEMFForms"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dorg.eclipse.equinox.http.jetty.log.stderr.threshold=info"/>
<stringAttribute key="org.eclipse.rap.launch.browserMode" value="EXTERNAL"/>
@@ -32,7 +32,7 @@
<booleanAttribute key="org.eclipse.rap.launch.useSessionTimeout" value="false"/>
<stringAttribute key="pde.version" value="3.3"/>
<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="com.ibm.icu.base@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.rap.util@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context.locale@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model.edit@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model.edit@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.label.model.edit@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.rap@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.util.swt.rap@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.rap.common.ui@default:default,org.eclipse.emf.rap.edit.ui@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.http.servletbridge@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.servletbridge@default:default,org.eclipse.equinox.util@default:default,org.eclipse.help@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default,org.eclipse.rap.ui.views@default:default,org.eclipse.rap.ui.workbench@default:default,org.eclipse.rap.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default"/>
+<stringAttribute key="target_bundles" value="com.ibm.icu.base@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.rap.util@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context.locale@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model.edit@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model.edit@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.label.model.edit@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.rap@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.util.swt.rap@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.rap.common.ui@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emf.rap.edit.ui@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.view.model.localization@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.http.servletbridge@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.servletbridge@default:default,org.eclipse.equinox.util@default:default,org.eclipse.help@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default,org.eclipse.rap.ui.views@default:default,org.eclipse.rap.ui.workbench@default:default,org.eclipse.rap.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
<booleanAttribute key="useDefaultConfigArea" value="true"/>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/makeithappen_RAP.target b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/makeithappen_RAP.target
index 484a2b5..687184e 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/makeithappen_RAP.target
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/makeithappen_RAP.target
@@ -1,18 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="makeithappen_RAP" sequenceNumber="12">
+<?pde version="3.8"?><target name="makeithappen_RAP" sequenceNumber="14">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.rap.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.rap.equinox.target.feature.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.rap.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/releases/luna/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.emf.ecp.rap.util.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.ecp.emfforms.runtime.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.ecp.rap.sdk.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/ecp/releases/releases_15"/>
+<repository location="http://download.eclipse.org/ecp/releases/releases_target_16"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.rap.feature.feature.group" version="3.0.0.20150525-1014"/>
+<unit id="org.eclipse.rap.equinox.target.feature.feature.group" version="3.0.0.20150525-1356"/>
+<unit id="org.eclipse.emf.sdk.feature.group" version="2.11.0.v20150518-0831"/>
+<unit id="org.eclipse.emf.rap.sdk.feature.group" version="2.11.0.v20150518-0831"/>
+<unit id="org.eclipse.e4.rcp.feature.group" version="1.4.0.v20150522-1901"/>
+<repository location="http://download.eclipse.org/releases/mars/"/>
</location>
</locations>
</target>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/pom.xml
index b779a73..9eddf97 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-examples-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
</parent>
@@ -15,5 +15,5 @@
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.feature/feature.xml b/examples/org.eclipse.emf.ecp.makeithappen.feature/feature.xml
index b99a151..fb467dc 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.feature/feature.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.feature/feature.xml
@@ -2,11 +2,11 @@
<feature
id="org.eclipse.emf.ecp.makeithappen.feature"
label="EMF Forms MakeItHappen Example (Target Feature)"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.makeithappen.model"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.feature/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.feature/pom.xml
index 430c1df..f1c5ab1 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.feature/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.feature/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-examples-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.makeithappen.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model.edit/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.model.edit/META-INF/MANIFEST.MF
index eace912..cd235f9 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model.edit/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model.edit/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.makeithappen.model.task.provider.TaskEditPlugin$Implementation
Bundle-Vendor: Eclipse Modeling Project
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.makeithappen.model.task.provider;v
- ersion="1.5.1"
+ ersion="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model.edit/plugin.properties b/examples/org.eclipse.emf.ecp.makeithappen.model.edit/plugin.properties
index 2d339c9..522875a 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model.edit/plugin.properties
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model.edit/plugin.properties
@@ -1,7 +1,7 @@
#
pluginName = Task Edit Support
-providerName = www.example.org
+providerName = Eclipse Modeling Project
_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/plugin.properties b/examples/org.eclipse.emf.ecp.makeithappen.model.edit/plugin_en.properties
similarity index 100%
rename from examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/plugin.properties
rename to examples/org.eclipse.emf.ecp.makeithappen.model.edit/plugin_en.properties
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model.edit/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.model.edit/pom.xml
index 0654672..d53364d 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model.edit/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model.edit/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-examples-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
</parent>
@@ -15,5 +15,5 @@
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/META-INF/MANIFEST.MF
index e1f83a4..f521087 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
Bundle-ManifestVersion: 2
Bundle-Name: org.eclipse.emf.ecp.makeithappen.model.viewmodel
Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.model.viewmodel;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi
Bundle-Vendor: Eclipse Modeling Project
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/OSGI-INF/l10n/bundle.properties b/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..9ebae46
--- /dev/null
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,2 @@
+Primary=Primary
+Secondary=Secondary
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/build.properties b/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/build.properties
index 329b01e..702a52f 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/build.properties
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/build.properties
@@ -1,4 +1,5 @@
bin.includes = META-INF/,\
viewmodels/,\
- plugin.xml
+ plugin.xml,\
+ OSGI-INF/
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/pom.xml
index 23994a8..5b6bf56 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-examples-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
</parent>
@@ -15,5 +15,5 @@
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/User.view b/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/User.view
index 333b7cf..1c03598 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/User.view
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/User.view
@@ -2,62 +2,62 @@
<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.group.model="http://org/eclipse/emf/ecp/view/group/model" xmlns:org.eclipse.emf.ecp.view.horizontal.model="http://org/eclipse/emf/ecp/view/horizontal/model" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model" ecorePath="/org.eclipse.emf.ecp.makeithappen.model/model/task.ecore">
<rootEClass href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User"/>
<children xsi:type="org.eclipse.emf.ecp.view.horizontal.model:HorizontalLayout">
- <children xsi:type="org.eclipse.emf.ecp.view.group.model:Group" name="Primary">
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control firstName">
+ <children xsi:type="org.eclipse.emf.ecp.view.group.model:Group" name="%Primary">
+ <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control_firstName">
<domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
<domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/firstName"/>
</domainModelReference>
</children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control lastName">
+ <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control_lastName">
<domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
<domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/lastName"/>
</domainModelReference>
</children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control email">
+ <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control_email">
<domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
<domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/email"/>
</domainModelReference>
</children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control dateOfBirth">
+ <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control_dateOfBirth">
<domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
<domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/dateOfBirth"/>
</domainModelReference>
</children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control gender">
+ <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control_gender">
<domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
<domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/gender"/>
</domainModelReference>
</children>
</children>
- <children xsi:type="org.eclipse.emf.ecp.view.group.model:Group" name="Secondary">
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control weight">
+ <children xsi:type="org.eclipse.emf.ecp.view.group.model:Group" name="%Secondary">
+ <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control_weight">
<domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
<domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/weight"/>
</domainModelReference>
</children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control heigth">
+ <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control_heigth">
<domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
<domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/heigth"/>
</domainModelReference>
</children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control active">
+ <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control_active">
<domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
<domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/active"/>
</domainModelReference>
</children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control timeOfRegistration">
+ <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control_timeOfRegistration">
<domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
<domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/timeOfRegistration"/>
</domainModelReference>
</children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control nationality">
+ <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control_nationality">
<domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
<domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/nationality"/>
</domainModelReference>
</children>
</children>
</children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control tasks">
+ <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control_tasks">
<domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
<domainModelEFeature xsi:type="ecore:EReference" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/tasks"/>
</domainModelReference>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model/.gitignore b/examples/org.eclipse.emf.ecp.makeithappen.model/.gitignore
index f8d886b..b76a931 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model/.gitignore
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model/.gitignore
@@ -1,2 +1,3 @@
/bin
/bin/
+/bin/
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.model/META-INF/MANIFEST.MF
index ddaa11f..b3452b0 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: Eclipse Modeling Project
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.makeithappen.model.task;version="1
- .5.1",org.eclipse.emf.ecp.makeithappen.model.task.impl;version="1.5.1
- ",org.eclipse.emf.ecp.makeithappen.model.task.util;version="1.5.1"
+ .6.0",org.eclipse.emf.ecp.makeithappen.model.task.impl;version="1.6.0
+ ",org.eclipse.emf.ecp.makeithappen.model.task.util;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport
Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model/plugin.properties b/examples/org.eclipse.emf.ecp.makeithappen.model/plugin.properties
index 31cc930..f3f023a 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model/plugin.properties
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model/plugin.properties
@@ -1,4 +1,4 @@
#
pluginName = Makeithappen Model
-providerName = www.example.org
+providerName = Eclipse Modeling Project
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.model/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.model/pom.xml
index 183dd53..9e9f687 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.model/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.model/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-examples-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
</parent>
@@ -15,5 +15,5 @@
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.project b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.project
index 9d51a64..d5e5946 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.project
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.project
@@ -25,6 +25,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/META-INF/MANIFEST.MF
index 81c7da8..e27b90e 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: EmailControl
Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.view.email.renderer;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
@@ -11,10 +11,21 @@
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)"
-Import-Package: org.eclipse.jface.layout;version="0.0.0",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.jface.layout;version="0.0.0",
org.eclipse.swt;version="0.0.0",
org.eclipse.swt.events;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.makeithappen.ui.emailcontrol;versi
- on="1.5.1"
+ on="1.6.0"
+Service-Component: OSGI-INF/emailRendererService.xml
+Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/OSGI-INF/emailRendererService.xml b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/OSGI-INF/emailRendererService.xml
new file mode 100644
index 0000000..82d8b00
--- /dev/null
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/OSGI-INF/emailRendererService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.makeithappen.view.email.rendererservice">
+ <implementation class="org.eclipse.emf.ecp.makeithappen.ui.emailcontrol.EmailControlSWTRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+ <reference bind="setEMFFormsDatabinding" cardinality="1..1" interface="org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding" name="EMFFormsDatabinding" policy="static"/>
+ <reference bind="setReportService" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService" policy="static"/>
+</scr:component>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/build.properties b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/build.properties
index 6f20375..6210e84 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/build.properties
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/build.properties
@@ -1,5 +1,5 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ OSGI-INF/
+source.. = src/
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/plugin.xml b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/plugin.xml
deleted file mode 100644
index 03924a0..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.makeithappen.ui.emailcontrol.EmailControlRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.makeithappen.ui.emailcontrol.EmailControlRendererTest">
- </dynamicTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/pom.xml
index c21922f..e8cc82b 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-examples-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
</parent>
@@ -15,5 +15,5 @@
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlRenderer.java b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlRenderer.java
index b4fc2c3..ef07ea7 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlRenderer.java
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlRenderer.java
@@ -1,60 +1,93 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.ui.emailcontrol;
-
-import java.awt.Desktop;
-import java.io.IOException;
-import java.net.URI;
-
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * A renderer to render an e-mail address.
- *
- * @author Lucas
- */
-public class EmailControlRenderer extends TextControlSWTRenderer {
-
- @Override
- protected Control createSWTControl(Composite parent, final Setting setting) {
- final Composite main = new Composite(parent, SWT.NONE);
- GridLayoutFactory.fillDefaults().numColumns(2).applyTo(main);
- GridDataFactory.fillDefaults().grab(true, false)
- .align(SWT.FILL, SWT.BEGINNING).applyTo(main);
- final Control control = super.createSWTControl(main, setting);
- final Button button = new Button(main, SWT.PUSH);
- button.setText("Send Mail"); //$NON-NLS-1$
- button.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- try {
- Desktop.getDesktop().mail(
- URI.create("mailto:" //$NON-NLS-1$
- + getModelValue(setting).getValue()));
- } catch (final IOException e1) {
- // ignore failure to open mailto
- }
- }
- });
- return control;
- }
-
-}
+/**
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.ecp.makeithappen.ui.emailcontrol;
+
+import java.awt.Desktop;
+import java.io.IOException;
+import java.net.URI;
+
+import javax.inject.Inject;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.jface.layout.GridDataFactory;
+import org.eclipse.jface.layout.GridLayoutFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+/**
+ * A renderer to render an e-mail address.
+ *
+ * @author Lucas
+ */
+public class EmailControlRenderer extends TextControlSWTRenderer {
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService The {@link ReportService}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+ * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+ * @param emfFormsEditSupport The {@link EMFFormsEditSupport}
+ */
+ @Inject
+ public EmailControlRenderer(VControl vElement, ViewModelContext viewContext,
+ ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider, EMFFormsEditSupport emfFormsEditSupport) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider,
+ emfFormsEditSupport);
+ }
+
+ @Override
+ protected Control createSWTControl(Composite parent) {
+ final Composite main = new Composite(parent, SWT.NONE);
+ GridLayoutFactory.fillDefaults().numColumns(2).applyTo(main);
+ GridDataFactory.fillDefaults().grab(true, false)
+ .align(SWT.FILL, SWT.BEGINNING).applyTo(main);
+ final Control control = super.createSWTControl(main);
+ final Button button = new Button(main, SWT.PUSH);
+ button.setText("Send Mail"); //$NON-NLS-1$
+ button.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ try {
+ Desktop.getDesktop().mail(
+ URI.create("mailto:" //$NON-NLS-1$
+ + getModelValue().getValue()));
+ } catch (final IOException e1) {
+ // ignore failure to open mailto
+ } catch (final DatabindingFailedException ex) {
+ getReportService().report(new DatabindingFailedReport(ex));
+ // ignore failure to open mailto
+ }
+ }
+ });
+ return control;
+ }
+
+}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlRendererTest.java b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlRendererTest.java
deleted file mode 100644
index 3d8736a..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlRendererTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.ui.emailcontrol;
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.model.VControl;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-
-/**
- * The renderer tester for the email control renderer.
- *
- * @author Eclipse Modeling Project
- *
- */
-public class EmailControlRendererTest implements ECPRendererTester {
-
- /**
- * @param feature the structural feature.
- * @param vElement the VElement.
- * @param context the view model context.
- * @return whether the renderer is applicable for the feature.
- */
- public int isApplicableForFeature(EStructuralFeature feature, VElement vElement, ViewModelContext context) {
- if (feature.equals(TaskPackage.eINSTANCE.getUser_Email())) {
- return 10;
- }
- return NOT_APPLICABLE;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.model.common.ECPRendererTester#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
- * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
- */
- @Override
- public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
- if (!VControl.class.isInstance(vElement)) {
- return NOT_APPLICABLE;
- }
- final EStructuralFeature feature = VControl.class.cast(vElement).getDomainModelReference()
- .getEStructuralFeatureIterator().next();
- return isApplicableForFeature(feature, vElement, viewModelContext);
- }
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlSWTRendererService.java b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlSWTRendererService.java
new file mode 100644
index 0000000..b255369
--- /dev/null
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlSWTRendererService.java
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.makeithappen.ui.emailcontrol;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * EmailControlSWTRendererService which provides the EmailControlRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class EmailControlSWTRendererService implements EMFFormsDIRendererService<VControl> {
+
+ private EMFFormsDatabinding databindingService;
+ private ReportService reportService;
+
+ /**
+ * Called by the initializer to set the EMFFormsDatabinding.
+ *
+ * @param databindingService The EMFFormsDatabinding
+ */
+ protected void setEMFFormsDatabinding(EMFFormsDatabinding databindingService) {
+ this.databindingService = databindingService;
+ }
+
+ /**
+ * Called by the initializer to set the ReportService.
+ *
+ * @param reportService The ReportService
+ */
+ protected void setReportService(ReportService reportService) {
+ this.reportService = reportService;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VControl.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ final VControl control = (VControl) vElement;
+ IValueProperty valueProperty;
+ try {
+ valueProperty = databindingService.getValueProperty(control.getDomainModelReference(),
+ viewModelContext.getDomainModel());
+ } catch (final DatabindingFailedException ex) {
+ reportService.report(new DatabindingFailedReport(ex));
+ return NOT_APPLICABLE;
+ }
+ final EStructuralFeature eStructuralFeature = EStructuralFeature.class.cast(valueProperty.getValueType());
+ if (TaskPackage.eINSTANCE.getUser_Email().equals(eStructuralFeature)) {
+ return 10;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VControl>> getRendererClass() {
+ return EmailControlRenderer.class;
+ }
+
+}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.project b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.project
index 4a60f5e..5f3f9b9 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.project
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.project
@@ -25,6 +25,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/META-INF/MANIFEST.MF
index d4bc88e..657d071 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/META-INF/MANIFEST.MF
@@ -2,23 +2,31 @@
Bundle-ManifestVersion: 2
Bundle-Name: Expandbar Group Renderer
Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.view.group.renderer;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.emf.ecp.view.group.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)",
org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)"
-Import-Package: org.eclipse.swt;version="0.0.0",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
+Import-Package: javax.inject;version="0.0.0",
+ org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.swt;version="0.0.0",
org.eclipse.swt.events;version="0.0.0",
org.eclipse.swt.graphics;version="0.0.0",
org.eclipse.swt.internal;version="0.0.0",
org.eclipse.swt.layout;version="0.0.0",
- org.eclipse.swt.widgets;version="0.0.0"
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.8.0"
Bundle-ClassPath: lib/org.eclipse.nebula.widgets.pgroup_1.0.0.201310241250.jar,
.
Export-Package: org.eclipse.emf.ecp.makeithappen.view.group.swt.pgroup
- ;version="1.5.1",org.eclipse.nebula.widgets.pgroup;version="1.0.0",or
+ ;version="1.6.0",org.eclipse.nebula.widgets.pgroup;version="1.0.0",or
g.eclipse.nebula.widgets.pgroup.internal;version="1.0.0";x-internal:=
true
+Service-Component: OSGI-INF/pGroupRendererService.xml
+Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/OSGI-INF/pGroupRendererService.xml b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/OSGI-INF/pGroupRendererService.xml
new file mode 100644
index 0000000..8672ebc
--- /dev/null
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/OSGI-INF/pGroupRendererService.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.makeithappen.view.group.rendererservice">
+ <implementation class="org.eclipse.emf.ecp.makeithappen.view.group.swt.pgroup.PGroupRendererService"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+ </service>
+</scr:component>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/build.properties b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/build.properties
index 75461ed..d122819 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/build.properties
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/build.properties
@@ -1,6 +1,6 @@
-source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.xml,\
- lib/org.eclipse.nebula.widgets.pgroup_1.0.0.201310241250.jar
+ lib/org.eclipse.nebula.widgets.pgroup_1.0.0.201310241250.jar,\
+ OSGI-INF/
+source.. = src/
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/plugin.xml b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/plugin.xml
deleted file mode 100644
index 98c4798..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.makeithappen.view.group.swt.pgroup.PGroupRenderer">
- <staticTest
- element="org.eclipse.emf.ecp.view.spi.group.model.VGroup"
- priority="10">
- </staticTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/pom.xml
index b488938..7e26c6e 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-examples-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
</parent>
@@ -15,5 +15,5 @@
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/src/org/eclipse/emf/ecp/makeithappen/view/group/swt/pgroup/PGroupRenderer.java b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/src/org/eclipse/emf/ecp/makeithappen/view/group/swt/pgroup/PGroupRenderer.java
index 61050ac..e45f331 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/src/org/eclipse/emf/ecp/makeithappen/view/group/swt/pgroup/PGroupRenderer.java
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/src/org/eclipse/emf/ecp/makeithappen/view/group/swt/pgroup/PGroupRenderer.java
@@ -13,9 +13,15 @@
import java.util.Collection;
+import javax.inject.Inject;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
import org.eclipse.nebula.widgets.pgroup.PGroup;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
@@ -28,6 +34,21 @@
*/
public class PGroupRenderer extends ContainerSWTRenderer<VGroup> {
+ /**
+ * Default constructor.
+ *
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ * @param factory the {@link EMFFormsRendererFactory}
+ * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+ */
+ @Inject
+ public PGroupRenderer(VGroup vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsRendererFactory factory, EMFFormsDatabinding emfFormsDatabinding) {
+ super(vElement, viewContext, reportService, factory, emfFormsDatabinding);
+ }
+
@Override
protected Collection<VContainedElement> getChildren() {
return getVElement().getChildren();
@@ -42,8 +63,8 @@
protected Composite getComposite(Composite parent) {
parent.setBackgroundMode(SWT.INHERIT_FORCE);
final PGroup group = new PGroup(parent, SWT.SMOOTH);
- if (getVElement().getName() != null) {
- group.setText(getVElement().getName());
+ if (getVElement().getLabel() != null) {
+ group.setText(getVElement().getLabel());
}
return group;
}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/src/org/eclipse/emf/ecp/makeithappen/view/group/swt/pgroup/PGroupRendererService.java b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/src/org/eclipse/emf/ecp/makeithappen/view/group/swt/pgroup/PGroupRendererService.java
new file mode 100644
index 0000000..2ad0408
--- /dev/null
+++ b/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/src/org/eclipse/emf/ecp/makeithappen/view/group/swt/pgroup/PGroupRendererService.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.makeithappen.view.group.swt.pgroup;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * PGroupSWTRendererService which provides the PGroupSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class PGroupRendererService implements EMFFormsDIRendererService<VGroup> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (!VGroup.class.isInstance(vElement)) {
+ return NOT_APPLICABLE;
+ }
+ return 10;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VGroup>> getRendererClass() {
+ return PGroupRenderer.class;
+ }
+
+}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.wizards/META-INF/MANIFEST.MF
index f12fdb0..0d7c124 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.ecp.makeithappen.wizards/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Make It Happen Examples
Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.wizards;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.makeithappen.internal.wizards.Activator
Require-Bundle: org.eclipse.ui;bundle-version="[3.5.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
@@ -13,6 +13,6 @@
org.eclipse.emf.common;bundle-version="[2.9.0,3.0.0)"
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.ecp.makeithappen.internal.wizards;x-in
- ternal:=true;version="1.5.1"
+ ternal:=true;version="1.6.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/.gitignore b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/.gitignore
new file mode 100644
index 0000000..cb245f4
--- /dev/null
+++ b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/.gitignore
@@ -0,0 +1,4 @@
+# Ignore everything
+*
+# But not these files...
+!.gitignore
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.checkstyle b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.checkstyle
deleted file mode 100644
index dccf8af..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.checkstyle
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
- <local-check-config name="ESMCheckstyle" location="/org.eclipse.emf.ecp.makeithappen.model/checkstyle/esmCheckstyle.xml" type="project" description="">
- <additional-data name="protect-config-file" value="false"/>
- </local-check-config>
- <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyle" local="true">
- <file-match-pattern match-pattern=".java" include-pattern="true"/>
- </fileset>
-</fileset-config>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.classpath b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.classpath
deleted file mode 100644
index ad32c83..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.project b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.project
deleted file mode 100644
index c8240a1..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.ecp.makeithappen.application.sample.e3</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
- </natures>
-</projectDescription>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index f548abb..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-eclipse.preferences.version=1
-
-encoding//model/etypes.ecore=UTF-8
-
-
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.core.runtime.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c948297..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,418 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=120
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.jdt.launching.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index 3bb2352..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.ltk.core.refactoring.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index 864e30f..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Feb 04 09:44:24 CET 2010
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.pde.api.tools.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index e4e3c00..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Ignore
-automatically_removed_unused_problem_filters=Disabled
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 0bbee3c..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=1
-compilers.p.missing-version-import-package=1
-compilers.p.missing-version-require-bundle=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/META-INF/MANIFEST.MF
deleted file mode 100644
index 501eba3..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: MakeItHappen Sample Application e3
-Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.application.sample.e3;singleton:=true
-Bundle-Version: 1.5.1.qualifier
-Require-Bundle: org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.makeithappen.model.edit;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-ActivationPolicy: lazy
-Bundle-Vendor: Eclipse Modeling Framework
-Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.e3;version="1.0.0";x-internal:=true
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/build.properties b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/build.properties
deleted file mode 100644
index 0d3d3a7..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
- META-INF/,\
- .,\
- icons/
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/icons/bricks.png b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/icons/bricks.png
deleted file mode 100644
index 0905f93..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/icons/bricks.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/makeithappen_e3.product b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/makeithappen_e3.product
deleted file mode 100644
index 2c5a386..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/makeithappen_e3.product
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="MakeItHappen Sample e3 Product" uid="org.eclipse.emf.ecp.makeithappen.sample.product.e3" id="org.eclipse.emf.ecp.makeithappen.application.sample.e3.product" application="org.eclipse.emf.ecp.makeithappen.application.sample.e3.application" version="1.4.0" useFeatures="false" includeLaunchers="true">
-
- <configIni use="default">
- </configIni>
-
- <launcherArgs>
- <programArgs>-consoleLog -debugEMFForms
- </programArgs>
- <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
- </vmArgsMac>
- </launcherArgs>
-
- <windowImages i16="/org.eclipse.emf.ecp.makeithappen.application.sample.e3/icons/bricks.png"/>
-
- <vm>
- <windows include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7</windows>
- </vm>
-
- <plugins>
- <plugin id="com.ibm.icu"/>
- <plugin id="javax.annotation"/>
- <plugin id="javax.inject"/>
- <plugin id="javax.servlet"/>
- <plugin id="javax.xml"/>
- <plugin id="org.apache.batik.css"/>
- <plugin id="org.apache.batik.util"/>
- <plugin id="org.apache.batik.util.gui"/>
- <plugin id="org.eclipse.ant.core"/>
- <plugin id="org.eclipse.compare.core"/>
- <plugin id="org.eclipse.core.commands"/>
- <plugin id="org.eclipse.core.contenttype"/>
- <plugin id="org.eclipse.core.databinding"/>
- <plugin id="org.eclipse.core.databinding.observable"/>
- <plugin id="org.eclipse.core.databinding.property"/>
- <plugin id="org.eclipse.core.expressions"/>
- <plugin id="org.eclipse.core.filesystem"/>
- <plugin id="org.eclipse.core.filesystem.aix.ppc" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.hpux.ia64_32" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.linux.ppc" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.linux.x86" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.linux.x86_64" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.solaris.sparc" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.core.jobs"/>
- <plugin id="org.eclipse.core.resources"/>
- <plugin id="org.eclipse.core.resources.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.core.resources.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.core.runtime"/>
- <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
- <plugin id="org.eclipse.core.variables"/>
- <plugin id="org.eclipse.e4.core.commands"/>
- <plugin id="org.eclipse.e4.core.contexts"/>
- <plugin id="org.eclipse.e4.core.di"/>
- <plugin id="org.eclipse.e4.core.di.extensions"/>
- <plugin id="org.eclipse.e4.core.services"/>
- <plugin id="org.eclipse.e4.ui.bindings"/>
- <plugin id="org.eclipse.e4.ui.css.core"/>
- <plugin id="org.eclipse.e4.ui.css.swt"/>
- <plugin id="org.eclipse.e4.ui.css.swt.theme"/>
- <plugin id="org.eclipse.e4.ui.di"/>
- <plugin id="org.eclipse.e4.ui.model.workbench"/>
- <plugin id="org.eclipse.e4.ui.services"/>
- <plugin id="org.eclipse.e4.ui.widgets"/>
- <plugin id="org.eclipse.e4.ui.workbench"/>
- <plugin id="org.eclipse.e4.ui.workbench.addons.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench3"/>
- <plugin id="org.eclipse.emf.cdo.ecore.retrofit" fragment="true"/>
- <plugin id="org.eclipse.emf.common"/>
- <plugin id="org.eclipse.emf.common.ui"/>
- <plugin id="org.eclipse.emf.databinding"/>
- <plugin id="org.eclipse.emf.databinding.edit"/>
- <plugin id="org.eclipse.emf.ecore"/>
- <plugin id="org.eclipse.emf.ecore.change"/>
- <plugin id="org.eclipse.emf.ecore.edit"/>
- <plugin id="org.eclipse.emf.ecore.xmi"/>
- <plugin id="org.eclipse.emf.ecp.common"/>
- <plugin id="org.eclipse.emf.ecp.common.ui"/>
- <plugin id="org.eclipse.emf.ecp.edit"/>
- <plugin id="org.eclipse.emf.ecp.edit.swt"/>
- <plugin id="org.eclipse.emf.ecp.edit.swt.test" fragment="true"/>
- <plugin id="org.eclipse.emf.ecp.makeithappen.application.sample.e3"/>
- <plugin id="org.eclipse.emf.ecp.makeithappen.model"/>
- <plugin id="org.eclipse.emf.ecp.makeithappen.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.makeithappen.model.viewmodel"/>
- <plugin id="org.eclipse.emf.ecp.ui.view"/>
- <plugin id="org.eclipse.emf.ecp.ui.view.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.categorization.model"/>
- <plugin id="org.eclipse.emf.ecp.view.categorization.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.categorization.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.context"/>
- <plugin id="org.eclipse.emf.ecp.view.context.locale"/>
- <plugin id="org.eclipse.emf.ecp.view.control.multireference"/>
- <plugin id="org.eclipse.emf.ecp.view.core.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.group.model"/>
- <plugin id="org.eclipse.emf.ecp.view.group.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.group.swt.embedded"/>
- <plugin id="org.eclipse.emf.ecp.view.group.ui.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.groupedgrid.model"/>
- <plugin id="org.eclipse.emf.ecp.view.groupedgrid.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.groupedgrid.ui.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.horizontal.model"/>
- <plugin id="org.eclipse.emf.ecp.view.horizontal.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.horizontal.ui.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.label.model"/>
- <plugin id="org.eclipse.emf.ecp.view.label.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.label.ui.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.model"/>
- <plugin id="org.eclipse.emf.ecp.view.model.common"/>
- <plugin id="org.eclipse.emf.ecp.view.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.model.provider.generator"/>
- <plugin id="org.eclipse.emf.ecp.view.model.provider.xmi"/>
- <plugin id="org.eclipse.emf.ecp.view.rule"/>
- <plugin id="org.eclipse.emf.ecp.view.rule.model"/>
- <plugin id="org.eclipse.emf.ecp.view.rule.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.swt.layout"/>
- <plugin id="org.eclipse.emf.ecp.view.table.columnservice"/>
- <plugin id="org.eclipse.emf.ecp.view.table.model"/>
- <plugin id="org.eclipse.emf.ecp.view.table.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.table.ui.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.template.model"/>
- <plugin id="org.eclipse.emf.ecp.view.template.service"/>
- <plugin id="org.eclipse.emf.ecp.view.unset"/>
- <plugin id="org.eclipse.emf.ecp.view.util.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.validation"/>
- <plugin id="org.eclipse.emf.ecp.view.vertical.model"/>
- <plugin id="org.eclipse.emf.ecp.view.vertical.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.vertical.ui.swt"/>
- <plugin id="org.eclipse.emf.edit"/>
- <plugin id="org.eclipse.emf.edit.ui"/>
- <plugin id="org.eclipse.equinox.app"/>
- <plugin id="org.eclipse.equinox.bidi"/>
- <plugin id="org.eclipse.equinox.common"/>
- <plugin id="org.eclipse.equinox.ds"/>
- <plugin id="org.eclipse.equinox.event"/>
- <plugin id="org.eclipse.equinox.preferences"/>
- <plugin id="org.eclipse.equinox.region" fragment="true"/>
- <plugin id="org.eclipse.equinox.registry"/>
- <plugin id="org.eclipse.equinox.transforms.hook" fragment="true"/>
- <plugin id="org.eclipse.equinox.util"/>
- <plugin id="org.eclipse.equinox.weaving.hook" fragment="true"/>
- <plugin id="org.eclipse.help"/>
- <plugin id="org.eclipse.jface"/>
- <plugin id="org.eclipse.jface.databinding"/>
- <plugin id="org.eclipse.osgi"/>
- <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
- <plugin id="org.eclipse.osgi.services"/>
- <plugin id="org.eclipse.swt"/>
- <plugin id="org.eclipse.swt.carbon.macosx" fragment="true"/>
- <plugin id="org.eclipse.swt.cocoa.macosx" fragment="true"/>
- <plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.linux.ppc" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.linux.ppc64" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.linux.s390" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.linux.s390x" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.linux.x86" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.linux.x86_64" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.solaris.sparc" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.solaris.x86" fragment="true"/>
- <plugin id="org.eclipse.swt.motif.aix.ppc" fragment="true"/>
- <plugin id="org.eclipse.swt.motif.hpux.ia64_32" fragment="true"/>
- <plugin id="org.eclipse.swt.motif.linux.x86" fragment="true"/>
- <plugin id="org.eclipse.swt.motif.solaris.sparc" fragment="true"/>
- <plugin id="org.eclipse.swt.photon.qnx.x86" fragment="true"/>
- <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.team.core"/>
- <plugin id="org.eclipse.ui"/>
- <plugin id="org.eclipse.ui.views"/>
- <plugin id="org.eclipse.ui.workbench"/>
- <plugin id="org.hamcrest.core"/>
- <plugin id="org.junit"/>
- <plugin id="org.w3c.css.sac"/>
- <plugin id="org.w3c.dom.events"/>
- <plugin id="org.w3c.dom.smil"/>
- <plugin id="org.w3c.dom.svg"/>
- </plugins>
-
- <configurations>
- <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
- <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
- <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="1" />
- <plugin id="org.eclipse.osgi" autoStart="true" startLevel="-1" />
- </configurations>
-
-</product>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/plugin.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/plugin.xml
deleted file mode 100644
index 1b0634b..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/plugin.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
- <extension
- id="application"
- point="org.eclipse.core.runtime.applications">
- <application
- icon="icons/bricks.png">
- <run
- class="org.eclipse.emf.ecp.makeithappen.application.sample.e3.Application">
- </run>
- </application>
- </extension>
- <extension
- point="org.eclipse.ui.perspectives">
- <perspective
- class="org.eclipse.emf.ecp.makeithappen.application.sample.e3.Perspective"
- fixed="true"
- icon="icons/bricks.png"
- id="TestApp.perspective"
- name="Perspective">
- </perspective>
- </extension>
- <extension
- point="org.eclipse.ui.views">
- <view
- class="org.eclipse.emf.ecp.makeithappen.application.sample.e3.View"
- icon="icons/bricks.png"
- id="TestApp.view"
- name="View">
- </view>
- </extension>
- <extension
- id="product"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.eclipse.emf.ecp.makeithappen.application.sample.e3.application"
- name="MakeItHappen Sample e3 Product">
- <property
- name="appName"
- value="MakeItHappen Sample e3 Product">
- </property>
- <property
- name="windowImages"
- value="icons/bricks.png">
- </property>
- </product>
- </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/pom.xml
deleted file mode 100644
index c5e8da9..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/pom.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.emf.ecp</groupId>
- <artifactId>ecp-examples-parent</artifactId>
- <version>1.4.0-SNAPSHOT</version>
- <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
- </parent>
-
- <artifactId>org.eclipse.emf.ecp.makeithappen.application.sample.e3</artifactId>
- <packaging>eclipse-plugin</packaging>
-
- <groupId>org.eclipse.emf.ecp</groupId>
- <version>1.4.0-SNAPSHOT</version>
-</project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/Application.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/Application.java
deleted file mode 100644
index 9703368..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/Application.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.application.sample.e3;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution.
- */
-public class Application implements IApplication {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
- */
- @Override
- public Object start(IApplicationContext context) {
- final Display display = PlatformUI.createDisplay();
- try {
- final int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
- if (returnCode == PlatformUI.RETURN_RESTART) {
- return IApplication.EXIT_RESTART;
- }
- return IApplication.EXIT_OK;
- } finally {
- display.dispose();
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.app.IApplication#stop()
- */
- @Override
- public void stop() {
- if (!PlatformUI.isWorkbenchRunning()) {
- return;
- }
- final IWorkbench workbench = PlatformUI.getWorkbench();
- final Display display = workbench.getDisplay();
- display.syncExec(new Runnable() {
- @Override
- public void run() {
- if (!display.isDisposed()) {
- workbench.close();
- }
- }
- });
- }
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/ApplicationWorkbenchAdvisor.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index 8193fc9..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.application.sample.e3;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * The ApplicationWorkbenchAdvisor which defines which Perspective to use.
- */
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
- private static final String PERSPECTIVE_ID = "TestApp.perspective"; //$NON-NLS-1$
-
- @Override
- public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(
- IWorkbenchWindowConfigurer configurer) {
- return new ApplicationWorkbenchWindowAdvisor(configurer);
- }
-
- @Override
- public String getInitialWindowPerspectiveId() {
- return PERSPECTIVE_ID;
- }
-
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/ApplicationWorkbenchWindowAdvisor.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 5832696..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.application.sample.e3;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * The ApplicationWorkbenchWindowAdvisor which sets default window sizes.
- */
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
- /**
- * Default constructor.
- *
- * @param configurer the {@link IWorkbenchWindowConfigurer}.
- */
- public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
- super(configurer);
- }
-
- @Override
- public void preWindowOpen() {
- final IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
- configurer.setInitialSize(new Point(800, 500));
- configurer.setShowCoolBar(false);
- configurer.setShowStatusLine(false);
- configurer.setTitle("MakeItHappen ECP Sample e3 Application"); //$NON-NLS-1$
- }
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/Perspective.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/Perspective.java
deleted file mode 100644
index 6f7481c..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/Perspective.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.application.sample.e3;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * Default Perspective.
- *
- */
-public class Perspective implements IPerspectiveFactory {
-
- @Override
- public void createInitialLayout(IPageLayout layout) {
- layout.setEditorAreaVisible(false);
- layout.setFixed(true);
- layout.addStandaloneView(View.ID, false, IPageLayout.LEFT, 1.0f, layout.getEditorArea());
-
- }
-
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/View.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/View.java
deleted file mode 100644
index 328bc5f..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/src/org/eclipse/emf/ecp/makeithappen/application/sample/e3/View.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.application.sample.e3;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.ui.view.ECPRendererException;
-import org.eclipse.emf.ecp.ui.view.swt.DefaultReferenceService;
-import org.eclipse.emf.ecp.ui.view.swt.ECPSWTView;
-import org.eclipse.emf.ecp.ui.view.swt.ECPSWTViewRenderer;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
-import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * Example View for displaying a Forms Editor for an EObject.
- */
-public class View extends ViewPart {
- /**
- * View ID.
- */
- public static final String ID = "TestApp.view"; //$NON-NLS-1$
-
- private ECPSWTView render;
-
- private EObject getDummyEObject() {
- // Replace this with your own model EClass to test the application with a custom model
- final EClass eClass = TaskPackage.eINSTANCE.getUser();
- return EcoreUtil.create(eClass);
- }
-
- /**
- * This is a callback that will allow us to create the viewer and initialize
- * it.
- *
- * @param parent the {@link Composite} to render to
- */
- @Override
- public void createPartControl(Composite parent) {
-
- final EObject dummyObject = getDummyEObject();
-
- try {
- final Composite content = new Composite(parent, SWT.NONE);
- content.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
- content.setLayout(GridLayoutFactory.fillDefaults().margins(10, 10).create());
- content.setLayoutData(GridDataFactory.fillDefaults().create());
-
- final ViewModelContext vmc = ViewModelContextFactory.INSTANCE.createViewModelContext(
- ViewProviderHelper.getView(dummyObject, null), dummyObject, new DefaultReferenceService());
-
- render = ECPSWTViewRenderer.INSTANCE.render(content, vmc);
-
- content.layout();
-
- } catch (final ECPRendererException e) {
- e.printStackTrace();
- }
- parent.layout();
- }
-
- @Override
- public void setFocus() {
- }
-
- @Override
- public void dispose() {
- if (render != null) {
- render.dispose();
- }
- }
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.checkstyle b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.checkstyle
deleted file mode 100644
index dccf8af..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.checkstyle
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
- <local-check-config name="ESMCheckstyle" location="/org.eclipse.emf.ecp.makeithappen.model/checkstyle/esmCheckstyle.xml" type="project" description="">
- <additional-data name="protect-config-file" value="false"/>
- </local-check-config>
- <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyle" local="true">
- <file-match-pattern match-pattern=".java" include-pattern="true"/>
- </fileset>
-</fileset-config>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.classpath b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.classpath
deleted file mode 100644
index ad32c83..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.project b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.project
deleted file mode 100644
index ae950c8..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.ecp.makeithappen.application.sample.e4</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
- </natures>
-</projectDescription>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index f548abb..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-eclipse.preferences.version=1
-
-encoding//model/etypes.ecore=UTF-8
-
-
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.core.runtime.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c948297..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,418 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=120
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.jdt.launching.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index 3bb2352..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 791508d..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,115 +0,0 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_to_enhanced_for_loop=false
-cleanup.correct_indentation=true
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=false
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=true
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=false
-cleanup.remove_unnecessary_nls_tags=false
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_parentheses_in_expressions=true
-cleanup.use_this_for_non_static_field_access=true
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=true
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup_profile=_esmCleanUp
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_esmFormatter
-formatter_settings_version=12
-org.eclipse.jdt.ui.exception.name=ex
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n //\r\n // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=true
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=true
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=true
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=true
-sp_cleanup.use_this_for_non_static_field_access=true
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=true
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.ltk.core.refactoring.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index 864e30f..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Feb 04 09:44:24 CET 2010
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.api.tools.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index e4e3c00..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Ignore
-automatically_removed_unused_problem_filters=Disabled
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 0bbee3c..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=1
-compilers.p.missing-version-import-package=1
-compilers.p.missing-version-require-bundle=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/Application.e4xmi b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/Application.e4xmi
deleted file mode 100644
index ee98c7c..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/Application.e4xmi
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmi:id="_GMrUQAD5EeSknd978uYCFA" elementId="org.eclipse.e4.ide.application" bindingContexts="_GMrUSQD5EeSknd978uYCFA">
- <children xsi:type="basic:TrimmedWindow" xmi:id="_GMrUQQD5EeSknd978uYCFA" label="MakeItHappen ECP Sample e4 Application" iconURI="platform:/plugin/org.eclipse.emf.ecp.makeithappen.application.sample.e4/icons/bricks.png" width="800" height="500">
- <children xsi:type="basic:Part" xmi:id="_GMr7ZQD5EeSknd978uYCFA" contributionURI="bundleclass://org.eclipse.emf.ecp.makeithappen.application.sample.e4/org.eclipse.emf.ecp.makeithappen.application.sample.e4.parts.SamplePart" label="Sample Part" iconURI="platform:/plugin/org.eclipse.emf.ecp.makeithappen.application.sample.e4/icons/bricks.png"/>
- </children>
- <bindingTables xmi:id="_GMrUTgD5EeSknd978uYCFA" bindingContext="_GMrUSQD5EeSknd978uYCFA">
- <bindings xmi:id="_GMr7UAD5EeSknd978uYCFA" keySequence="M1+Q"/>
- <bindings xmi:id="_GMr7UwD5EeSknd978uYCFA" keySequence="M1+O"/>
- <bindings xmi:id="_GMr7VgD5EeSknd978uYCFA" keySequence="M1+S"/>
- <bindings xmi:id="_GMr7WQD5EeSknd978uYCFA" keySequence="M1+A"/>
- </bindingTables>
- <rootContext xmi:id="_GMrUSQD5EeSknd978uYCFA" elementId="org.eclipse.ui.contexts.dialogAndWindow" name="In Dialog and Windows">
- <children xmi:id="_GMrUSgD5EeSknd978uYCFA" elementId="org.eclipse.ui.contexts.window" name="In Windows"/>
- <children xmi:id="_GMrUSwD5EeSknd978uYCFA" elementId="org.eclipse.ui.contexts.dialog" name="In Dialogs"/>
- </rootContext>
- <addons xmi:id="_GMrUQgD5EeSknd978uYCFA" elementId="org.eclipse.e4.core.commands.service" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
- <addons xmi:id="_GMrUQwD5EeSknd978uYCFA" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
- <addons xmi:id="_GMrURAD5EeSknd978uYCFA" elementId="org.eclipse.e4.ui.bindings.service" contributionURI="bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon"/>
- <addons xmi:id="_GMrURQD5EeSknd978uYCFA" elementId="org.eclipse.e4.ui.workbench.commands.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"/>
- <addons xmi:id="_GMrURgD5EeSknd978uYCFA" elementId="org.eclipse.e4.ui.workbench.handler.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"/>
- <addons xmi:id="_GMrURwD5EeSknd978uYCFA" elementId="org.eclipse.e4.ui.workbench.contexts.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"/>
- <addons xmi:id="_GMrUSAD5EeSknd978uYCFA" elementId="org.eclipse.e4.ui.workbench.bindings.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon"/>
-</application:Application>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/META-INF/MANIFEST.MF
deleted file mode 100644
index a9a65b9..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: MakeItHappen Sample Application e4
-Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.application.sample.e4;singleton:=true
-Bundle-Version: 1.5.1.qualifier
-Require-Bundle: javax.inject;bundle-version="1.0.0",
- org.eclipse.core.runtime;bundle-version="[3.9.100,4.0.0)",
- org.eclipse.swt;bundle-version="[3.102.1,4.0.0)",
- org.eclipse.e4.ui.model.workbench;bundle-version="[1.0.1,2.0.0)",
- org.eclipse.jface;bundle-version="[3.9.1,4.0.0)",
- org.eclipse.e4.ui.services;bundle-version="[1.0.1,2.0.0)",
- org.eclipse.e4.ui.workbench;bundle-version="[1.0.2,2.0.0)",
- org.eclipse.e4.core.di;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.e4.ui.di;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.e4.core.contexts;bundle-version="[1.3.1,2.0.0)",
- org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)"
-Import-Package: javax.annotation;version="1.0.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.e4.parts;version="1.4.0";x-internal:=true
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/build.properties b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/build.properties
deleted file mode 100644
index 78274d0..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- Application.e4xmi,\
- icons/
-source.. = src/
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/icons/bricks.png b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/icons/bricks.png
deleted file mode 100644
index 0905f93..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/icons/bricks.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/makeithappen_e4.product b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/makeithappen_e4.product
deleted file mode 100644
index c5e8a5a..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/makeithappen_e4.product
+++ /dev/null
@@ -1,171 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="MakeItHappen Sample e4 Product" uid="org.eclipse.emf.ecp.makeithappen.sample.product.e4" id="org.eclipse.emf.ecp.makeithappen.application.sample.e4.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.4.0.qualifier" useFeatures="false" includeLaunchers="true">
-
- <configIni use="default">
- </configIni>
-
- <launcherArgs>
- <programArgs>-clearPersistedState -debugEMFForms
- </programArgs>
- <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
- </vmArgsMac>
- </launcherArgs>
-
- <windowImages i16="/org.eclipse.emf.ecp.makeithappen.application.sample.e4/icons/bricks.png"/>
-
- <plugins>
- <plugin id="com.ibm.icu"/>
- <plugin id="javax.annotation"/>
- <plugin id="javax.inject"/>
- <plugin id="javax.xml"/>
- <plugin id="org.apache.batik.css"/>
- <plugin id="org.apache.batik.util"/>
- <plugin id="org.apache.batik.util.gui"/>
- <plugin id="org.apache.commons.logging"/>
- <plugin id="org.eclipse.core.commands"/>
- <plugin id="org.eclipse.core.contenttype"/>
- <plugin id="org.eclipse.core.databinding"/>
- <plugin id="org.eclipse.core.databinding.beans"/>
- <plugin id="org.eclipse.core.databinding.observable"/>
- <plugin id="org.eclipse.core.databinding.property"/>
- <plugin id="org.eclipse.core.expressions"/>
- <plugin id="org.eclipse.core.filesystem"/>
- <plugin id="org.eclipse.core.filesystem.aix.ppc" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.hpux.ia64_32" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.linux.ppc" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.linux.x86" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.linux.x86_64" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.solaris.sparc" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.core.jobs"/>
- <plugin id="org.eclipse.core.resources"/>
- <plugin id="org.eclipse.core.resources.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.core.resources.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.core.runtime"/>
- <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
- <plugin id="org.eclipse.e4.core.commands"/>
- <plugin id="org.eclipse.e4.core.contexts"/>
- <plugin id="org.eclipse.e4.core.di"/>
- <plugin id="org.eclipse.e4.core.di.extensions"/>
- <plugin id="org.eclipse.e4.core.services"/>
- <plugin id="org.eclipse.e4.ui.bindings"/>
- <plugin id="org.eclipse.e4.ui.css.core"/>
- <plugin id="org.eclipse.e4.ui.css.swt"/>
- <plugin id="org.eclipse.e4.ui.css.swt.theme"/>
- <plugin id="org.eclipse.e4.ui.di"/>
- <plugin id="org.eclipse.e4.ui.model.workbench"/>
- <plugin id="org.eclipse.e4.ui.services"/>
- <plugin id="org.eclipse.e4.ui.widgets"/>
- <plugin id="org.eclipse.e4.ui.workbench"/>
- <plugin id="org.eclipse.e4.ui.workbench.addons.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa"/>
- <plugin id="org.eclipse.e4.ui.workbench.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench3"/>
- <plugin id="org.eclipse.emf.common"/>
- <plugin id="org.eclipse.emf.common.ui"/>
- <plugin id="org.eclipse.emf.databinding"/>
- <plugin id="org.eclipse.emf.databinding.edit"/>
- <plugin id="org.eclipse.emf.ecore"/>
- <plugin id="org.eclipse.emf.ecore.change"/>
- <plugin id="org.eclipse.emf.ecore.edit"/>
- <plugin id="org.eclipse.emf.ecore.xmi"/>
- <plugin id="org.eclipse.emf.ecp.common"/>
- <plugin id="org.eclipse.emf.ecp.common.ui"/>
- <plugin id="org.eclipse.emf.ecp.edit"/>
- <plugin id="org.eclipse.emf.ecp.edit.swt"/>
- <plugin id="org.eclipse.emf.ecp.makeithappen.application.sample.e4"/>
- <plugin id="org.eclipse.emf.ecp.makeithappen.model"/>
- <plugin id="org.eclipse.emf.ecp.makeithappen.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.makeithappen.model.viewmodel"/>
- <plugin id="org.eclipse.emf.ecp.ui.view"/>
- <plugin id="org.eclipse.emf.ecp.ui.view.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.context"/>
- <plugin id="org.eclipse.emf.ecp.view.context.locale"/>
- <plugin id="org.eclipse.emf.ecp.view.control.multireference"/>
- <plugin id="org.eclipse.emf.ecp.view.core.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.group.model"/>
- <plugin id="org.eclipse.emf.ecp.view.group.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.group.swt.embedded"/>
- <plugin id="org.eclipse.emf.ecp.view.group.ui.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.horizontal.model"/>
- <plugin id="org.eclipse.emf.ecp.view.horizontal.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.horizontal.ui.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.label.model"/>
- <plugin id="org.eclipse.emf.ecp.view.label.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.label.ui.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.model"/>
- <plugin id="org.eclipse.emf.ecp.view.model.common"/>
- <plugin id="org.eclipse.emf.ecp.view.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.model.provider.generator"/>
- <plugin id="org.eclipse.emf.ecp.view.model.provider.xmi"/>
- <plugin id="org.eclipse.emf.ecp.view.rule"/>
- <plugin id="org.eclipse.emf.ecp.view.rule.model"/>
- <plugin id="org.eclipse.emf.ecp.view.rule.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.swt.layout"/>
- <plugin id="org.eclipse.emf.ecp.view.table.columnservice"/>
- <plugin id="org.eclipse.emf.ecp.view.table.model"/>
- <plugin id="org.eclipse.emf.ecp.view.table.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.table.ui.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.template.model"/>
- <plugin id="org.eclipse.emf.ecp.view.template.service"/>
- <plugin id="org.eclipse.emf.ecp.view.util.swt"/>
- <plugin id="org.eclipse.emf.ecp.view.validation"/>
- <plugin id="org.eclipse.emf.ecp.view.vertical.model"/>
- <plugin id="org.eclipse.emf.ecp.view.vertical.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.vertical.ui.swt"/>
- <plugin id="org.eclipse.emf.edit"/>
- <plugin id="org.eclipse.emf.edit.ui"/>
- <plugin id="org.eclipse.equinox.app"/>
- <plugin id="org.eclipse.equinox.common"/>
- <plugin id="org.eclipse.equinox.concurrent"/>
- <plugin id="org.eclipse.equinox.ds"/>
- <plugin id="org.eclipse.equinox.event"/>
- <plugin id="org.eclipse.equinox.preferences"/>
- <plugin id="org.eclipse.equinox.region" fragment="true"/>
- <plugin id="org.eclipse.equinox.registry"/>
- <plugin id="org.eclipse.equinox.transforms.hook" fragment="true"/>
- <plugin id="org.eclipse.equinox.util"/>
- <plugin id="org.eclipse.equinox.weaving.hook" fragment="true"/>
- <plugin id="org.eclipse.help"/>
- <plugin id="org.eclipse.jface"/>
- <plugin id="org.eclipse.jface.databinding"/>
- <plugin id="org.eclipse.osgi"/>
- <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
- <plugin id="org.eclipse.osgi.services"/>
- <plugin id="org.eclipse.swt"/>
- <plugin id="org.eclipse.swt.carbon.macosx" fragment="true"/>
- <plugin id="org.eclipse.swt.cocoa.macosx" fragment="true"/>
- <plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.linux.ppc" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.linux.ppc64" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.linux.s390" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.linux.s390x" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.linux.x86" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.linux.x86_64" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.solaris.sparc" fragment="true"/>
- <plugin id="org.eclipse.swt.gtk.solaris.x86" fragment="true"/>
- <plugin id="org.eclipse.swt.motif.aix.ppc" fragment="true"/>
- <plugin id="org.eclipse.swt.motif.hpux.ia64_32" fragment="true"/>
- <plugin id="org.eclipse.swt.motif.linux.x86" fragment="true"/>
- <plugin id="org.eclipse.swt.motif.solaris.sparc" fragment="true"/>
- <plugin id="org.eclipse.swt.photon.qnx.x86" fragment="true"/>
- <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
- <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.ui"/>
- <plugin id="org.eclipse.ui.views"/>
- <plugin id="org.eclipse.ui.workbench"/>
- <plugin id="org.hamcrest.core"/>
- <plugin id="org.junit"/>
- <plugin id="org.w3c.css.sac"/>
- <plugin id="org.w3c.dom.events"/>
- <plugin id="org.w3c.dom.smil"/>
- <plugin id="org.w3c.dom.svg"/>
- </plugins>
-
-
-</product>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/plugin.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/plugin.xml
deleted file mode 100644
index efe5c20..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin>
-
- <extension
- id="product"
- point="org.eclipse.core.runtime.products">
- <product
- name="MakeItHappen Sample e4 Product"
- application="org.eclipse.e4.ui.workbench.swt.E4Application">
- <property
- name="appName"
- value="MakeItHappen Sample e4 Product">
- </property>
- <property
- name="windowImages"
- value="icons/bricks.png">
- </property>
- </product>
- </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/pom.xml
deleted file mode 100644
index 7de0d73..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/pom.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.emf.ecp</groupId>
- <artifactId>ecp-examples-parent</artifactId>
- <version>1.4.0-SNAPSHOT</version>
- <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
- </parent>
-
- <artifactId>org.eclipse.emf.ecp.makeithappen.application.sample.e4</artifactId>
- <packaging>eclipse-plugin</packaging>
-
- <groupId>org.eclipse.emf.ecp</groupId>
- <version>1.4.0-SNAPSHOT</version>
-</project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/src/org/eclipse/emf/ecp/makeithappen/application/sample/e4/parts/SamplePart.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/src/org/eclipse/emf/ecp/makeithappen/application/sample/e4/parts/SamplePart.java
deleted file mode 100644
index c9096f7..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/src/org/eclipse/emf/ecp/makeithappen/application/sample/e4/parts/SamplePart.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.application.sample.e4.parts;
-
-import javax.annotation.PostConstruct;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.ui.view.ECPRendererException;
-import org.eclipse.emf.ecp.ui.view.swt.DefaultReferenceService;
-import org.eclipse.emf.ecp.ui.view.swt.ECPSWTViewRenderer;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
-import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Example Part for displaying a Forms Editor for an EObject.
- */
-public class SamplePart {
-
- private EObject getDummyEObject() {
- // Replace this with your own model EClass to test the application with a custom model
- final EClass eClass = TaskPackage.eINSTANCE.getUser();
- return EcoreUtil.create(eClass);
- }
-
- /**
- * Render the editor.
- *
- * @param parent the {@link Composite} to render to
- */
- @PostConstruct
- public void createComposite(Composite parent) {
- final EObject dummyObject = getDummyEObject();
- try {
- final Composite content = new Composite(parent, SWT.NONE);
- content.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
- content.setLayout(GridLayoutFactory.fillDefaults().margins(10, 10).create());
- content.setLayoutData(GridDataFactory.fillDefaults().create());
-
- final ViewModelContext vmc = ViewModelContextFactory.INSTANCE.createViewModelContext(
- ViewProviderHelper.getView(dummyObject, null), dummyObject, new DefaultReferenceService());
-
- ECPSWTViewRenderer.INSTANCE.render(content, vmc);
- content.layout();
- } catch (final ECPRendererException e) {
- e.printStackTrace();
- }
- parent.layout();
- }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.classpath b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.classpath
deleted file mode 100644
index 22f3064..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.project b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.project
deleted file mode 100644
index edccfc9..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.ecp.makeithappen.application.sample.fx</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index f548abb..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-eclipse.preferences.version=1
-
-encoding//model/etypes.ecore=UTF-8
-
-
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.core.runtime.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.jdt.launching.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index 3bb2352..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 791508d..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,115 +0,0 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_to_enhanced_for_loop=false
-cleanup.correct_indentation=true
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=false
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=true
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=false
-cleanup.remove_unnecessary_nls_tags=false
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_parentheses_in_expressions=true
-cleanup.use_this_for_non_static_field_access=true
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=true
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup_profile=_esmCleanUp
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_esmFormatter
-formatter_settings_version=12
-org.eclipse.jdt.ui.exception.name=ex
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n //\r\n // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=true
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=true
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=true
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=true
-sp_cleanup.use_this_for_non_static_field_access=true
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=true
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.ltk.core.refactoring.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index 864e30f..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Feb 04 09:44:24 CET 2010
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.pde.api.tools.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index e4e3c00..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Ignore
-automatically_removed_unused_problem_filters=Disabled
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 0bbee3c..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=1
-compilers.p.missing-version-import-package=1
-compilers.p.missing-version-require-bundle=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/META-INF/MANIFEST.MF
deleted file mode 100644
index c517423..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,40 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: My Sample App
-Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.application.sample.fx;singleton:=true
-Bundle-Version: 1.5.1.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Require-Bundle: org.eclipse.fx.osgi.util;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.fx.core.databinding;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.fx.ui.databinding;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.equinox.app;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.5.0,2.0.0)"
-Import-Package: javafx.animation;version="2.0.0",
- javafx.application;version="2.0.0",
- javafx.beans;version="2.0.0",
- javafx.beans.binding;version="2.0.0",
- javafx.beans.property;version="2.0.0",
- javafx.beans.value;version="2.0.0",
- javafx.collections;version="2.0.0",
- javafx.concurrent;version="2.0.0",
- javafx.event;version="2.0.0",
- javafx.fxml;version="2.0.0",
- javafx.geometry;version="2.0.0",
- javafx.scene;version="2.0.0",
- javafx.scene.chart;version="2.0.0",
- javafx.scene.control;version="2.0.0",
- javafx.scene.control.cell;version="2.0.0",
- javafx.scene.effect;version="2.0.0",
- javafx.scene.image;version="2.0.0",
- javafx.scene.input;version="2.0.0",
- javafx.scene.layout;version="2.2.0",
- javafx.scene.media;version="2.0.0",
- javafx.scene.paint;version="2.0.0",
- javafx.scene.shape;version="2.0.0",
- javafx.scene.text;version="2.0.0",
- javafx.scene.transform;version="2.0.0",
- javafx.scene.web;version="2.0.0",
- javafx.stage;version="2.2.0",
- javafx.util;version="2.0.0"
-Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.fx;version="1.5.1";x-internal:=true
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/build.properties b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/build.properties
deleted file mode 100644
index f71a1b5..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = .,\
- META-INF/,\
- plugin.xml,\
-css/
-
-source.. = src/
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/css/default.css b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/css/default.css
deleted file mode 100644
index a38730e..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/css/default.css
+++ /dev/null
@@ -1 +0,0 @@
-/* Main CSS-File */
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/icons/bricks.png b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/icons/bricks.png
deleted file mode 100644
index 0905f93..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/icons/bricks.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/makeithappen_JavaFX.target b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/makeithappen_JavaFX.target
deleted file mode 100644
index fd0ea73..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/makeithappen_JavaFX.target
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="makeithappen_JavaFX" sequenceNumber="5">
-<locations>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.ecp.emfforms.runtime.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/ecp/releases/releases_15"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.fx.target.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/efxclipse/runtime-released/1.1.0/site"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.ecp.view.sdk.fx.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/ecp/javafx"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/releases/luna/"/>
-</location>
-</locations>
-<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
-</target>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/makeithappen_fx.product b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/makeithappen_fx.product
deleted file mode 100644
index 5d3e901..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/makeithappen_fx.product
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="MakeItHappen Sample FX Product" uid="org.eclipse.emf.ecp.makeithappen.sample.product.fx" id="org.eclipse.emf.ecp.makeithappen.application.sample.fx.product" application="org.eclipse.emf.ecp.makeithappen.application.sample.fx.application" version="1.4.0" useFeatures="false" includeLaunchers="true">
-
-
- <configIni use="default">
- </configIni>
-
- <launcherArgs>
- <programArgs>-consoleLog -nosplash -debugEMFForms
- </programArgs>
- <vmArgs>-Dosgi.framework.extensions=org.eclipse.fx.osgi
- </vmArgs>
- <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
- </vmArgsMac>
- </launcherArgs>
-
- <windowImages i16="/org.eclipse.emf.ecp.makeithappen.application.sample.fx/icons/bricks.png"/>
-
-
- <vm>
- <linux include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</linux>
- </vm>
-
- <plugins>
- <plugin id="com.ibm.icu"/>
- <plugin id="javax.annotation"/>
- <plugin id="javax.inject"/>
- <plugin id="javax.servlet"/>
- <plugin id="javax.xml"/>
- <plugin id="org.apache.commons.lang"/>
- <plugin id="org.eclipse.ant.core"/>
- <plugin id="org.eclipse.core.commands"/>
- <plugin id="org.eclipse.core.contenttype"/>
- <plugin id="org.eclipse.core.databinding"/>
- <plugin id="org.eclipse.core.databinding.observable"/>
- <plugin id="org.eclipse.core.databinding.property"/>
- <plugin id="org.eclipse.core.expressions"/>
- <plugin id="org.eclipse.core.filesystem"/>
- <plugin id="org.eclipse.core.jobs"/>
- <plugin id="org.eclipse.core.resources"/>
- <plugin id="org.eclipse.core.runtime"/>
- <plugin id="org.eclipse.core.variables"/>
- <plugin id="org.eclipse.e4.core.commands"/>
- <plugin id="org.eclipse.e4.core.contexts"/>
- <plugin id="org.eclipse.e4.core.di"/>
- <plugin id="org.eclipse.e4.core.di.extensions"/>
- <plugin id="org.eclipse.e4.core.services"/>
- <plugin id="org.eclipse.e4.ui.di"/>
- <plugin id="org.eclipse.e4.ui.model.workbench"/>
- <plugin id="org.eclipse.e4.ui.services"/>
- <plugin id="org.eclipse.e4.ui.workbench"/>
- <plugin id="org.eclipse.emf.common"/>
- <plugin id="org.eclipse.emf.databinding"/>
- <plugin id="org.eclipse.emf.databinding.edit"/>
- <plugin id="org.eclipse.emf.ecore"/>
- <plugin id="org.eclipse.emf.ecore.change"/>
- <plugin id="org.eclipse.emf.ecore.edit"/>
- <plugin id="org.eclipse.emf.ecore.xmi"/>
- <plugin id="org.eclipse.emf.ecp.common"/>
- <plugin id="org.eclipse.emf.ecp.controls.fx"/>
- <plugin id="org.eclipse.emf.ecp.edit"/>
- <plugin id="org.eclipse.emf.ecp.makeithappen.application.sample.fx"/>
- <plugin id="org.eclipse.emf.ecp.makeithappen.model"/>
- <plugin id="org.eclipse.emf.ecp.makeithappen.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.makeithappen.model.viewmodel"/>
- <plugin id="org.eclipse.emf.ecp.ui.view"/>
- <plugin id="org.eclipse.emf.ecp.util.fx"/>
- <plugin id="org.eclipse.emf.ecp.view.context"/>
- <plugin id="org.eclipse.emf.ecp.view.context.locale"/>
- <plugin id="org.eclipse.emf.ecp.view.group.fx"/>
- <plugin id="org.eclipse.emf.ecp.view.group.model"/>
- <plugin id="org.eclipse.emf.ecp.view.group.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.horizontal.fx"/>
- <plugin id="org.eclipse.emf.ecp.view.horizontal.model"/>
- <plugin id="org.eclipse.emf.ecp.view.horizontal.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.label.fx"/>
- <plugin id="org.eclipse.emf.ecp.view.label.model"/>
- <plugin id="org.eclipse.emf.ecp.view.model"/>
- <plugin id="org.eclipse.emf.ecp.view.model.common"/>
- <plugin id="org.eclipse.emf.ecp.view.model.edit"/>
- <plugin id="org.eclipse.emf.ecp.view.model.fx"/>
- <plugin id="org.eclipse.emf.ecp.view.model.provider.generator"/>
- <plugin id="org.eclipse.emf.ecp.view.model.provider.xmi"/>
- <plugin id="org.eclipse.emf.ecp.view.template.model"/>
- <plugin id="org.eclipse.emf.ecp.view.template.service"/>
- <plugin id="org.eclipse.emf.ecp.view.validation"/>
- <plugin id="org.eclipse.emf.edit"/>
- <plugin id="org.eclipse.equinox.app"/>
- <plugin id="org.eclipse.equinox.bidi"/>
- <plugin id="org.eclipse.equinox.common"/>
- <plugin id="org.eclipse.equinox.ds"/>
- <plugin id="org.eclipse.equinox.event"/>
- <plugin id="org.eclipse.equinox.http.registry"/>
- <plugin id="org.eclipse.equinox.preferences"/>
- <plugin id="org.eclipse.equinox.registry"/>
- <plugin id="org.eclipse.equinox.util"/>
- <plugin id="org.eclipse.fx.core"/>
- <plugin id="org.eclipse.fx.core.databinding"/>
- <plugin id="org.eclipse.fx.emf.edit.ui"/>
- <plugin id="org.eclipse.fx.javafx"/>
- <plugin id="org.eclipse.fx.osgi" fragment="true"/>
- <plugin id="org.eclipse.fx.osgi.util"/>
- <plugin id="org.eclipse.fx.ui.databinding"/>
- <plugin id="org.eclipse.osgi"/>
- <plugin id="org.eclipse.osgi.services"/>
- </plugins>
-
- <configurations>
- <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
- <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
- <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="1" />
- <plugin id="org.eclipse.osgi" autoStart="true" startLevel="-1" />
- </configurations>
-
-</product>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/plugin.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/plugin.xml
deleted file mode 100644
index ab98be4..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/plugin.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-<extension id="application" point="org.eclipse.core.runtime.applications">
- <application thread="any" cardinality="*" visible="true" >
- <run class="org.eclipse.emf.ecp.makeithappen.application.sample.fx.MainApplication" />
-
- </application>
-
-</extension>
-<extension
- id="product"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.eclipse.emf.ecp.makeithappen.application.sample.fx.application"
- name="MakeItHappen Sample FX Product">
- <property
- name="appName"
- value="MakeItHappen Sample FX Product">
- </property>
- <property
- name="windowImages"
- value="icons/bricks.png">
- </property>
- </product>
-</extension>
-</plugin>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/src/org/eclipse/emf/ecp/makeithappen/application/sample/fx/MainApplication.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/src/org/eclipse/emf/ecp/makeithappen/application/sample/fx/MainApplication.java
deleted file mode 100644
index 388f994..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/src/org/eclipse/emf/ecp/makeithappen/application/sample/fx/MainApplication.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.emf.ecp.makeithappen.application.sample.fx;
-
-import javafx.application.Application;
-import javafx.scene.Scene;
-import javafx.scene.layout.BorderPane;
-import javafx.stage.Stage;
-
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskFactory;
-import org.eclipse.emf.ecp.makeithappen.model.task.User;
-import org.eclipse.emf.ecp.view.model.fx.ECPFXView;
-import org.eclipse.emf.ecp.view.model.fx.ECPFXViewRenderer;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.fx.osgi.util.AbstractJFXApplication;
-
-public class MainApplication extends AbstractJFXApplication {
-
- private void fillPane(BorderPane pane) {
- final User submission = TaskFactory.eINSTANCE.createUser();
- ECPFXView ecpfxView = ECPFXViewRenderer.INSTANCE.render(submission);
- pane.setCenter(ecpfxView.getFXNode());
- }
-
- protected void jfxStart(IApplicationContext applicationContext, Application jfxApplication, Stage primaryStage) {
- BorderPane pane=new BorderPane();
- Scene s = new Scene(pane);
- primaryStage.setScene(s);
- primaryStage.setWidth(800);
- primaryStage.setHeight(600);
- primaryStage.setTitle("Make it happen Demo");
- fillPane(pane);
- primaryStage.show();
- }
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.checkstyle b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.checkstyle
deleted file mode 100644
index dccf8af..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.checkstyle
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
- <local-check-config name="ESMCheckstyle" location="/org.eclipse.emf.ecp.makeithappen.model/checkstyle/esmCheckstyle.xml" type="project" description="">
- <additional-data name="protect-config-file" value="false"/>
- </local-check-config>
- <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyle" local="true">
- <file-match-pattern match-pattern=".java" include-pattern="true"/>
- </fileset>
-</fileset-config>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.classpath b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.classpath
deleted file mode 100644
index ad32c83..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.project b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.project
deleted file mode 100644
index 8a0f2f2..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.project
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ds.core.builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
- </natures>
-</projectDescription>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index f548abb..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-eclipse.preferences.version=1
-
-encoding//model/etypes.ecore=UTF-8
-
-
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.core.runtime.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c948297..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,418 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=120
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.jdt.launching.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index 3bb2352..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 791508d..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,115 +0,0 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_to_enhanced_for_loop=false
-cleanup.correct_indentation=true
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=false
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=true
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=false
-cleanup.remove_unnecessary_nls_tags=false
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_parentheses_in_expressions=true
-cleanup.use_this_for_non_static_field_access=true
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=true
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup_profile=_esmCleanUp
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_esmFormatter
-formatter_settings_version=12
-org.eclipse.jdt.ui.exception.name=ex
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n //\r\n // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=true
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=true
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=true
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=true
-sp_cleanup.use_this_for_non_static_field_access=true
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=true
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.ltk.core.refactoring.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index 864e30f..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Feb 04 09:44:24 CET 2010
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.pde.api.tools.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index e4e3c00..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Ignore
-automatically_removed_unused_problem_filters=Disabled
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 0bbee3c..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=1
-compilers.p.missing-version-import-package=1
-compilers.p.missing-version-require-bundle=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/META-INF/MANIFEST.MF
deleted file mode 100644
index de0ec3d..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: MakeItHappen Sample J2ee RAP
-Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee
-Bundle-Version: 1.5.1.qualifier
-Bundle-Vendor: Eclipse Modeling Project
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-ActivationPolicy: lazy
-Service-Component: OSGI-INF/makeithappenApplicationConfiguration.xml
-Require-Bundle: org.eclipse.rap.rwt;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.rap.jface;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.rap.jface.databinding;bundle-version="[2.0.0,3.0.0)"
-Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee;version="1.4.0";x-internal:=true
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/MakeItHappen Sample J2EE RAP Application.launch b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/MakeItHappen Sample J2EE RAP Application.launch
deleted file mode 100644
index 26aa815..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/MakeItHappen Sample J2EE RAP Application.launch
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.rap.ui.launch.RAPLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/MakeItHappen Sample J2EE RAP Application"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="default_auto_start" value="true"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console -debugEMFForms"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dorg.eclipse.equinox.http.jetty.log.stderr.threshold=info"/>
-<stringAttribute key="org.eclipse.rap.launch.browserMode" value="EXTERNAL"/>
-<stringAttribute key="org.eclipse.rap.launch.contextpath" value="/"/>
-<stringAttribute key="org.eclipse.rap.launch.dataLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.rap.tools.launch/MakeItHappenSampleJ2EERAPApplication"/>
-<booleanAttribute key="org.eclipse.rap.launch.developmentMode" value="true"/>
-<booleanAttribute key="org.eclipse.rap.launch.openBrowser" value="true"/>
-<intAttribute key="org.eclipse.rap.launch.port" value="10080"/>
-<stringAttribute key="org.eclipse.rap.launch.servletPath" value="/makeithappen_j2ee"/>
-<intAttribute key="org.eclipse.rap.launch.sessionTimeout" value="0"/>
-<booleanAttribute key="org.eclipse.rap.launch.useDefaultDataLocation" value="true"/>
-<booleanAttribute key="org.eclipse.rap.launch.useManualContextPath" value="false"/>
-<booleanAttribute key="org.eclipse.rap.launch.useManualPort" value="false"/>
-<booleanAttribute key="org.eclipse.rap.launch.useSessionTimeout" value="false"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="com.ibm.icu.base@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.rap.util@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context.locale@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.label.model.edit@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.rap@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model.edit@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.rule@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.template.model.edit@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.util.swt.rap@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.http.servletbridge@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.servletbridge@default:default,org.eclipse.equinox.util@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee@default:default,org.eclipse.emf.ecp.makeithappen.model.edit@default:default,org.eclipse.emf.ecp.makeithappen.model.viewmodel@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default"/>
-</launchConfiguration>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/OSGI-INF/makeithappenApplicationConfiguration.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/OSGI-INF/makeithappenApplicationConfiguration.xml
deleted file mode 100644
index 3100f20..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/OSGI-INF/makeithappenApplicationConfiguration.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee">
- <implementation class="org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee.MakeItHappenApplicationConfiguration"/>
- <service>
- <provide interface="org.eclipse.rap.rwt.application.ApplicationConfiguration"/>
- </service>
-</scr:component>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/build.properties b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/build.properties
deleted file mode 100644
index 6210e84..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- OSGI-INF/
-source.. = src/
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/makeithappen_RAP.target b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/makeithappen_RAP.target
deleted file mode 100644
index 484a2b5..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/makeithappen_RAP.target
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="makeithappen_RAP" sequenceNumber="12">
-<locations>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.rap.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.rap.equinox.target.feature.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.rap.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/releases/luna/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.ecp.rap.util.feature.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.emf.ecp.emfforms.runtime.feature.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.emf.ecp.rap.sdk.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/ecp/releases/releases_15"/>
-</location>
-</locations>
-</target>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/pom.xml
deleted file mode 100644
index 09c96a5..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/pom.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.emf.ecp</groupId>
- <artifactId>ecp-examples-parent</artifactId>
- <version>1.4.0-SNAPSHOT</version>
- <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
- </parent>
-
- <artifactId>org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee</artifactId>
- <packaging>eclipse-plugin</packaging>
-
- <groupId>org.eclipse.emf.ecp</groupId>
- <version>1.4.0-SNAPSHOT</version>
-</project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/DataBindingPhaseListener.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/DataBindingPhaseListener.java
deleted file mode 100644
index 7dbfc6f..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/DataBindingPhaseListener.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee;
-
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.rap.rwt.RWT;
-import org.eclipse.rap.rwt.lifecycle.PhaseEvent;
-import org.eclipse.rap.rwt.lifecycle.PhaseId;
-import org.eclipse.rap.rwt.lifecycle.PhaseListener;
-
-/**
- * A {@link PhaseListener} to set the default realm.
- */
-
-@SuppressWarnings({ "deprecation", "serial" })
-public class DataBindingPhaseListener implements PhaseListener {
-
- @Override
- public PhaseId getPhaseId() {
- return PhaseId.PROCESS_ACTION;
- }
-
- @Override
- public void beforePhase(PhaseEvent event) {
- final Realm realm = (Realm) RWT.getUISession().getAttribute("realm"); //$NON-NLS-1$
- RealmSetter.setRealm(realm);
- }
-
- @Override
- public void afterPhase(PhaseEvent event) {
- RealmSetter.setRealm(null);
- }
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/MakeItHappenApplicationConfiguration.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/MakeItHappenApplicationConfiguration.java
deleted file mode 100644
index 01e246d..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/MakeItHappenApplicationConfiguration.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee;
-
-import org.eclipse.rap.rwt.application.Application;
-import org.eclipse.rap.rwt.application.ApplicationConfiguration;
-
-/**
- * The {@link ApplicationConfiguration} for the MakeItHappen RAP Demo.
- */
-public class MakeItHappenApplicationConfiguration implements ApplicationConfiguration {
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.rap.rwt.application.ApplicationConfiguration#configure(org.eclipse.rap.rwt.application.Application)
- */
- @SuppressWarnings("deprecation")
- @Override
- public void configure(Application application) {
- application.addPhaseListener(new DataBindingPhaseListener());
- application.addEntryPoint("/makeithappen_j2ee", MakeItHappenEntryPoint.class, null); //$NON-NLS-1$
- }
-
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/MakeItHappenEntryPoint.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/MakeItHappenEntryPoint.java
deleted file mode 100644
index ef19b6e..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/MakeItHappenEntryPoint.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.ui.view.ECPRendererException;
-import org.eclipse.emf.ecp.ui.view.swt.ECPSWTViewRenderer;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.rap.rwt.application.AbstractEntryPoint;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Entry Point for a standalone RAP Application.
- */
-public class MakeItHappenEntryPoint extends AbstractEntryPoint {
-
- private EObject getDummyEObject() {
- // Replace this with your own model EClass to test the application with a custom model
- final EClass eClass = TaskPackage.eINSTANCE.getUser();
- return EcoreUtil.create(eClass);
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.rap.rwt.application.AbstractEntryPoint#createContents(org.eclipse.swt.widgets.Composite)
- */
- @Override
- protected void createContents(Composite parent) {
- // Special call needed only on RAP J2EE
- RealmSetter.initialize();
-
- final EObject dummyObject = getDummyEObject();
-
- try {
- final Composite content = new Composite(parent, SWT.NONE);
- content.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
- content.setLayout(GridLayoutFactory.fillDefaults().margins(10, 10).create());
- content.setLayoutData(GridDataFactory.fillDefaults().create());
-
- ECPSWTViewRenderer.INSTANCE.render(content, dummyObject);
-
- content.layout();
-
- } catch (final ECPRendererException e) {
- e.printStackTrace();
- }
-
- parent.layout();
- }
-
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/RealmSetter.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/RealmSetter.java
deleted file mode 100644
index 4647d25..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/j2ee/RealmSetter.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.rap.rwt.RWT;
-import org.eclipse.rap.rwt.service.UISession;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Realm Setter. Is needed as the J2EE Mode doesn't have a Realm by default.
- */
-public final class RealmSetter {
-
- private RealmSetter() {
- }
-
- /**
- * Set the default Realm.
- *
- * @param realm the Realm to set
- */
-
- public static void setRealm(Realm realm) {
- try {
- final Class<Realm> clazz = Realm.class;
- final Method method = clazz.getDeclaredMethod("setDefault", clazz); //$NON-NLS-1$
- method.setAccessible(true);
- method.invoke(null, new Object[] { realm });
- } catch (final NoSuchMethodException ex) {
- ex.printStackTrace();
- } catch (final SecurityException ex) {
- ex.printStackTrace();
- } catch (final IllegalAccessException ex) {
- ex.printStackTrace();
- } catch (final IllegalArgumentException ex) {
- ex.printStackTrace();
- } catch (final InvocationTargetException ex) {
- ex.printStackTrace();
- }
- }
-
- /**
- * Initialize the RealmSetter.
- */
- public static void initialize() {
- final UISession uiSession = RWT.getUISession();
- if (uiSession.getAttribute("realm") == null) { //$NON-NLS-1$
- final Realm realm = SWTObservables.getRealm(Display.getCurrent());
- RealmSetter.setRealm(realm);
- RWT.getUISession().setAttribute("realm", realm); //$NON-NLS-1$
- }
- }
-
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.checkstyle b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.checkstyle
deleted file mode 100644
index dccf8af..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.checkstyle
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
- <local-check-config name="ESMCheckstyle" location="/org.eclipse.emf.ecp.makeithappen.model/checkstyle/esmCheckstyle.xml" type="project" description="">
- <additional-data name="protect-config-file" value="false"/>
- </local-check-config>
- <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyle" local="true">
- <file-match-pattern match-pattern=".java" include-pattern="true"/>
- </fileset>
-</fileset-config>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.classpath b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.classpath
deleted file mode 100644
index ad32c83..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.project b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.project
deleted file mode 100644
index 05d3f5b..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.ecp.makeithappen.application.sample.rap</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
- </natures>
-</projectDescription>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index f548abb..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-eclipse.preferences.version=1
-
-encoding//model/etypes.ecore=UTF-8
-
-
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.core.runtime.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c948297..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,418 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=120
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.jdt.launching.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index 3bb2352..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.ltk.core.refactoring.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index 864e30f..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Feb 04 09:44:24 CET 2010
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.pde.api.tools.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index e4e3c00..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Ignore
-automatically_removed_unused_problem_filters=Disabled
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 0bbee3c..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=1
-compilers.p.missing-version-import-package=1
-compilers.p.missing-version-require-bundle=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/META-INF/MANIFEST.MF
deleted file mode 100644
index 1b05e3f..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: MakeItHappen Sample RAP Application
-Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.application.sample.rap;singleton:=true
-Bundle-Version: 1.5.1.qualifier
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.makeithappen.model.edit;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.rap.ui.workbench;bundle-version="[2.3.0,3.0.0)",
- org.eclipse.rap.jface;bundle-version="[2.3.0,3.0.0)",
- org.eclipse.rap.ui;bundle-version="[2.3.0,3.0.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-ActivationPolicy: lazy
-Bundle-Vendor: Eclipse Modeling Framework
-Export-Package: org.eclipse.emf.ecp.makeithappen.application.sample.rap;version="1.0.0";x-internal:=true
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/MakeItHappen Sample RAP Application.launch b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/MakeItHappen Sample RAP Application.launch
deleted file mode 100644
index c2ed0a7..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/MakeItHappen Sample RAP Application.launch
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.rap.ui.launch.RAPLauncher">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/MakeItHappen Sample RAP Application"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="default_auto_start" value="true"/>
-<intAttribute key="default_start_level" value="4"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console -debugEMFForms"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dorg.eclipse.equinox.http.jetty.log.stderr.threshold=info"/>
-<stringAttribute key="org.eclipse.rap.launch.browserMode" value="EXTERNAL"/>
-<stringAttribute key="org.eclipse.rap.launch.contextpath" value="/"/>
-<stringAttribute key="org.eclipse.rap.launch.dataLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.rap.tools.launch/MakeItHappenSampleRAPApplication"/>
-<booleanAttribute key="org.eclipse.rap.launch.developmentMode" value="true"/>
-<booleanAttribute key="org.eclipse.rap.launch.openBrowser" value="true"/>
-<intAttribute key="org.eclipse.rap.launch.port" value="10080"/>
-<stringAttribute key="org.eclipse.rap.launch.servletPath" value="/rap"/>
-<intAttribute key="org.eclipse.rap.launch.sessionTimeout" value="0"/>
-<booleanAttribute key="org.eclipse.rap.launch.useDefaultDataLocation" value="true"/>
-<booleanAttribute key="org.eclipse.rap.launch.useManualContextPath" value="false"/>
-<booleanAttribute key="org.eclipse.rap.launch.useManualPort" value="false"/>
-<booleanAttribute key="org.eclipse.rap.launch.useSessionTimeout" value="false"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="com.ibm.icu.base@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.rap.util@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context.locale@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model.edit@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model.edit@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.label.model.edit@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.rap@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.util.swt.rap@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.rap.common.ui@default:default,org.eclipse.emf.rap.edit.ui@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.http.servletbridge@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.servletbridge@default:default,org.eclipse.equinox.util@default:default,org.eclipse.help@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default,org.eclipse.rap.ui.views@default:default,org.eclipse.rap.ui.workbench@default:default,org.eclipse.rap.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.emf.ecp.makeithappen.application.sample.rap@default:default,org.eclipse.emf.ecp.makeithappen.model.edit@default:default,org.eclipse.emf.ecp.makeithappen.model.viewmodel@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default"/>
-</launchConfiguration>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/build.properties b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/build.properties
deleted file mode 100644
index 0d3d3a7..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
- META-INF/,\
- .,\
- icons/
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/icons/bricks.png b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/icons/bricks.png
deleted file mode 100644
index 0905f93..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/icons/bricks.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/makeithappen_RAP.target b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/makeithappen_RAP.target
deleted file mode 100644
index 484a2b5..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/makeithappen_RAP.target
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="makeithappen_RAP" sequenceNumber="12">
-<locations>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.rap.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.rap.equinox.target.feature.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.rap.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/releases/luna/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.ecp.rap.util.feature.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.emf.ecp.emfforms.runtime.feature.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.emf.ecp.rap.sdk.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/ecp/releases/releases_15"/>
-</location>
-</locations>
-</target>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/plugin.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/plugin.xml
deleted file mode 100644
index dfdff7d..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/plugin.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
- <extension
- id="application"
- point="org.eclipse.core.runtime.applications">
- <application>
- <run
- class="org.eclipse.emf.ecp.makeithappen.application.sample.rap.Application">
- </run>
- </application>
- </extension>
- <extension
- point="org.eclipse.ui.perspectives">
- <perspective
- class="org.eclipse.emf.ecp.makeithappen.application.sample.rap.Perspective"
- icon="icons/bricks.png"
- id="TestApp.perspective"
- name="Perspective">
- </perspective>
- </extension>
- <extension
- point="org.eclipse.ui.views">
- <view
- class="org.eclipse.emf.ecp.makeithappen.application.sample.rap.View"
- icon="icons/bricks.png"
- id="TestApp.view"
- name="View">
- </view>
- </extension>
- <extension
- id="product"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.eclipse.emf.ecp.makeithappen.application.sample.rap.application"
- name="MakeItHappen Sample RAP Product">
- <property
- name="appName"
- value="MakeItHappen Sample RAP Product">
- </property>
- <property
- name="windowImages"
- value="icons/bricks.png">
- </property>
- </product>
- </extension>
- <extension
- point="org.eclipse.rap.ui.entrypoint">
- <entrypoint
- applicationId="org.eclipse.emf.ecp.makeithappen.application.sample.rap.application"
- id="org.eclipse.emf.ecp.makeithappen.application.sample.rap.entrypoint1"
- path="/rap">
- </entrypoint>
- </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/pom.xml
deleted file mode 100644
index 0fb06a3..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/pom.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.emf.ecp</groupId>
- <artifactId>ecp-examples-parent</artifactId>
- <version>1.4.0-SNAPSHOT</version>
- <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
- </parent>
-
- <artifactId>org.eclipse.emf.ecp.makeithappen.application.sample.rap</artifactId>
- <packaging>eclipse-plugin</packaging>
-
- <groupId>org.eclipse.emf.ecp</groupId>
- <version>1.4.0-SNAPSHOT</version>
-</project>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/Application.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/Application.java
deleted file mode 100644
index 788d116..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/Application.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.application.sample.rap;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution.
- */
-public class Application implements IApplication {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
- */
- @Override
- public Object start(IApplicationContext context) {
- final Display display = PlatformUI.createDisplay();
- try {
- final int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
- if (returnCode == PlatformUI.RETURN_RESTART) {
- return IApplication.EXIT_RESTART;
- }
- return IApplication.EXIT_OK;
- } finally {
- display.dispose();
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.app.IApplication#stop()
- */
- @Override
- public void stop() {
- if (!PlatformUI.isWorkbenchRunning()) {
- return;
- }
- final IWorkbench workbench = PlatformUI.getWorkbench();
- final Display display = workbench.getDisplay();
- display.syncExec(new Runnable() {
- @Override
- public void run() {
- if (!display.isDisposed()) {
- workbench.close();
- }
- }
- });
- }
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/ApplicationWorkbenchAdvisor.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index 58f748e..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.application.sample.rap;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * The ApplicationWorkbenchAdvisor which defines which Perspective to use.
- */
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
- private static final String PERSPECTIVE_ID = "TestApp.perspective"; //$NON-NLS-1$
-
- @Override
- public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(
- IWorkbenchWindowConfigurer configurer) {
- return new ApplicationWorkbenchWindowAdvisor(configurer);
- }
-
- @Override
- public String getInitialWindowPerspectiveId() {
- return PERSPECTIVE_ID;
- }
-
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/ApplicationWorkbenchWindowAdvisor.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index d4379d5..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.application.sample.rap;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * The ApplicationWorkbenchWindowAdvisor which sets default window sizes.
- */
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
- /**
- * Default constructor.
- *
- * @param configurer the {@link IWorkbenchWindowConfigurer}.
- */
- public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
- super(configurer);
- }
-
- @Override
- public void preWindowOpen() {
- final IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
- configurer.setInitialSize(new Point(800, 500));
- configurer.setShowCoolBar(false);
- configurer.setShowStatusLine(false);
- configurer.setTitle("MakeItHappen ECP Sample e3 Application"); //$NON-NLS-1$
- }
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/Perspective.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/Perspective.java
deleted file mode 100644
index 53cf88a..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/Perspective.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.application.sample.rap;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * Default Perspective.
- *
- */
-public class Perspective implements IPerspectiveFactory {
-
- @Override
- public void createInitialLayout(IPageLayout layout) {
- layout.setEditorAreaVisible(false);
- layout.setFixed(true);
- layout.addStandaloneView(View.ID, false, IPageLayout.LEFT, 1.0f, layout.getEditorArea());
-
- }
-
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/View.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/View.java
deleted file mode 100644
index 7199c4c..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap/src/org/eclipse/emf/ecp/makeithappen/application/sample/rap/View.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.application.sample.rap;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.ui.view.ECPRendererException;
-import org.eclipse.emf.ecp.ui.view.swt.ECPSWTView;
-import org.eclipse.emf.ecp.ui.view.swt.ECPSWTViewRenderer;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * Example View for displaying a Forms Editor for an EObject.
- */
-public class View extends ViewPart {
- /**
- * View ID.
- */
- public static final String ID = "TestApp.view"; //$NON-NLS-1$
-
- private ECPSWTView render;
-
- private EObject getDummyEObject() {
- // Replace this with your own model EClass to test the application with a custom model
- final EClass eClass = TaskPackage.eINSTANCE.getUser();
- return EcoreUtil.create(eClass);
- }
-
- /**
- * This is a callback that will allow us to create the viewer and initialize
- * it.
- *
- * @param parent the {@link Composite} to render to
- */
- @Override
- public void createPartControl(Composite parent) {
-
- final EObject dummyObject = getDummyEObject();
-
- try {
- parent.getShell().setMaximized(true);
- parent.setLayout(GridLayoutFactory.fillDefaults().equalWidth(true).numColumns(1).create());
- parent.setLayoutData(GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, true)
- .create());
- parent.getParent().setLayout(GridLayoutFactory.fillDefaults().equalWidth(true).numColumns(1).create());
- parent.getParent().setLayoutData(
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, true).create());
-
- final Composite content = new Composite(parent, SWT.NONE);
- content.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
- content.setLayout(GridLayoutFactory.fillDefaults().margins(10, 10).create());
- content.setLayoutData(GridDataFactory.fillDefaults().create());
-
- render = ECPSWTViewRenderer.INSTANCE.render(content, dummyObject);
-
- content.layout();
-
- } catch (final ECPRendererException e) {
- e.printStackTrace();
- }
- parent.layout();
- }
-
- @Override
- public void setFocus() {
- }
-
- @Override
- public void dispose() {
- if (render != null) {
- render.dispose();
- }
- }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.checkstyle b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.checkstyle
deleted file mode 100644
index dccf8af..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.checkstyle
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
- <local-check-config name="ESMCheckstyle" location="/org.eclipse.emf.ecp.makeithappen.model/checkstyle/esmCheckstyle.xml" type="project" description="">
- <additional-data name="protect-config-file" value="false"/>
- </local-check-config>
- <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyle" local="true">
- <file-match-pattern match-pattern=".java" include-pattern="true"/>
- </fileset>
-</fileset-config>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.classpath b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.classpath
deleted file mode 100644
index ad32c83..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.gitignore b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.gitignore
deleted file mode 100644
index 5e56e04..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/bin
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.project b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.project
deleted file mode 100644
index cee9cd5..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.ecp.makeithappen.model.edit</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
- </natures>
-</projectDescription>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index f548abb..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-eclipse.preferences.version=1
-
-encoding//model/etypes.ecore=UTF-8
-
-
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.core.runtime.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c948297..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,418 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=120
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.jdt.launching.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index 3bb2352..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 8bc4bb4..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,127 +0,0 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_functional_interfaces=false
-cleanup.convert_to_enhanced_for_loop=false
-cleanup.correct_indentation=false
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.insert_inferred_type_arguments=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=false
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=true
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_redundant_type_arguments=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=false
-cleanup.remove_unnecessary_nls_tags=false
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.use_anonymous_class_creation=false
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_lambda=true
-cleanup.use_parentheses_in_expressions=true
-cleanup.use_this_for_non_static_field_access=true
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=true
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup.use_type_arguments=false
-cleanup_profile=_esmCleanUp
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_esmFormatter
-formatter_settings_version=12
-org.eclipse.jdt.ui.exception.name=ex
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n //\r\n // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_functional_interfaces=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.insert_inferred_type_arguments=false
-sp_cleanup.make_local_variable_final=true
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_redundant_type_arguments=false
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=true
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_anonymous_class_creation=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_lambda=false
-sp_cleanup.use_parentheses_in_expressions=true
-sp_cleanup.use_this_for_non_static_field_access=true
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=true
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-sp_cleanup.use_type_arguments=false
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.ltk.core.refactoring.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index 864e30f..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Feb 04 09:44:24 CET 2010
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.pde.api.tools.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index e4e3c00..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Ignore
-automatically_removed_unused_problem_filters=Disabled
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 0bbee3c..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=1
-compilers.p.missing-version-import-package=1
-compilers.p.missing-version-require-bundle=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/META-INF/MANIFEST.MF
deleted file mode 100644
index db65ff3..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.emf.ecp.makeithappen.model.task.provider.TaskEditPlugin$Implementation
-Bundle-Vendor: Eclipse Modeling Project
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.makeithappen.model.task.provider;v
- ersion="1.5.0"
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport
-Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/build.properties b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/build.properties
deleted file mode 100644
index fb07d51..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-bin.includes = .,\
- icons/,\
- META-INF/,\
- plugin.xml,\
- plugin.properties
-jars.compile.order = .
-source.. = src/
-output.. = bin/
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/ctool16/CreateTask_subTasks_Task.gif b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/ctool16/CreateTask_subTasks_Task.gif
deleted file mode 100644
index 95a7dfd..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/ctool16/CreateTask_subTasks_Task.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/ctool16/CreateUserGroup_users_User.gif b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/ctool16/CreateUserGroup_users_User.gif
deleted file mode 100644
index d1b1538..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/ctool16/CreateUserGroup_users_User.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/ctool16/CreateUser_tasks_Task.gif b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/ctool16/CreateUser_tasks_Task.gif
deleted file mode 100644
index 7aba268..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/ctool16/CreateUser_tasks_Task.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/User.gif b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/User.gif
deleted file mode 100644
index 48e3cf2..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/User.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/User.png b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/User.png
deleted file mode 100644
index 79f35cc..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/User.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/UserGroup.gif b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/UserGroup.gif
deleted file mode 100644
index c4a8af4..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/UserGroup.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/UserGroup.png b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/UserGroup.png
deleted file mode 100644
index 7fb4e1f..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/UserGroup.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/bullet_green.png b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/bullet_green.png
deleted file mode 100644
index 058ad26..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/bullet_green.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/bullet_red.png b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/bullet_red.png
deleted file mode 100644
index 0cd8031..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/icons/full/obj16/bullet_red.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/plugin.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/plugin.xml
deleted file mode 100644
index be328ac..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/plugin.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<!--
--->
-
-<plugin>
-
- <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
- <!-- @generated task -->
- <factory
- uri="http://eclipse/org/emf/ecp/makeithappen/model/task"
- class="org.eclipse.emf.ecp.makeithappen.model.task.provider.TaskItemProviderAdapterFactory"
- supportedTypes=
- "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
- org.eclipse.emf.edit.provider.IStructuredItemContentProvider
- org.eclipse.emf.edit.provider.ITreeItemContentProvider
- org.eclipse.emf.edit.provider.IItemLabelProvider
- org.eclipse.emf.edit.provider.IItemPropertySource"/>
- </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/TaskEditPlugin.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/TaskEditPlugin.java
deleted file mode 100644
index bff6a2e..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/TaskEditPlugin.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task.provider;
-
-import org.eclipse.emf.common.EMFPlugin;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-/**
- * This is the central singleton for the Task edit plugin.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public final class TaskEditPlugin extends EMFPlugin
-{
- /**
- * Keep track of the singleton.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public static final TaskEditPlugin INSTANCE = new TaskEditPlugin();
-
- /**
- * Keep track of the singleton.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private static Implementation plugin;
-
- /**
- * Create the instance.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public TaskEditPlugin()
- {
- super(new ResourceLocator[]
- {
- });
- }
-
- /**
- * Returns the singleton instance of the Eclipse plugin.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the singleton instance.
- * @generated
- */
- @Override
- public ResourceLocator getPluginResourceLocator()
- {
- return plugin;
- }
-
- /**
- * Returns the singleton instance of the Eclipse plugin.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the singleton instance.
- * @generated
- */
- public static Implementation getPlugin()
- {
- return plugin;
- }
-
- /**
- * The actual implementation of the Eclipse <b>Plugin</b>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public static class Implementation extends EclipsePlugin
- {
- /**
- * Creates an instance.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public Implementation()
- {
- super();
-
- // Remember the static instance.
- //
- plugin = this;
- }
- }
-
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/TaskItemProvider.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/TaskItemProvider.java
deleted file mode 100644
index d52e262..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/TaskItemProvider.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task.provider;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.ResourceLocator;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecp.makeithappen.model.task.Task;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskFactory;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.emf.ecp.makeithappen.model.task.Task} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class TaskItemProvider
-extends ItemProviderAdapter
-implements
-IEditingDomainItemProvider,
-ITreeItemContentProvider,
-IItemLabelProvider,
-IItemPropertySource {
- /**
- * This constructs an instance from a factory and a notifier.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public TaskItemProvider(AdapterFactory adapterFactory) {
- super(adapterFactory);
- }
-
- /**
- * This returns the property descriptors for the adapted class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
- if (itemPropertyDescriptors == null)
- {
- super.getPropertyDescriptors(object);
-
- addNamePropertyDescriptor(object);
- addDescriptionPropertyDescriptor(object);
- addAssigneePropertyDescriptor(object);
- addDueDatePropertyDescriptor(object);
- addDonePropertyDescriptor(object);
- }
- return itemPropertyDescriptors;
- }
-
- /**
- * This adds a property descriptor for the Name feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addNamePropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_Task_name_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_Task_name_feature", "_UI_Task_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.TASK__NAME,
- true,
- false,
- false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Description feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addDescriptionPropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_Task_description_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_Task_description_feature", "_UI_Task_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.TASK__DESCRIPTION,
- true,
- true,
- false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Assignee feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addAssigneePropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_Task_assignee_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_Task_assignee_feature", "_UI_Task_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.TASK__ASSIGNEE,
- true,
- false,
- true,
- null,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Due Date feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addDueDatePropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_Task_dueDate_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_Task_dueDate_feature", "_UI_Task_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.TASK__DUE_DATE,
- true,
- false,
- false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Done feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addDonePropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_Task_done_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_Task_done_feature", "_UI_Task_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.TASK__DONE,
- true,
- false,
- false,
- ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
- * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
- * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
- if (childrenFeatures == null)
- {
- super.getChildrenFeatures(object);
- childrenFeatures.add(TaskPackage.Literals.TASK__SUB_TASKS);
- }
- return childrenFeatures;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- protected EStructuralFeature getChildFeature(Object object, Object child) {
- // Check the type of the specified child object and return the proper feature to use for
- // adding (see {@link AddCommand}) it as a child.
-
- return super.getChildFeature(object, child);
- }
-
- /**
- * This returns Task.gif.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param object the object.
- * @return the image.
- * @generated NOT
- */
- @Override
- public Object getImage(Object object) {
- final Task task = (Task) object;
- if (task.isDone()) {
- return overlayImage(object, getResourceLocator().getImage("full/obj16/bullet_green.png")); //$NON-NLS-1$
- }
- return overlayImage(object, getResourceLocator().getImage("full/obj16/bullet_red.png")); //$NON-NLS-1$
- }
-
- /**
- * This returns the label text for the adapted class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String getText(Object object) {
- final String label = ((Task) object).getName();
- return label == null || label.length() == 0 ?
- getString("_UI_Task_type") : //$NON-NLS-1$
- getString("_UI_Task_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * This handles model notifications by calling {@link #updateChildren} to update any cached
- * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void notifyChanged(Notification notification) {
- updateChildren(notification);
-
- switch (notification.getFeatureID(Task.class))
- {
- case TaskPackage.TASK__NAME:
- case TaskPackage.TASK__DESCRIPTION:
- case TaskPackage.TASK__DUE_DATE:
- case TaskPackage.TASK__DONE:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
- return;
- case TaskPackage.TASK__SUB_TASKS:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
- return;
- }
- super.notifyChanged(notification);
- }
-
- /**
- * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
- * that can be created under this object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
- super.collectNewChildDescriptors(newChildDescriptors, object);
-
- newChildDescriptors.add
- (createChildParameter
- (TaskPackage.Literals.TASK__SUB_TASKS,
- TaskFactory.eINSTANCE.createTask()));
- }
-
- /**
- * Return the resource locator for this item provider's resources.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator() {
- return TaskEditPlugin.INSTANCE;
- }
-
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/TaskItemProviderAdapterFactory.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/TaskItemProviderAdapterFactory.java
deleted file mode 100644
index 7ebe612..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/TaskItemProviderAdapterFactory.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task.provider;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecp.makeithappen.model.task.util.TaskAdapterFactory;
-import org.eclipse.emf.edit.provider.ChangeNotifier;
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IChangeNotifier;
-import org.eclipse.emf.edit.provider.IDisposable;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-
-/**
- * This is the factory that is used to provide the interfaces needed to support Viewers.
- * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged
- * fireNotifyChanged}.
- * The adapters also support Eclipse property sheets.
- * Note that most of the adapters are shared among multiple instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class TaskItemProviderAdapterFactory extends TaskAdapterFactory implements ComposeableAdapterFactory,
-IChangeNotifier, IDisposable {
- /**
- * This keeps track of the root adapter factory that delegates to this adapter factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected ComposedAdapterFactory parentAdapterFactory;
-
- /**
- * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected IChangeNotifier changeNotifier = new ChangeNotifier();
-
- /**
- * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected Collection<Object> supportedTypes = new ArrayList<Object>();
-
- /**
- * This constructs an instance.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public TaskItemProviderAdapterFactory() {
- supportedTypes.add(IEditingDomainItemProvider.class);
- supportedTypes.add(IStructuredItemContentProvider.class);
- supportedTypes.add(ITreeItemContentProvider.class);
- supportedTypes.add(IItemLabelProvider.class);
- supportedTypes.add(IItemPropertySource.class);
- }
-
- /**
- * This keeps track of the one adapter used for all {@link org.eclipse.emf.ecp.makeithappen.model.task.Task}
- * instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected TaskItemProvider taskItemProvider;
-
- /**
- * This creates an adapter for a {@link org.eclipse.emf.ecp.makeithappen.model.task.Task}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Adapter createTaskAdapter() {
- if (taskItemProvider == null)
- {
- taskItemProvider = new TaskItemProvider(this);
- }
-
- return taskItemProvider;
- }
-
- /**
- * This keeps track of the one adapter used for all {@link org.eclipse.emf.ecp.makeithappen.model.task.User}
- * instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected UserItemProvider userItemProvider;
-
- /**
- * This creates an adapter for a {@link org.eclipse.emf.ecp.makeithappen.model.task.User}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Adapter createUserAdapter() {
- if (userItemProvider == null)
- {
- userItemProvider = new UserItemProvider(this);
- }
-
- return userItemProvider;
- }
-
- /**
- * This keeps track of the one adapter used for all {@link org.eclipse.emf.ecp.makeithappen.model.task.UserGroup}
- * instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected UserGroupItemProvider userGroupItemProvider;
-
- /**
- * This creates an adapter for a {@link org.eclipse.emf.ecp.makeithappen.model.task.UserGroup}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Adapter createUserGroupAdapter() {
- if (userGroupItemProvider == null)
- {
- userGroupItemProvider = new UserGroupItemProvider(this);
- }
-
- return userGroupItemProvider;
- }
-
- /**
- * This returns the root adapter factory that contains this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public ComposeableAdapterFactory getRootAdapterFactory() {
- return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
- }
-
- /**
- * This sets the composed adapter factory that contains this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
- this.parentAdapterFactory = parentAdapterFactory;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public boolean isFactoryForType(Object type) {
- return supportedTypes.contains(type) || super.isFactoryForType(type);
- }
-
- /**
- * This implementation substitutes the factory itself as the key for the adapter.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Adapter adapt(Notifier notifier, Object type) {
- return super.adapt(notifier, this);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Object adapt(Object object, Object type) {
- if (isFactoryForType(type))
- {
- final Object adapter = super.adapt(object, type);
- if (!(type instanceof Class<?>) || ((Class<?>) type).isInstance(adapter))
- {
- return adapter;
- }
- }
-
- return null;
- }
-
- /**
- * This adds a listener.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void addListener(INotifyChangedListener notifyChangedListener) {
- changeNotifier.addListener(notifyChangedListener);
- }
-
- /**
- * This removes a listener.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void removeListener(INotifyChangedListener notifyChangedListener) {
- changeNotifier.removeListener(notifyChangedListener);
- }
-
- /**
- * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void fireNotifyChanged(Notification notification) {
- changeNotifier.fireNotifyChanged(notification);
-
- if (parentAdapterFactory != null)
- {
- parentAdapterFactory.fireNotifyChanged(notification);
- }
- }
-
- /**
- * This disposes all of the item providers created by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void dispose() {
- if (taskItemProvider != null) {
- taskItemProvider.dispose();
- }
- if (userItemProvider != null) {
- userItemProvider.dispose();
- }
- if (userGroupItemProvider != null) {
- userGroupItemProvider.dispose();
- }
- }
-
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/UserGroupItemProvider.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/UserGroupItemProvider.java
deleted file mode 100644
index cb1c1c5..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/UserGroupItemProvider.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task.provider;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.ResourceLocator;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskFactory;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.makeithappen.model.task.UserGroup;
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.emf.ecp.makeithappen.model.task.UserGroup} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class UserGroupItemProvider
-extends ItemProviderAdapter
-implements
-IEditingDomainItemProvider,
-ITreeItemContentProvider,
-IItemLabelProvider,
-IItemPropertySource {
- /**
- * This constructs an instance from a factory and a notifier.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public UserGroupItemProvider(AdapterFactory adapterFactory) {
- super(adapterFactory);
- }
-
- /**
- * This returns the property descriptors for the adapted class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
- if (itemPropertyDescriptors == null)
- {
- super.getPropertyDescriptors(object);
-
- addNamePropertyDescriptor(object);
- addUsersPropertyDescriptor(object);
- }
- return itemPropertyDescriptors;
- }
-
- /**
- * This adds a property descriptor for the Name feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addNamePropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_UserGroup_name_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_UserGroup_name_feature", "_UI_UserGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.USER_GROUP__NAME,
- true,
- false,
- false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Users feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addUsersPropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_UserGroup_users_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_UserGroup_users_feature", "_UI_UserGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.USER_GROUP__USERS,
- true,
- false,
- false,
- null,
- null,
- null));
- }
-
- /**
- * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
- * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
- * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
- if (childrenFeatures == null)
- {
- super.getChildrenFeatures(object);
- childrenFeatures.add(TaskPackage.Literals.USER_GROUP__USERS);
- }
- return childrenFeatures;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- protected EStructuralFeature getChildFeature(Object object, Object child) {
- // Check the type of the specified child object and return the proper feature to use for
- // adding (see {@link AddCommand}) it as a child.
-
- return super.getChildFeature(object, child);
- }
-
- /**
- * This returns UserGroup.gif.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param object the object.
- * @return UserGroup.gif
- * @generated NOT
- */
- @Override
- public Object getImage(Object object) {
- return overlayImage(object, getResourceLocator().getImage("full/obj16/UserGroup.png")); //$NON-NLS-1$
- }
-
- /**
- * This returns the label text for the adapted class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String getText(Object object) {
- final String label = ((UserGroup) object).getName();
- return label == null || label.length() == 0 ?
- getString("_UI_UserGroup_type") : //$NON-NLS-1$
- getString("_UI_UserGroup_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * This handles model notifications by calling {@link #updateChildren} to update any cached
- * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void notifyChanged(Notification notification) {
- updateChildren(notification);
-
- switch (notification.getFeatureID(UserGroup.class))
- {
- case TaskPackage.USER_GROUP__NAME:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
- return;
- case TaskPackage.USER_GROUP__USERS:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
- return;
- }
- super.notifyChanged(notification);
- }
-
- /**
- * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
- * that can be created under this object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
- super.collectNewChildDescriptors(newChildDescriptors, object);
-
- newChildDescriptors.add
- (createChildParameter
- (TaskPackage.Literals.USER_GROUP__USERS,
- TaskFactory.eINSTANCE.createUser()));
- }
-
- /**
- * Return the resource locator for this item provider's resources.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator() {
- return TaskEditPlugin.INSTANCE;
- }
-
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/UserItemProvider.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/UserItemProvider.java
deleted file mode 100644
index 1f72c7f..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.edit/src/org/eclipse/emf/ecp/makeithappen/model/task/provider/UserItemProvider.java
+++ /dev/null
@@ -1,435 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task.provider;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.ResourceLocator;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.makeithappen.model.task.User;
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.emf.ecp.makeithappen.model.task.User} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class UserItemProvider
- extends ItemProviderAdapter
- implements
- IEditingDomainItemProvider,
- ITreeItemContentProvider,
- IItemLabelProvider,
- IItemPropertySource {
- /**
- * This constructs an instance from a factory and a notifier.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public UserItemProvider(AdapterFactory adapterFactory) {
- super(adapterFactory);
- }
-
- /**
- * This returns the property descriptors for the adapted class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
- if (itemPropertyDescriptors == null)
- {
- super.getPropertyDescriptors(object);
-
- addFirstNamePropertyDescriptor(object);
- addLastNamePropertyDescriptor(object);
- addGenderPropertyDescriptor(object);
- addActivePropertyDescriptor(object);
- addTimeOfRegistrationPropertyDescriptor(object);
- addWeightPropertyDescriptor(object);
- addHeigthPropertyDescriptor(object);
- addNationalityPropertyDescriptor(object);
- addDateOfBirthPropertyDescriptor(object);
- addEmailPropertyDescriptor(object);
- addTasksPropertyDescriptor(object);
- }
- return itemPropertyDescriptors;
- }
-
- /**
- * This adds a property descriptor for the First Name feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addFirstNamePropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_User_firstName_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_User_firstName_feature", "_UI_User_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.USER__FIRST_NAME,
- true,
- false,
- false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Last Name feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addLastNamePropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_User_lastName_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_User_lastName_feature", "_UI_User_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.USER__LAST_NAME,
- true,
- false,
- false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Gender feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addGenderPropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_User_gender_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_User_gender_feature", "_UI_User_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.USER__GENDER,
- true,
- false,
- false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Active feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addActivePropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_User_active_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_User_active_feature", "_UI_User_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.USER__ACTIVE,
- true,
- false,
- false,
- ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Time Of Registration feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addTimeOfRegistrationPropertyDescriptor(Object object) {
- itemPropertyDescriptors
- .add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_User_timeOfRegistration_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_User_timeOfRegistration_feature", "_UI_User_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.USER__TIME_OF_REGISTRATION,
- true,
- false,
- false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Date Of Birth feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addDateOfBirthPropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_User_dateOfBirth_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_User_dateOfBirth_feature", "_UI_User_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.USER__DATE_OF_BIRTH,
- true,
- false,
- false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Email feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addEmailPropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_User_email_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_User_email_feature", "_UI_User_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.USER__EMAIL,
- true,
- false,
- false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Weight feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addWeightPropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_User_weight_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_User_weight_feature", "_UI_User_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.USER__WEIGHT,
- true,
- false,
- false,
- ItemPropertyDescriptor.REAL_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Heigth feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addHeigthPropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_User_heigth_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_User_heigth_feature", "_UI_User_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.USER__HEIGTH,
- true,
- false,
- false,
- ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Nationality feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addNationalityPropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_User_nationality_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_User_nationality_feature", "_UI_User_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.USER__NATIONALITY,
- true,
- false,
- false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null,
- null));
- }
-
- /**
- * This adds a property descriptor for the Tasks feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void addTasksPropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(),
- getString("_UI_User_tasks_feature"), //$NON-NLS-1$
- getString("_UI_PropertyDescriptor_description", "_UI_User_tasks_feature", "_UI_User_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- TaskPackage.Literals.USER__TASKS,
- true,
- false,
- true,
- null,
- null,
- null));
- }
-
- /**
- * This returns User.gif.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param object the object
- * @return User.gif
- * @generated NOT
- */
- @Override
- public Object getImage(Object object) {
- return overlayImage(object, getResourceLocator().getImage("full/obj16/User.png")); //$NON-NLS-1$
- }
-
- /**
- * This returns the label text for the adapted class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param object the object whose label text is needed.
- * @return the label text for the adapted class
- * @generated NOT
- */
- @Override
- public String getText(Object object) {
- final User user = (User) object;
- final String firstName = user.getFirstName();
- final String lastName = user.getLastName();
- String ret = ""; //$NON-NLS-1$
- if (firstName != null && !firstName.equals("")) { //$NON-NLS-1$
- ret = ret + firstName;
- }
- if (lastName != null && !lastName.equals("")) { //$NON-NLS-1$
- if (!ret.equals("")) { //$NON-NLS-1$
- ret = ret + " "; //$NON-NLS-1$
- }
- ret = ret + lastName;
- }
- return ret;
- }
-
- /**
- * This handles model notifications by calling {@link #updateChildren} to update any cached
- * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void notifyChanged(Notification notification) {
- updateChildren(notification);
-
- switch (notification.getFeatureID(User.class))
- {
- case TaskPackage.USER__FIRST_NAME:
- case TaskPackage.USER__LAST_NAME:
- case TaskPackage.USER__GENDER:
- case TaskPackage.USER__ACTIVE:
- case TaskPackage.USER__TIME_OF_REGISTRATION:
- case TaskPackage.USER__WEIGHT:
- case TaskPackage.USER__HEIGTH:
- case TaskPackage.USER__NATIONALITY:
- case TaskPackage.USER__DATE_OF_BIRTH:
- case TaskPackage.USER__EMAIL:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
- return;
- }
- super.notifyChanged(notification);
- }
-
- /**
- * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
- * that can be created under this object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
- super.collectNewChildDescriptors(newChildDescriptors, object);
- }
-
- /**
- * Return the resource locator for this item provider's resources.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator() {
- return TaskEditPlugin.INSTANCE;
- }
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/.project b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/.project
deleted file mode 100644
index fc5d806..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>ViewModelProjectTemplate</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/META-INF/MANIFEST.MF
deleted file mode 100644
index e1f83a4..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: org.eclipse.emf.ecp.makeithappen.model.viewmodel
-Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.model.viewmodel;singleton:=true
-Bundle-Version: 1.5.1.qualifier
-Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi
-Bundle-Vendor: Eclipse Modeling Project
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/build.properties b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/build.properties
deleted file mode 100644
index 329b01e..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-bin.includes = META-INF/,\
- viewmodels/,\
- plugin.xml
-
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/plugin.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/plugin.xml
deleted file mode 100644
index 8a19cc1..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/plugin.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.view.model.provider.xmi.file">
- <file
- filePath="viewmodels/User.view">
- </file>
- </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/.Task.ideconfig b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/.Task.ideconfig
deleted file mode 100644
index 343eb8b..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/.Task.ideconfig
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<org.eclipse.emf.ecp.view.ideconfig.model:IDEConfig xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.ecp.view.ideconfig.model="http://org/eclipse/emf/ecp/view/ideconfig/model" ecorePath="/org.eclipse.emf.ecp.makeithappen.model/model/task.ecore"/>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/.User.ideconfig b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/.User.ideconfig
deleted file mode 100644
index 343eb8b..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/.User.ideconfig
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<org.eclipse.emf.ecp.view.ideconfig.model:IDEConfig xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.ecp.view.ideconfig.model="http://org/eclipse/emf/ecp/view/ideconfig/model" ecorePath="/org.eclipse.emf.ecp.makeithappen.model/model/task.ecore"/>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/User.view b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/User.view
deleted file mode 100644
index 333b7cf..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel/viewmodels/User.view
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.group.model="http://org/eclipse/emf/ecp/view/group/model" xmlns:org.eclipse.emf.ecp.view.horizontal.model="http://org/eclipse/emf/ecp/view/horizontal/model" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model" ecorePath="/org.eclipse.emf.ecp.makeithappen.model/model/task.ecore">
- <rootEClass href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User"/>
- <children xsi:type="org.eclipse.emf.ecp.view.horizontal.model:HorizontalLayout">
- <children xsi:type="org.eclipse.emf.ecp.view.group.model:Group" name="Primary">
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control firstName">
- <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
- <domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/firstName"/>
- </domainModelReference>
- </children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control lastName">
- <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
- <domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/lastName"/>
- </domainModelReference>
- </children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control email">
- <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
- <domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/email"/>
- </domainModelReference>
- </children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control dateOfBirth">
- <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
- <domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/dateOfBirth"/>
- </domainModelReference>
- </children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control gender">
- <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
- <domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/gender"/>
- </domainModelReference>
- </children>
- </children>
- <children xsi:type="org.eclipse.emf.ecp.view.group.model:Group" name="Secondary">
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control weight">
- <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
- <domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/weight"/>
- </domainModelReference>
- </children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control heigth">
- <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
- <domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/heigth"/>
- </domainModelReference>
- </children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control active">
- <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
- <domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/active"/>
- </domainModelReference>
- </children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control timeOfRegistration">
- <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
- <domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/timeOfRegistration"/>
- </domainModelReference>
- </children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control nationality">
- <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
- <domainModelEFeature xsi:type="ecore:EAttribute" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/nationality"/>
- </domainModelReference>
- </children>
- </children>
- </children>
- <children xsi:type="org.eclipse.emf.ecp.view.model:Control" name="Control tasks">
- <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference">
- <domainModelEFeature xsi:type="ecore:EReference" href="http://eclipse/org/emf/ecp/makeithappen/model/task#//User/tasks"/>
- </domainModelReference>
- </children>
-</org.eclipse.emf.ecp.view.model:View>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.checkstyle b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.checkstyle
deleted file mode 100644
index dccf8af..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.checkstyle
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
- <local-check-config name="ESMCheckstyle" location="/org.eclipse.emf.ecp.makeithappen.model/checkstyle/esmCheckstyle.xml" type="project" description="">
- <additional-data name="protect-config-file" value="false"/>
- </local-check-config>
- <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyle" local="true">
- <file-match-pattern match-pattern=".java" include-pattern="true"/>
- </fileset>
-</fileset-config>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.gitignore b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.gitignore
deleted file mode 100644
index 5e56e04..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/bin
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.project b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.project
deleted file mode 100644
index d9ae3eb..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.ecp.makeithappen.model</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
- </natures>
-</projectDescription>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index f548abb..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-eclipse.preferences.version=1
-
-encoding//model/etypes.ecore=UTF-8
-
-
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.core.runtime.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c948297..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,418 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=120
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.jdt.launching.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index 3bb2352..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 8bc4bb4..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,127 +0,0 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_functional_interfaces=false
-cleanup.convert_to_enhanced_for_loop=false
-cleanup.correct_indentation=false
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.insert_inferred_type_arguments=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=false
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=true
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_redundant_type_arguments=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=false
-cleanup.remove_unnecessary_nls_tags=false
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.use_anonymous_class_creation=false
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_lambda=true
-cleanup.use_parentheses_in_expressions=true
-cleanup.use_this_for_non_static_field_access=true
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=true
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup.use_type_arguments=false
-cleanup_profile=_esmCleanUp
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_esmFormatter
-formatter_settings_version=12
-org.eclipse.jdt.ui.exception.name=ex
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n //\r\n // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_functional_interfaces=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.insert_inferred_type_arguments=false
-sp_cleanup.make_local_variable_final=true
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_redundant_type_arguments=false
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=true
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_anonymous_class_creation=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_lambda=false
-sp_cleanup.use_parentheses_in_expressions=true
-sp_cleanup.use_this_for_non_static_field_access=true
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=true
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-sp_cleanup.use_type_arguments=false
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.ltk.core.refactoring.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index 864e30f..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Feb 04 09:44:24 CET 2010
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.pde.api.tools.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index e4e3c00..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Ignore
-automatically_removed_unused_problem_filters=Disabled
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 0bbee3c..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=1
-compilers.p.missing-version-import-package=1
-compilers.p.missing-version-require-bundle=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/META-INF/MANIFEST.MF
deleted file mode 100644
index ad1b368..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
-Bundle-ClassPath: .
-Bundle-Vendor: Eclipse Modeling Project
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.makeithappen.model.task;version="1.5.1",
- org.eclipse.emf.ecp.makeithappen.model.task.impl;version="1.5.1",
- org.eclipse.emf.ecp.makeithappen.model.task.util;version="1.5.1"
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport
-Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/build.properties b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/build.properties
deleted file mode 100644
index a9b8b22..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-bin.includes = .,\
- model/,\
- META-INF/,\
- plugin.xml,\
- plugin.properties
-jars.compile.order = .
-source.. = src/
-output.. = bin/
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/checkstyle/esmCheckstyle.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/checkstyle/esmCheckstyle.xml
deleted file mode 100644
index b1f594d..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/checkstyle/esmCheckstyle.xml
+++ /dev/null
@@ -1,218 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
-<!--
- This configuration file was written by the eclipse-cs plugin configuration
- editor -->
-<!-- Checkstyle-Configuration: ESMStyle Description: none -->
-<module name="Checker">
- <property name="severity" value="warning"/>
- <module name="TreeWalker">
- <property name="tabWidth" value="4"/>
- <module name="FileContentsHolder"/>
- <module name="JavadocMethod">
- <property name="scope" value="package"/>
- </module>
- <module name="JavadocType">
- <property name="allowUnknownTags" value="true"/>
- </module>
- <module name="JavadocVariable">
- <property name="scope" value="package"/>
- </module>
- <module name="JavadocStyle"/>
- <module name="ConstantName"/>
- <module name="LocalFinalVariableName"/>
- <module name="LocalVariableName"/>
- <module name="MemberName"/>
- <module name="MethodName"/>
- <module name="PackageName"/>
- <module name="ParameterName"/>
- <module name="StaticVariableName"/>
- <module name="TypeName"/>
- <module name="AvoidStarImport"/>
- <module name="IllegalImport"/>
- <module name="RedundantImport"/>
- <module name="UnusedImports"/>
- <module name="LineLength">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="MethodLength"/>
- <module name="ParameterNumber"/>
- <module name="EmptyForIteratorPad">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="MethodParamPad">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="NoWhitespaceAfter">
- <property name="severity" value="ignore"/>
- <property name="tokens" value="BNOT,DEC,DOT,INC,LNOT,UNARY_MINUS,UNARY_PLUS"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="NoWhitespaceBefore">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="OperatorWrap">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="ParenPad">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="TypecastParenPad">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="WhitespaceAfter">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="WhitespaceAround">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="ModifierOrder"/>
- <module name="RedundantModifier"/>
- <module name="AvoidNestedBlocks">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="EmptyBlock">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="LeftCurly">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="NeedBraces"/>
- <module name="RightCurly">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="AvoidInlineConditionals">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="EmptyStatement"/>
- <module name="EqualsHashCode"/>
- <module name="HiddenField">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="IllegalInstantiation"/>
- <module name="InnerAssignment"/>
- <module name="MagicNumber">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="MissingSwitchDefault"/>
- <module name="SimplifyBooleanExpression"/>
- <module name="SimplifyBooleanReturn"/>
- <module name="DesignForExtension">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="FinalClass"/>
- <module name="HideUtilityClassConstructor"/>
- <module name="InterfaceIsType"/>
- <module name="VisibilityModifier"/>
- <module name="ArrayTypeStyle"/>
- <module name="FinalParameters">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="TodoComment">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="UpperEll"/>
- <module name="BooleanExpressionComplexity">
- <property name="max" value="5"/>
- </module>
- <module name="CyclomaticComplexity">
- <property name="max" value="15"/>
- </module>
- <module name="NPathComplexity">
- <property name="max" value="220"/>
- </module>
- <module name="JavaNCSS"/>
- <module name="SuperClone"/>
- <module name="SuperFinalize"/>
- <module name="PackageDeclaration"/>
- <module name="NestedIfDepth">
- <property name="max" value="2"/>
- </module>
- <module name="IllegalCatch">
- <property name="id" value="IllegalExceptionCatch"/>
- </module>
- <module name="IllegalThrows">
- <property name="illegalClassNames" value="java.lang.Throwable, java.lang.Error, java.lang.RuntimeException, java.lang.Exception"/>
- <property name="ignoredMethodNames" value="finalize, call, start, stop, setUp, tearDown"/>
- </module>
- <module name="CovariantEquals"/>
- <module name="DefaultComesLast"/>
- <module name="ExplicitInitialization"/>
- <module name="FallThrough"/>
- <module name="AnonInnerLength">
- <property name="max" value="30"/>
- </module>
- <module name="ThrowsCount">
- <property name="max" value="3"/>
- </module>
- <module name="UncommentedMain"/>
- <module name="CyclomaticComplexity">
- <property name="id" value="complexity"/>
- <property name="max" value="15"/>
- </module>
- </module>
- <module name="FileLength">
- <property name="severity" value="info"/>
- </module>
- <module name="FileTabCharacter">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="NewlineAtEndOfFile">
- <property name="severity" value="ignore"/>
- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
- </module>
- <module name="Translation"/>
- <module name="SuppressionCommentFilter">
- <property name="offCommentFormat" value="(@generated$)|(// end of custom code$)"/>
- <property name="onCommentFormat" value="(@generated NOT$)|(// begin of custom code$)"/>
- <metadata name="com.atlassw.tools.eclipse.checkstyle.customMessage" value="Warning suppressed because code is generated by EMF. Warning enabled on custom code"/>
- <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="Supress Warnings on EMF generated code. No Supress Warning on manual code"/>
- </module>
- <module name="SuppressionCommentFilter">
- <property name="offCommentFormat" value="// BEGIN SUPRESS CATCH EXCEPTION"/>
- <property name="onCommentFormat" value="// END SUPRESS CATCH EXCEPTION"/>
- <property name="messageFormat" value=".*Exception.*"/>
- <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="SupressCatchExceptionWarning"/>
- </module>
- <module name="SuppressionCommentFilter">
- <property name="offCommentFormat" value="// BEGIN IGNORE UNNECCESSARY IMPORT"/>
- <property name="onCommentFormat" value="// END IGNORE UNNECCESSARY IMPORT"/>
- <property name="messageFormat" value=".*import.*"/>
- <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="Ignore unneccessary import warnings"/>
- </module>
- <module name="SuppressionCommentFilter">
- <property name="offCommentFormat" value="// BEGIN COMPLEX CODE"/>
- <property name="onCommentFormat" value="// END COMPLEX CODE"/>
- <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="High Complexity Code Warning Suppression"/>
- </module>
- <module name="SuppressionCommentFilter">
- <property name="offCommentFormat" value="// REUSED CLASS"/>
- <property name="onCommentFormat" value="// END REUSED CLASS"/>
- <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="High Complexity Code Warning Suppression"/>
- </module>
- <module name="RegexpHeader">
- <metadata name="net.sf.eclipsecs.core.comment" value="EclipseSource and others"/>
- <property name="header" value="^\/\*+$\n^ \* Copyright( \(c\))? \d\d\d\d(-\d\d\d\d)? ((Chair for Applied Software Engineering\,)|(Eike Stepper \(Berlin, Germany\) and others\.)|(Google, Inc\.)|(Florian Pirchner \(Vienna\, Austria\) and others\.)|(EclipseSource Muenchen GmbH and others\.)|(EclipseSource\.))$\n^ \*(( Technische Universitaet Muenchen\.)|(.*))$\n^ \* All rights reserved\. This program and the accompanying materials$\n^ \* are made available under the terms of the Eclipse Public License v1\.0$\n^ \* which accompanies this distribution\, and is available at$\n^ \* http\:\/\/www\.eclipse\.org\/legal\/epl-v10\.html$\n^ \*.*$\n^ \* Contributors\:.*$\n"/>
- <property name="fileExtensions" value="java"/>
- </module>
-</module>
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/model/task.ecore b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/model/task.ecore
deleted file mode 100644
index e1978ec..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/model/task.ecore
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="task" nsURI="http://eclipse/org/emf/ecp/makeithappen/model/task"
- nsPrefix="org.eclipse.emf.ecp.makeithappen.model.task">
- <eClassifiers xsi:type="ecore:EClass" name="Task">
- <eOperations name="hasName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eParameters name="chain" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
- <eParameters name="context">
- <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
- <eTypeArguments/>
- <eTypeArguments/>
- </eGenericType>
- </eParameters>
- </eOperations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="assignee" eType="#//User"
- eOpposite="#//User/tasks"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="dueDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="subTasks" upperBound="-1"
- eType="#//Task" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="done" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="User">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastName" lowerBound="1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gender" eType="#//Gender"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="active" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="timeOfRegistration" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="weight" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="heigth" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="nationality" eType="#//Nationality"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="dateOfBirth" eType="#//DateOfBirth"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="email" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="tasks" upperBound="-1"
- eType="#//Task" eOpposite="#//Task/assignee"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="UserGroup">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="users" upperBound="-1"
- eType="#//User" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="Gender">
- <eLiterals name="Male"/>
- <eLiterals name="Female" value="1"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="Nationality">
- <eLiterals name="German" literal="German"/>
- <eLiterals name="French"/>
- <eLiterals name="UK"/>
- <eLiterals name="US"/>
- <eLiterals name="Spanish"/>
- <eLiterals name="Italian"/>
- <eLiterals name="Russian"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EDataType" name="DateOfBirth" instanceClassName="javax.xml.datatype.XMLGregorianCalendar">
- <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
- <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#date"/>
- </eAnnotations>
- </eClassifiers>
-</ecore:EPackage>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/model/task.ecorediag b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/model/task.ecorediag
deleted file mode 100644
index 1f76f50..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/model/task.ecorediag
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_S1gHwDy-EeO16cFv6spH1w" type="EcoreTools" measurementUnit="Pixel">
- <children xmi:type="notation:Node" xmi:id="_S1x0kDy-EeO16cFv6spH1w" type="1001">
- <children xmi:type="notation:Node" xmi:id="_S1zCsDy-EeO16cFv6spH1w" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_S11e8Dy-EeO16cFv6spH1w" type="5001">
- <children xmi:type="notation:Node" xmi:id="_S12GADy-EeO16cFv6spH1w" type="2001">
- <element xmi:type="ecore:EAttribute" href="task.ecore#//Task/name"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S12GATy-EeO16cFv6spH1w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S12GAjy-EeO16cFv6spH1w" type="2001">
- <element xmi:type="ecore:EAttribute" href="task.ecore#//Task/description"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S12GAzy-EeO16cFv6spH1w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S12tEDy-EeO16cFv6spH1w" type="2001">
- <element xmi:type="ecore:EAttribute" href="task.ecore#//Task/dueDate"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S12tETy-EeO16cFv6spH1w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S12tEjy-EeO16cFv6spH1w" type="2001">
- <element xmi:type="ecore:EAttribute" href="task.ecore#//Task/done"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S12tEzy-EeO16cFv6spH1w"/>
- </children>
- <styles xmi:type="notation:DrawerStyle" xmi:id="_S11e8Ty-EeO16cFv6spH1w"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_S11e8jy-EeO16cFv6spH1w"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_S11e8zy-EeO16cFv6spH1w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S11e9Dy-EeO16cFv6spH1w" type="5002">
- <children xmi:type="notation:Node" xmi:id="_S13UIDy-EeO16cFv6spH1w" type="2002">
- <element xmi:type="ecore:EOperation" href="task.ecore#//Task/hasName"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S13UITy-EeO16cFv6spH1w"/>
- </children>
- <styles xmi:type="notation:DrawerStyle" xmi:id="_S11e9Ty-EeO16cFv6spH1w"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_S11e9jy-EeO16cFv6spH1w"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_S11e9zy-EeO16cFv6spH1w"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_S1x0kTy-EeO16cFv6spH1w" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="task.ecore#//Task"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S1x0kjy-EeO16cFv6spH1w" x="450" y="25"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S13UIjy-EeO16cFv6spH1w" type="1001">
- <children xmi:type="notation:Node" xmi:id="_S137MDy-EeO16cFv6spH1w" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_S137MTy-EeO16cFv6spH1w" type="5001">
- <children xmi:type="notation:Node" xmi:id="_S14iRDy-EeO16cFv6spH1w" type="2001">
- <element xmi:type="ecore:EAttribute" href="task.ecore#//User/firstName"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S14iRTy-EeO16cFv6spH1w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S15JUDy-EeO16cFv6spH1w" type="2001">
- <element xmi:type="ecore:EAttribute" href="task.ecore#//User/lastName"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S15JUTy-EeO16cFv6spH1w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S15JUjy-EeO16cFv6spH1w" type="2001">
- <element xmi:type="ecore:EAttribute" href="task.ecore#//User/gender"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S15JUzy-EeO16cFv6spH1w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S15JVDy-EeO16cFv6spH1w" type="2001">
- <element xmi:type="ecore:EAttribute" href="task.ecore#//User/active"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S15JVTy-EeO16cFv6spH1w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S15wYDy-EeO16cFv6spH1w" type="2001">
- <element xmi:type="ecore:EAttribute" href="task.ecore#//User/timeOfRegistration"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S15wYTy-EeO16cFv6spH1w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S15wYjy-EeO16cFv6spH1w" type="2001">
- <element xmi:type="ecore:EAttribute" href="task.ecore#//User/weight"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S15wYzy-EeO16cFv6spH1w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S15wZDy-EeO16cFv6spH1w" type="2001">
- <element xmi:type="ecore:EAttribute" href="task.ecore#//User/heigth"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S16XcDy-EeO16cFv6spH1w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S16XcTy-EeO16cFv6spH1w" type="2001">
- <element xmi:type="ecore:EAttribute" href="task.ecore#//User/nationality"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S16Xcjy-EeO16cFv6spH1w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S16Xczy-EeO16cFv6spH1w" type="2001">
- <element xmi:type="ecore:EAttribute" href="task.ecore#//User/dateOfBirth"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S16XdDy-EeO16cFv6spH1w"/>
- </children>
- <styles xmi:type="notation:DrawerStyle" xmi:id="_S137Mjy-EeO16cFv6spH1w"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_S137Mzy-EeO16cFv6spH1w"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_S137NDy-EeO16cFv6spH1w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S14iQDy-EeO16cFv6spH1w" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_S14iQTy-EeO16cFv6spH1w"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_S14iQjy-EeO16cFv6spH1w"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_S14iQzy-EeO16cFv6spH1w"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_S13UIzy-EeO16cFv6spH1w" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="task.ecore#//User"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S13UJDy-EeO16cFv6spH1w" x="100" y="25" width="218"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S16-gDy-EeO16cFv6spH1w" type="1001">
- <children xmi:type="notation:Node" xmi:id="_S16-gzy-EeO16cFv6spH1w" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_S16-hDy-EeO16cFv6spH1w" type="5001">
- <children xmi:type="notation:Node" xmi:id="_S17lkDy-EeO16cFv6spH1w" type="2001">
- <element xmi:type="ecore:EAttribute" href="task.ecore#//UserGroup/name"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S17lkTy-EeO16cFv6spH1w"/>
- </children>
- <styles xmi:type="notation:DrawerStyle" xmi:id="_S16-hTy-EeO16cFv6spH1w"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_S16-hjy-EeO16cFv6spH1w"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_S16-hzy-EeO16cFv6spH1w"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S16-iDy-EeO16cFv6spH1w" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_S16-iTy-EeO16cFv6spH1w"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_S16-ijy-EeO16cFv6spH1w"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_S16-izy-EeO16cFv6spH1w"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_S16-gTy-EeO16cFv6spH1w" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="task.ecore#//UserGroup"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S16-gjy-EeO16cFv6spH1w" x="125" y="275"/>
- </children>
- <styles xmi:type="notation:DiagramStyle" xmi:id="_S1gHwTy-EeO16cFv6spH1w"/>
- <element xmi:type="ecore:EPackage" href="task.ecore#/"/>
- <edges xmi:type="notation:Edge" xmi:id="_S2C6UDy-EeO16cFv6spH1w" type="3002" source="_S1x0kDy-EeO16cFv6spH1w" target="_S13UIjy-EeO16cFv6spH1w">
- <children xmi:type="notation:Node" xmi:id="_S2DhYDy-EeO16cFv6spH1w" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S2DhYTy-EeO16cFv6spH1w" x="-9" y="-17"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S2EIcDy-EeO16cFv6spH1w" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S2EIcTy-EeO16cFv6spH1w" x="-4" y="16"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_S2C6UTy-EeO16cFv6spH1w" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_S2C6Ujy-EeO16cFv6spH1w" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="task.ecore#//Task/assignee"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_S2C6Uzy-EeO16cFv6spH1w" points="[0, 0, 3, 138]$[0, -70, 3, 68]$[0, -138, 3, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vEiJUDy-EeO16cFv6spH1w" id="(0.0,0.8272727272727273)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vEiJUTy-EeO16cFv6spH1w" id="(0.9897610921501706,0.37254901960784315)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_S2EIcjy-EeO16cFv6spH1w" type="3002" source="_S1x0kDy-EeO16cFv6spH1w" target="_S1x0kDy-EeO16cFv6spH1w">
- <children xmi:type="notation:Node" xmi:id="_S2EIdjy-EeO16cFv6spH1w" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S2EIdzy-EeO16cFv6spH1w" x="44" y="47"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S2EvgDy-EeO16cFv6spH1w" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S2EvgTy-EeO16cFv6spH1w" x="10" y="10"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_S2EIczy-EeO16cFv6spH1w" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_S2EIdDy-EeO16cFv6spH1w" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="task.ecore#//Task/subTasks"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_S2EIdTy-EeO16cFv6spH1w" points="[148, 6, 148, 6]$[210, 6, 210, 6]$[210, 116, 210, 116]$[8, 116, 8, 116]$[8, 54, 8, 54]"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_S2Evgjy-EeO16cFv6spH1w" type="3002" source="_S13UIjy-EeO16cFv6spH1w" target="_S1x0kDy-EeO16cFv6spH1w">
- <children xmi:type="notation:Node" xmi:id="_S2Evhjy-EeO16cFv6spH1w" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S2Evhzy-EeO16cFv6spH1w" x="4" y="-18"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S2EviDy-EeO16cFv6spH1w" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S2EviTy-EeO16cFv6spH1w" x="-1" y="12"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_S2Evgzy-EeO16cFv6spH1w" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_S2EvhDy-EeO16cFv6spH1w" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="task.ecore#//User/tasks"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_S2EvhTy-EeO16cFv6spH1w" points="[3, 0, 0, -138]$[3, 68, 0, -70]$[3, 138, 0, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_S4ETkDy-EeO16cFv6spH1w" id="(0.9897610921501706,0.37254901960784315)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_S4ETkTy-EeO16cFv6spH1w" id="(0.0,0.8272727272727273)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_S2Evijy-EeO16cFv6spH1w" type="3002" source="_S16-gDy-EeO16cFv6spH1w" target="_S13UIjy-EeO16cFv6spH1w">
- <children xmi:type="notation:Node" xmi:id="_S2FWkDy-EeO16cFv6spH1w" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S2FWkTy-EeO16cFv6spH1w" x="-33" y="-24"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_S2FWkjy-EeO16cFv6spH1w" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_S2FWkzy-EeO16cFv6spH1w" x="-3" y="23"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_S2Evizy-EeO16cFv6spH1w" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_S2EvjDy-EeO16cFv6spH1w" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="task.ecore#//UserGroup/users"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_S2EvjTy-EeO16cFv6spH1w" points="[0, 0, 220, 60]$[-220, -60, 0, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_S4FhsDy-EeO16cFv6spH1w" id="(0.4608695652173913,0.0)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_S4FhsTy-EeO16cFv6spH1w" id="(0.5563139931740614,0.9852941176470589)"/>
- </edges>
-</notation:Diagram>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/model/task.genmodel b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/model/task.genmodel
deleted file mode 100644
index c322a89..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/model/task.genmodel
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html

Contributors:
EclipseSource Munich - initial API and implementation"
- modelDirectory="/org.eclipse.emf.ecp.makeithappen.model/src" editDirectory="/org.eclipse.emf.ecp.makeithappen.model.edit/src"
- editorDirectory="/org.eclipse.emf.ecp.makeithappen.model.editor/src" modelPluginID="org.eclipse.emf.ecp.makeithappen.model"
- modelName="Task" editPluginClass="org.eclipse.emf.ecp.makeithappen.model.task.provider.TaskEditPlugin"
- editorPluginClass="org.eclipse.emf.ecp.makeithappen.model.task.presentation.TaskEditorPlugin"
- nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
- codeFormatting="true" commentFormatting="true" testSuiteClass="org.eclipse.emf.ecp.makeithappen.model.task.tests.TaskAllTests"
- importerID="org.eclipse.emf.importer.ecore" complianceLevel="7.0" copyrightFields="false"
- editPluginID="org.eclipse.emf.ecp.makeithappen.model.edit" editorPluginID="org.eclipse.emf.ecp.makeithappen.model.editor"
- operationReflection="true" importOrganizing="true" cleanup="true">
- <foreignModel>task.ecore</foreignModel>
- <genPackages prefix="Task" basePackage="org.eclipse.emf.ecp.makeithappen.model"
- disposableProviderFactory="true" ecorePackage="task.ecore#/">
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="task.ecore#//Gender">
- <genEnumLiterals ecoreEnumLiteral="task.ecore#//Gender/Male"/>
- <genEnumLiterals ecoreEnumLiteral="task.ecore#//Gender/Female"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="task.ecore#//Nationality">
- <genEnumLiterals ecoreEnumLiteral="task.ecore#//Nationality/German"/>
- <genEnumLiterals ecoreEnumLiteral="task.ecore#//Nationality/French"/>
- <genEnumLiterals ecoreEnumLiteral="task.ecore#//Nationality/UK"/>
- <genEnumLiterals ecoreEnumLiteral="task.ecore#//Nationality/US"/>
- <genEnumLiterals ecoreEnumLiteral="task.ecore#//Nationality/Spanish"/>
- <genEnumLiterals ecoreEnumLiteral="task.ecore#//Nationality/Italian"/>
- <genEnumLiterals ecoreEnumLiteral="task.ecore#//Nationality/Russian"/>
- </genEnums>
- <genDataTypes ecoreDataType="task.ecore#//DateOfBirth"/>
- <genClasses image="false" ecoreClass="task.ecore#//Task">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute task.ecore#//Task/name"/>
- <genFeatures createChild="false" propertyMultiLine="true" ecoreFeature="ecore:EAttribute task.ecore#//Task/description"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference task.ecore#//Task/assignee"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute task.ecore#//Task/dueDate"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference task.ecore#//Task/subTasks"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute task.ecore#//Task/done"/>
- <genOperations ecoreOperation="task.ecore#//Task/hasName">
- <genParameters ecoreParameter="task.ecore#//Task/hasName/chain"/>
- <genParameters ecoreParameter="task.ecore#//Task/hasName/context"/>
- </genOperations>
- </genClasses>
- <genClasses ecoreClass="task.ecore#//User">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute task.ecore#//User/firstName"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute task.ecore#//User/lastName"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute task.ecore#//User/gender"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute task.ecore#//User/active"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute task.ecore#//User/timeOfRegistration"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute task.ecore#//User/weight"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute task.ecore#//User/heigth"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute task.ecore#//User/nationality"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute task.ecore#//User/dateOfBirth"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute task.ecore#//User/email"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference task.ecore#//User/tasks"/>
- </genClasses>
- <genClasses ecoreClass="task.ecore#//UserGroup">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute task.ecore#//UserGroup/name"/>
- <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference task.ecore#//UserGroup/users"/>
- </genClasses>
- </genPackages>
-</genmodel:GenModel>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/plugin.properties b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/plugin.properties
deleted file mode 100644
index 31cc930..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/plugin.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-
-pluginName = Makeithappen Model
-providerName = www.example.org
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/plugin.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/plugin.xml
deleted file mode 100644
index 78b5372..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/plugin.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<!--
--->
-
-<plugin>
-
-
- <extension point="org.eclipse.emf.ecore.generated_package">
- <!-- @generated task -->
- <package
- uri="http://eclipse/org/emf/ecp/makeithappen/model/task"
- class="org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage"
- genModel="model/task.genmodel"/>
- </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/Gender.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/Gender.java
deleted file mode 100644
index 1d9e058..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/Gender.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.Enumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Gender</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getGender()
- * @model
- * @generated
- */
-public enum Gender implements Enumerator
-{
- /**
- * The '<em><b>Male</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #MALE_VALUE
- * @generated
- * @ordered
- */
- MALE(0, "Male", "Male"), //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * The '<em><b>Female</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #FEMALE_VALUE
- * @generated
- * @ordered
- */
- FEMALE(1, "Female", "Female"); //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * The '<em><b>Male</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Male</b></em>' literal object isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @see #MALE
- * @model name="Male"
- * @generated
- * @ordered
- */
- public static final int MALE_VALUE = 0;
-
- /**
- * The '<em><b>Female</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Female</b></em>' literal object isn't clear, there really should be more of a
- * description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @see #FEMALE
- * @model name="Female"
- * @generated
- * @ordered
- */
- public static final int FEMALE_VALUE = 1;
-
- /**
- * An array of all the '<em><b>Gender</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private static final Gender[] VALUES_ARRAY =
- new Gender[]
- {
- MALE,
- FEMALE,
- };
-
- /**
- * A public read-only list of all the '<em><b>Gender</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public static final List<Gender> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Gender</b></em>' literal with the specified literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public static Gender get(String literal)
- {
- for (int i = 0; i < VALUES_ARRAY.length; ++i)
- {
- final Gender result = VALUES_ARRAY[i];
- if (result.toString().equals(literal))
- {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Gender</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public static Gender getByName(String name)
- {
- for (int i = 0; i < VALUES_ARRAY.length; ++i)
- {
- final Gender result = VALUES_ARRAY[i];
- if (result.getName().equals(name))
- {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Gender</b></em>' literal with the specified integer value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public static Gender get(int value)
- {
- switch (value)
- {
- case MALE_VALUE:
- return MALE;
- case FEMALE_VALUE:
- return FEMALE;
- }
- return null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private final int value;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private final String name;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private final String literal;
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private Gender(int value, String name, String literal)
- {
- this.value = value;
- this.name = name;
- this.literal = literal;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public int getValue()
- {
- return value;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String getName()
- {
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String getLiteral()
- {
- return literal;
- }
-
- /**
- * Returns the literal value of the enumerator, which is its string representation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String toString()
- {
- return literal;
- }
-
-} // Gender
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/Nationality.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/Nationality.java
deleted file mode 100644
index b32f63d..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/Nationality.java
+++ /dev/null
@@ -1,393 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.Enumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Nationality</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getNationality()
- * @model
- * @generated
- */
-public enum Nationality implements Enumerator
-{
- /**
- * The '<em><b>German</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #GERMAN_VALUE
- * @generated
- * @ordered
- */
- GERMAN(0, "German", "German"), //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * The '<em><b>French</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #FRENCH_VALUE
- * @generated
- * @ordered
- */
- FRENCH(0, "French", "French"), //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * The '<em><b>UK</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #UK_VALUE
- * @generated
- * @ordered
- */
- UK(0, "UK", "UK"), //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * The '<em><b>US</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #US_VALUE
- * @generated
- * @ordered
- */
- US(0, "US", "US"), //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * The '<em><b>Spanish</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #SPANISH_VALUE
- * @generated
- * @ordered
- */
- SPANISH(0, "Spanish", "Spanish"), //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * The '<em><b>Italian</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #ITALIAN_VALUE
- * @generated
- * @ordered
- */
- ITALIAN(0, "Italian", "Italian"), //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * The '<em><b>Russian</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #RUSSIAN_VALUE
- * @generated
- * @ordered
- */
- RUSSIAN(0, "Russian", "Russian"); //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * The '<em><b>German</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>German</b></em>' literal object isn't clear, there really should be more of a
- * description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @see #GERMAN
- * @model name="German"
- * @generated
- * @ordered
- */
- public static final int GERMAN_VALUE = 0;
-
- /**
- * The '<em><b>French</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>French</b></em>' literal object isn't clear, there really should be more of a
- * description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @see #FRENCH
- * @model name="French"
- * @generated
- * @ordered
- */
- public static final int FRENCH_VALUE = 0;
-
- /**
- * The '<em><b>UK</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>UK</b></em>' literal object isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @see #UK
- * @model
- * @generated
- * @ordered
- */
- public static final int UK_VALUE = 0;
-
- /**
- * The '<em><b>US</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>US</b></em>' literal object isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @see #US
- * @model
- * @generated
- * @ordered
- */
- public static final int US_VALUE = 0;
-
- /**
- * The '<em><b>Spanish</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Spanish</b></em>' literal object isn't clear, there really should be more of a
- * description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @see #SPANISH
- * @model name="Spanish"
- * @generated
- * @ordered
- */
- public static final int SPANISH_VALUE = 0;
-
- /**
- * The '<em><b>Italian</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Italian</b></em>' literal object isn't clear, there really should be more of a
- * description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @see #ITALIAN
- * @model name="Italian"
- * @generated
- * @ordered
- */
- public static final int ITALIAN_VALUE = 0;
-
- /**
- * The '<em><b>Russian</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>Russian</b></em>' literal object isn't clear, there really should be more of a
- * description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @see #RUSSIAN
- * @model name="Russian"
- * @generated
- * @ordered
- */
- public static final int RUSSIAN_VALUE = 0;
-
- /**
- * An array of all the '<em><b>Nationality</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private static final Nationality[] VALUES_ARRAY =
- new Nationality[]
- {
- GERMAN,
- FRENCH,
- UK,
- US,
- SPANISH,
- ITALIAN,
- RUSSIAN,
- };
-
- /**
- * A public read-only list of all the '<em><b>Nationality</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public static final List<Nationality> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>Nationality</b></em>' literal with the specified literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public static Nationality get(String literal)
- {
- for (int i = 0; i < VALUES_ARRAY.length; ++i)
- {
- final Nationality result = VALUES_ARRAY[i];
- if (result.toString().equals(literal))
- {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Nationality</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public static Nationality getByName(String name)
- {
- for (int i = 0; i < VALUES_ARRAY.length; ++i)
- {
- final Nationality result = VALUES_ARRAY[i];
- if (result.getName().equals(name))
- {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>Nationality</b></em>' literal with the specified integer value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public static Nationality get(int value)
- {
- switch (value)
- {
- case GERMAN_VALUE:
- return GERMAN;
- }
- return null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private final int value;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private final String name;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private final String literal;
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private Nationality(int value, String name, String literal)
- {
- this.value = value;
- this.name = name;
- this.literal = literal;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public int getValue()
- {
- return value;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String getName()
- {
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String getLiteral()
- {
- return literal;
- }
-
- /**
- * Returns the literal value of the enumerator, which is its string representation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String toString()
- {
- return literal;
- }
-
-} // Nationality
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/Task.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/Task.java
deleted file mode 100644
index 881f8c3..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/Task.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task;
-
-import java.util.Date;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.DiagnosticChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Task</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getDescription <em>Description</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getAssignee <em>Assignee</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getDueDate <em>Due Date</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getSubTasks <em>Sub Tasks</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#isDone <em>Done</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getTask()
- * @model
- * @generated
- */
-public interface Task extends EObject
-{
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getTask_Name()
- * @model
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
- /**
- * Returns the value of the '<em><b>Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Description</em>' attribute isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Description</em>' attribute.
- * @see #setDescription(String)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getTask_Description()
- * @model
- * @generated
- */
- String getDescription();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getDescription
- * <em>Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Description</em>' attribute.
- * @see #getDescription()
- * @generated
- */
- void setDescription(String value);
-
- /**
- * Returns the value of the '<em><b>Assignee</b></em>' reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getTasks
- * <em>Tasks</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Assignee</em>' reference isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Assignee</em>' reference.
- * @see #setAssignee(User)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getTask_Assignee()
- * @see org.eclipse.emf.ecp.makeithappen.model.task.User#getTasks
- * @model opposite="tasks"
- * @generated
- */
- User getAssignee();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getAssignee <em>Assignee</em>}'
- * reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Assignee</em>' reference.
- * @see #getAssignee()
- * @generated
- */
- void setAssignee(User value);
-
- /**
- * Returns the value of the '<em><b>Due Date</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Due Date</em>' attribute isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Due Date</em>' attribute.
- * @see #setDueDate(Date)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getTask_DueDate()
- * @model
- * @generated
- */
- Date getDueDate();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getDueDate <em>Due Date</em>}'
- * attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Due Date</em>' attribute.
- * @see #getDueDate()
- * @generated
- */
- void setDueDate(Date value);
-
- /**
- * Returns the value of the '<em><b>Sub Tasks</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.emf.ecp.makeithappen.model.task.Task}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Sub Tasks</em>' containment reference list isn't clear, there really should be more of
- * a description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Sub Tasks</em>' containment reference list.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getTask_SubTasks()
- * @model containment="true"
- * @generated
- */
- EList<Task> getSubTasks();
-
- /**
- * Returns the value of the '<em><b>Done</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Done</em>' attribute isn't clear, there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Done</em>' attribute.
- * @see #setDone(boolean)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getTask_Done()
- * @model
- * @generated
- */
- boolean isDone();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#isDone <em>Done</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Done</em>' attribute.
- * @see #isDone()
- * @generated
- */
- void setDone(boolean value);
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @model
- * @generated
- */
- boolean hasName(DiagnosticChain chain, Map<?, ?> context);
-
-} // Task
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/TaskFactory.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/TaskFactory.java
deleted file mode 100644
index c42398e..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/TaskFactory.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage
- * @generated
- */
-public interface TaskFactory extends EFactory
-{
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- TaskFactory eINSTANCE = org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Task</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return a new object of class '<em>Task</em>'.
- * @generated
- */
- Task createTask();
-
- /**
- * Returns a new object of class '<em>User</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return a new object of class '<em>User</em>'.
- * @generated
- */
- User createUser();
-
- /**
- * Returns a new object of class '<em>User Group</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return a new object of class '<em>User Group</em>'.
- * @generated
- */
- UserGroup createUserGroup();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the package supported by this factory.
- * @generated
- */
- TaskPackage getTaskPackage();
-
-} // TaskFactory
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/TaskPackage.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/TaskPackage.java
deleted file mode 100644
index 546a59a..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/TaskPackage.java
+++ /dev/null
@@ -1,1017 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each operation of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskFactory
- * @model kind="package"
- * @generated
- */
-public interface TaskPackage extends EPackage
-{
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- String eNAME = "task"; //$NON-NLS-1$
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- String eNS_URI = "http://eclipse/org/emf/ecp/makeithappen/model/task"; //$NON-NLS-1$
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- String eNS_PREFIX = "org.eclipse.emf.ecp.makeithappen.model.task"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- TaskPackage eINSTANCE = org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskImpl <em>Task</em>}'
- * class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskImpl
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskPackageImpl#getTask()
- * @generated
- */
- int TASK = 0;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int TASK__NAME = 0;
-
- /**
- * The feature id for the '<em><b>Description</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int TASK__DESCRIPTION = 1;
-
- /**
- * The feature id for the '<em><b>Assignee</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int TASK__ASSIGNEE = 2;
-
- /**
- * The feature id for the '<em><b>Due Date</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int TASK__DUE_DATE = 3;
-
- /**
- * The feature id for the '<em><b>Sub Tasks</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int TASK__SUB_TASKS = 4;
-
- /**
- * The feature id for the '<em><b>Done</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int TASK__DONE = 5;
-
- /**
- * The number of structural features of the '<em>Task</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int TASK_FEATURE_COUNT = 6;
-
- /**
- * The operation id for the '<em>Has Name</em>' operation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int TASK___HAS_NAME__DIAGNOSTICCHAIN_MAP = 0;
-
- /**
- * The number of operations of the '<em>Task</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int TASK_OPERATION_COUNT = 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl <em>User</em>}'
- * class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskPackageImpl#getUser()
- * @generated
- */
- int USER = 1;
-
- /**
- * The feature id for the '<em><b>First Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER__FIRST_NAME = 0;
-
- /**
- * The feature id for the '<em><b>Last Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER__LAST_NAME = 1;
-
- /**
- * The feature id for the '<em><b>Gender</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER__GENDER = 2;
-
- /**
- * The feature id for the '<em><b>Active</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER__ACTIVE = 3;
-
- /**
- * The feature id for the '<em><b>Time Of Registration</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER__TIME_OF_REGISTRATION = 4;
-
- /**
- * The feature id for the '<em><b>Weight</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER__WEIGHT = 5;
-
- /**
- * The feature id for the '<em><b>Heigth</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER__HEIGTH = 6;
-
- /**
- * The feature id for the '<em><b>Nationality</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER__NATIONALITY = 7;
-
- /**
- * The feature id for the '<em><b>Date Of Birth</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER__DATE_OF_BIRTH = 8;
-
- /**
- * The feature id for the '<em><b>Email</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER__EMAIL = 9;
-
- /**
- * The feature id for the '<em><b>Tasks</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER__TASKS = 10;
-
- /**
- * The number of structural features of the '<em>User</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER_FEATURE_COUNT = 11;
-
- /**
- * The number of operations of the '<em>User</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER_OPERATION_COUNT = 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserGroupImpl
- * <em>User Group</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.UserGroupImpl
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskPackageImpl#getUserGroup()
- * @generated
- */
- int USER_GROUP = 2;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER_GROUP__NAME = 0;
-
- /**
- * The feature id for the '<em><b>Users</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER_GROUP__USERS = 1;
-
- /**
- * The number of structural features of the '<em>User Group</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER_GROUP_FEATURE_COUNT = 2;
-
- /**
- * The number of operations of the '<em>User Group</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- * @ordered
- */
- int USER_GROUP_OPERATION_COUNT = 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.ecp.makeithappen.model.task.Gender <em>Gender</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Gender
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskPackageImpl#getGender()
- * @generated
- */
- int GENDER = 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.ecp.makeithappen.model.task.Nationality <em>Nationality</em>}'
- * enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Nationality
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskPackageImpl#getNationality()
- * @generated
- */
- int NATIONALITY = 4;
-
- /**
- * The meta object id for the '<em>Date Of Birth</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see javax.xml.datatype.XMLGregorianCalendar
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskPackageImpl#getDateOfBirth()
- * @generated
- */
- int DATE_OF_BIRTH = 5;
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.ecp.makeithappen.model.task.Task <em>Task</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for class '<em>Task</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Task
- * @generated
- */
- EClass getTask();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getName
- * <em>Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Name</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Task#getName()
- * @see #getTask()
- * @generated
- */
- EAttribute getTask_Name();
-
- /**
- * Returns the meta object for the attribute '
- * {@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getDescription <em>Description</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Description</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Task#getDescription()
- * @see #getTask()
- * @generated
- */
- EAttribute getTask_Description();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getAssignee
- * <em>Assignee</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the reference '<em>Assignee</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Task#getAssignee()
- * @see #getTask()
- * @generated
- */
- EReference getTask_Assignee();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getDueDate
- * <em>Due Date</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Due Date</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Task#getDueDate()
- * @see #getTask()
- * @generated
- */
- EAttribute getTask_DueDate();
-
- /**
- * Returns the meta object for the containment reference list '
- * {@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getSubTasks <em>Sub Tasks</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the containment reference list '<em>Sub Tasks</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Task#getSubTasks()
- * @see #getTask()
- * @generated
- */
- EReference getTask_SubTasks();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#isDone
- * <em>Done</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Done</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Task#isDone()
- * @see #getTask()
- * @generated
- */
- EAttribute getTask_Done();
-
- /**
- * Returns the meta object for the '
- * {@link org.eclipse.emf.ecp.makeithappen.model.task.Task#hasName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
- * <em>Has Name</em>}' operation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the '<em>Has Name</em>' operation.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Task#hasName(org.eclipse.emf.common.util.DiagnosticChain,
- * java.util.Map)
- * @generated
- */
- EOperation getTask__HasName__DiagnosticChain_Map();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.ecp.makeithappen.model.task.User <em>User</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for class '<em>User</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.User
- * @generated
- */
- EClass getUser();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getFirstName
- * <em>First Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>First Name</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.User#getFirstName()
- * @see #getUser()
- * @generated
- */
- EAttribute getUser_FirstName();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getLastName
- * <em>Last Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Last Name</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.User#getLastName()
- * @see #getUser()
- * @generated
- */
- EAttribute getUser_LastName();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getGender
- * <em>Gender</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Gender</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.User#getGender()
- * @see #getUser()
- * @generated
- */
- EAttribute getUser_Gender();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#isActive
- * <em>Active</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Active</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.User#isActive()
- * @see #getUser()
- * @generated
- */
- EAttribute getUser_Active();
-
- /**
- * Returns the meta object for the attribute '
- * {@link org.eclipse.emf.ecp.makeithappen.model.task.User#getTimeOfRegistration <em>Time Of Registration</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Time Of Registration</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.User#getTimeOfRegistration()
- * @see #getUser()
- * @generated
- */
- EAttribute getUser_TimeOfRegistration();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getWeight
- * <em>Weight</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Weight</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.User#getWeight()
- * @see #getUser()
- * @generated
- */
- EAttribute getUser_Weight();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getHeigth
- * <em>Heigth</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Heigth</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.User#getHeigth()
- * @see #getUser()
- * @generated
- */
- EAttribute getUser_Heigth();
-
- /**
- * Returns the meta object for the attribute '
- * {@link org.eclipse.emf.ecp.makeithappen.model.task.User#getNationality <em>Nationality</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Nationality</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.User#getNationality()
- * @see #getUser()
- * @generated
- */
- EAttribute getUser_Nationality();
-
- /**
- * Returns the meta object for the attribute '
- * {@link org.eclipse.emf.ecp.makeithappen.model.task.User#getDateOfBirth <em>Date Of Birth</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Date Of Birth</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.User#getDateOfBirth()
- * @see #getUser()
- * @generated
- */
- EAttribute getUser_DateOfBirth();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getEmail
- * <em>Email</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Email</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.User#getEmail()
- * @see #getUser()
- * @generated
- */
- EAttribute getUser_Email();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getTasks
- * <em>Tasks</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the reference list '<em>Tasks</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.User#getTasks()
- * @see #getUser()
- * @generated
- */
- EReference getUser_Tasks();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.ecp.makeithappen.model.task.UserGroup
- * <em>User Group</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for class '<em>User Group</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.UserGroup
- * @generated
- */
- EClass getUserGroup();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.ecp.makeithappen.model.task.UserGroup#getName
- * <em>Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the attribute '<em>Name</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.UserGroup#getName()
- * @see #getUserGroup()
- * @generated
- */
- EAttribute getUserGroup_Name();
-
- /**
- * Returns the meta object for the containment reference list '
- * {@link org.eclipse.emf.ecp.makeithappen.model.task.UserGroup#getUsers <em>Users</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for the containment reference list '<em>Users</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.UserGroup#getUsers()
- * @see #getUserGroup()
- * @generated
- */
- EReference getUserGroup_Users();
-
- /**
- * Returns the meta object for enum '{@link org.eclipse.emf.ecp.makeithappen.model.task.Gender <em>Gender</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for enum '<em>Gender</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Gender
- * @generated
- */
- EEnum getGender();
-
- /**
- * Returns the meta object for enum '{@link org.eclipse.emf.ecp.makeithappen.model.task.Nationality
- * <em>Nationality</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for enum '<em>Nationality</em>'.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Nationality
- * @generated
- */
- EEnum getNationality();
-
- /**
- * Returns the meta object for data type '{@link javax.xml.datatype.XMLGregorianCalendar <em>Date Of Birth</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the meta object for data type '<em>Date Of Birth</em>'.
- * @see javax.xml.datatype.XMLGregorianCalendar
- * @model instanceClass="javax.xml.datatype.XMLGregorianCalendar"
- * extendedMetaData="baseType='http://www.eclipse.org/emf/2003/XMLType#date'"
- * @generated
- */
- EDataType getDateOfBirth();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the factory that creates the instances of the model.
- * @generated
- */
- TaskFactory getTaskFactory();
-
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each operation of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- *
- * @generated
- */
- interface Literals
- {
- /**
- * The meta object literal for the '{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskImpl
- * <em>Task</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskImpl
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskPackageImpl#getTask()
- * @generated
- */
- EClass TASK = eINSTANCE.getTask();
-
- /**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute TASK__NAME = eINSTANCE.getTask_Name();
-
- /**
- * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute TASK__DESCRIPTION = eINSTANCE.getTask_Description();
-
- /**
- * The meta object literal for the '<em><b>Assignee</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EReference TASK__ASSIGNEE = eINSTANCE.getTask_Assignee();
-
- /**
- * The meta object literal for the '<em><b>Due Date</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute TASK__DUE_DATE = eINSTANCE.getTask_DueDate();
-
- /**
- * The meta object literal for the '<em><b>Sub Tasks</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EReference TASK__SUB_TASKS = eINSTANCE.getTask_SubTasks();
-
- /**
- * The meta object literal for the '<em><b>Done</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute TASK__DONE = eINSTANCE.getTask_Done();
-
- /**
- * The meta object literal for the '<em><b>Has Name</b></em>' operation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EOperation TASK___HAS_NAME__DIAGNOSTICCHAIN_MAP = eINSTANCE.getTask__HasName__DiagnosticChain_Map();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl
- * <em>User</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskPackageImpl#getUser()
- * @generated
- */
- EClass USER = eINSTANCE.getUser();
-
- /**
- * The meta object literal for the '<em><b>First Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute USER__FIRST_NAME = eINSTANCE.getUser_FirstName();
-
- /**
- * The meta object literal for the '<em><b>Last Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute USER__LAST_NAME = eINSTANCE.getUser_LastName();
-
- /**
- * The meta object literal for the '<em><b>Gender</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute USER__GENDER = eINSTANCE.getUser_Gender();
-
- /**
- * The meta object literal for the '<em><b>Active</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute USER__ACTIVE = eINSTANCE.getUser_Active();
-
- /**
- * The meta object literal for the '<em><b>Time Of Registration</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute USER__TIME_OF_REGISTRATION = eINSTANCE.getUser_TimeOfRegistration();
-
- /**
- * The meta object literal for the '<em><b>Weight</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute USER__WEIGHT = eINSTANCE.getUser_Weight();
-
- /**
- * The meta object literal for the '<em><b>Heigth</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute USER__HEIGTH = eINSTANCE.getUser_Heigth();
-
- /**
- * The meta object literal for the '<em><b>Nationality</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute USER__NATIONALITY = eINSTANCE.getUser_Nationality();
-
- /**
- * The meta object literal for the '<em><b>Date Of Birth</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute USER__DATE_OF_BIRTH = eINSTANCE.getUser_DateOfBirth();
-
- /**
- * The meta object literal for the '<em><b>Email</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute USER__EMAIL = eINSTANCE.getUser_Email();
-
- /**
- * The meta object literal for the '<em><b>Tasks</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EReference USER__TASKS = eINSTANCE.getUser_Tasks();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserGroupImpl
- * <em>User Group</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.UserGroupImpl
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskPackageImpl#getUserGroup()
- * @generated
- */
- EClass USER_GROUP = eINSTANCE.getUserGroup();
-
- /**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EAttribute USER_GROUP__NAME = eINSTANCE.getUserGroup_Name();
-
- /**
- * The meta object literal for the '<em><b>Users</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- EReference USER_GROUP__USERS = eINSTANCE.getUserGroup_Users();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.ecp.makeithappen.model.task.Gender <em>Gender</em>}'
- * enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Gender
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskPackageImpl#getGender()
- * @generated
- */
- EEnum GENDER = eINSTANCE.getGender();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.ecp.makeithappen.model.task.Nationality
- * <em>Nationality</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Nationality
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskPackageImpl#getNationality()
- * @generated
- */
- EEnum NATIONALITY = eINSTANCE.getNationality();
-
- /**
- * The meta object literal for the '<em>Date Of Birth</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see javax.xml.datatype.XMLGregorianCalendar
- * @see org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskPackageImpl#getDateOfBirth()
- * @generated
- */
- EDataType DATE_OF_BIRTH = eINSTANCE.getDateOfBirth();
-
- }
-
-} // TaskPackage
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/User.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/User.java
deleted file mode 100644
index 655d7ab..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/User.java
+++ /dev/null
@@ -1,365 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task;
-
-import java.util.Date;
-
-import javax.xml.datatype.XMLGregorianCalendar;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>User</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getFirstName <em>First Name</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getLastName <em>Last Name</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getGender <em>Gender</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.User#isActive <em>Active</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getTimeOfRegistration <em>Time Of Registration</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getWeight <em>Weight</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getHeigth <em>Heigth</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getNationality <em>Nationality</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getDateOfBirth <em>Date Of Birth</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getEmail <em>Email</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getTasks <em>Tasks</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUser()
- * @model
- * @generated
- */
-public interface User extends EObject
-{
- /**
- * Returns the value of the '<em><b>First Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>First Name</em>' attribute isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>First Name</em>' attribute.
- * @see #setFirstName(String)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUser_FirstName()
- * @model
- * @generated
- */
- String getFirstName();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getFirstName <em>First Name</em>}'
- * attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>First Name</em>' attribute.
- * @see #getFirstName()
- * @generated
- */
- void setFirstName(String value);
-
- /**
- * Returns the value of the '<em><b>Last Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Last Name</em>' attribute isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Last Name</em>' attribute.
- * @see #setLastName(String)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUser_LastName()
- * @model required="true"
- * @generated
- */
- String getLastName();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getLastName <em>Last Name</em>}'
- * attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Last Name</em>' attribute.
- * @see #getLastName()
- * @generated
- */
- void setLastName(String value);
-
- /**
- * Returns the value of the '<em><b>Gender</b></em>' attribute.
- * The literals are from the enumeration {@link org.eclipse.emf.ecp.makeithappen.model.task.Gender}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Gender</em>' attribute isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Gender</em>' attribute.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Gender
- * @see #setGender(Gender)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUser_Gender()
- * @model
- * @generated
- */
- Gender getGender();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getGender <em>Gender</em>}'
- * attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Gender</em>' attribute.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Gender
- * @see #getGender()
- * @generated
- */
- void setGender(Gender value);
-
- /**
- * Returns the value of the '<em><b>Active</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Active</em>' attribute isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Active</em>' attribute.
- * @see #setActive(boolean)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUser_Active()
- * @model
- * @generated
- */
- boolean isActive();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#isActive <em>Active</em>}'
- * attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Active</em>' attribute.
- * @see #isActive()
- * @generated
- */
- void setActive(boolean value);
-
- /**
- * Returns the value of the '<em><b>Time Of Registration</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Time Of Registration</em>' attribute isn't clear, there really should be more of a
- * description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Time Of Registration</em>' attribute.
- * @see #setTimeOfRegistration(Date)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUser_TimeOfRegistration()
- * @model
- * @generated
- */
- Date getTimeOfRegistration();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getTimeOfRegistration
- * <em>Time Of Registration</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Time Of Registration</em>' attribute.
- * @see #getTimeOfRegistration()
- * @generated
- */
- void setTimeOfRegistration(Date value);
-
- /**
- * Returns the value of the '<em><b>Weight</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Weight</em>' attribute isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Weight</em>' attribute.
- * @see #setWeight(double)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUser_Weight()
- * @model
- * @generated
- */
- double getWeight();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getWeight <em>Weight</em>}'
- * attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Weight</em>' attribute.
- * @see #getWeight()
- * @generated
- */
- void setWeight(double value);
-
- /**
- * Returns the value of the '<em><b>Heigth</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Heigth</em>' attribute isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Heigth</em>' attribute.
- * @see #setHeigth(int)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUser_Heigth()
- * @model
- * @generated
- */
- int getHeigth();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getHeigth <em>Heigth</em>}'
- * attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Heigth</em>' attribute.
- * @see #getHeigth()
- * @generated
- */
- void setHeigth(int value);
-
- /**
- * Returns the value of the '<em><b>Nationality</b></em>' attribute.
- * The literals are from the enumeration {@link org.eclipse.emf.ecp.makeithappen.model.task.Nationality}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Nationality</em>' attribute isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Nationality</em>' attribute.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Nationality
- * @see #setNationality(Nationality)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUser_Nationality()
- * @model
- * @generated
- */
- Nationality getNationality();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getNationality
- * <em>Nationality</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Nationality</em>' attribute.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Nationality
- * @see #getNationality()
- * @generated
- */
- void setNationality(Nationality value);
-
- /**
- * Returns the value of the '<em><b>Date Of Birth</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Date Of Birth</em>' attribute isn't clear, there really should be more of a
- * description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Date Of Birth</em>' attribute.
- * @see #setDateOfBirth(XMLGregorianCalendar)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUser_DateOfBirth()
- * @model dataType="org.eclipse.emf.ecp.makeithappen.model.task.DateOfBirth"
- * @generated
- */
- XMLGregorianCalendar getDateOfBirth();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getDateOfBirth
- * <em>Date Of Birth</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Date Of Birth</em>' attribute.
- * @see #getDateOfBirth()
- * @generated
- */
- void setDateOfBirth(XMLGregorianCalendar value);
-
- /**
- * Returns the value of the '<em><b>Email</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Email</em>' attribute isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Email</em>' attribute.
- * @see #setEmail(String)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUser_Email()
- * @model required="true"
- * @generated
- */
- String getEmail();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.User#getEmail <em>Email</em>}'
- * attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Email</em>' attribute.
- * @see #getEmail()
- * @generated
- */
- void setEmail(String value);
-
- /**
- * Returns the value of the '<em><b>Tasks</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.emf.ecp.makeithappen.model.task.Task}.
- * It is bidirectional and its opposite is '{@link org.eclipse.emf.ecp.makeithappen.model.task.Task#getAssignee
- * <em>Assignee</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Tasks</em>' reference list isn't clear, there really should be more of a description
- * here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Tasks</em>' reference list.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUser_Tasks()
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Task#getAssignee
- * @model opposite="assignee"
- * @generated
- */
- EList<Task> getTasks();
-
-} // User
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/UserGroup.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/UserGroup.java
deleted file mode 100644
index 7182fc4..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/UserGroup.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>User Group</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.UserGroup#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.UserGroup#getUsers <em>Users</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUserGroup()
- * @model
- * @generated
- */
-public interface UserGroup extends EObject
-{
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUserGroup_Name()
- * @model
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.ecp.makeithappen.model.task.UserGroup#getName <em>Name</em>}'
- * attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
- /**
- * Returns the value of the '<em><b>Users</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.emf.ecp.makeithappen.model.task.User}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Users</em>' containment reference list isn't clear, there really should be more of a
- * description here...
- * </p>
- * <!-- end-user-doc -->
- *
- * @return the value of the '<em>Users</em>' containment reference list.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#getUserGroup_Users()
- * @model containment="true"
- * @generated
- */
- EList<User> getUsers();
-
-} // UserGroup
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/TaskFactoryImpl.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/TaskFactoryImpl.java
deleted file mode 100644
index 8bbe8c5..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/TaskFactoryImpl.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task.impl;
-
-import javax.xml.datatype.XMLGregorianCalendar;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
-import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
-import org.eclipse.emf.ecp.makeithappen.model.task.Gender;
-import org.eclipse.emf.ecp.makeithappen.model.task.Nationality;
-import org.eclipse.emf.ecp.makeithappen.model.task.Task;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskFactory;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.makeithappen.model.task.User;
-import org.eclipse.emf.ecp.makeithappen.model.task.UserGroup;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class TaskFactoryImpl extends EFactoryImpl implements TaskFactory
-{
- /**
- * Creates the default factory implementation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public static TaskFactory init()
- {
- try
- {
- final TaskFactory theTaskFactory = (TaskFactory) EPackage.Registry.INSTANCE
- .getEFactory(TaskPackage.eNS_URI);
- if (theTaskFactory != null)
- {
- return theTaskFactory;
- }
- } catch (final Exception exception)
- {
- EcorePlugin.INSTANCE.log(exception);
- }
- return new TaskFactoryImpl();
- }
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public TaskFactoryImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EObject create(EClass eClass)
- {
- switch (eClass.getClassifierID())
- {
- case TaskPackage.TASK:
- return createTask();
- case TaskPackage.USER:
- return createUser();
- case TaskPackage.USER_GROUP:
- return createUserGroup();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Object createFromString(EDataType eDataType, String initialValue)
- {
- switch (eDataType.getClassifierID())
- {
- case TaskPackage.GENDER:
- return createGenderFromString(eDataType, initialValue);
- case TaskPackage.NATIONALITY:
- return createNationalityFromString(eDataType, initialValue);
- case TaskPackage.DATE_OF_BIRTH:
- return createDateOfBirthFromString(eDataType, initialValue);
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String convertToString(EDataType eDataType, Object instanceValue)
- {
- switch (eDataType.getClassifierID())
- {
- case TaskPackage.GENDER:
- return convertGenderToString(eDataType, instanceValue);
- case TaskPackage.NATIONALITY:
- return convertNationalityToString(eDataType, instanceValue);
- case TaskPackage.DATE_OF_BIRTH:
- return convertDateOfBirthToString(eDataType, instanceValue);
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Task createTask()
- {
- final TaskImpl task = new TaskImpl();
- return task;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public User createUser()
- {
- final UserImpl user = new UserImpl();
- return user;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public UserGroup createUserGroup()
- {
- final UserGroupImpl userGroup = new UserGroupImpl();
- return userGroup;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public Gender createGenderFromString(EDataType eDataType, String initialValue)
- {
- final Gender result = Gender.get(initialValue);
- if (result == null)
- {
- throw new IllegalArgumentException(
- "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- return result;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public String convertGenderToString(EDataType eDataType, Object instanceValue)
- {
- return instanceValue == null ? null : instanceValue.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public Nationality createNationalityFromString(EDataType eDataType, String initialValue)
- {
- final Nationality result = Nationality.get(initialValue);
- if (result == null)
- {
- throw new IllegalArgumentException(
- "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- return result;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public String convertNationalityToString(EDataType eDataType, Object instanceValue)
- {
- return instanceValue == null ? null : instanceValue.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public XMLGregorianCalendar createDateOfBirthFromString(EDataType eDataType, String initialValue)
- {
- return (XMLGregorianCalendar) XMLTypeFactory.eINSTANCE.createFromString(XMLTypePackage.Literals.DATE,
- initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public String convertDateOfBirthToString(EDataType eDataType, Object instanceValue)
- {
- return XMLTypeFactory.eINSTANCE.convertToString(XMLTypePackage.Literals.DATE, instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public TaskPackage getTaskPackage()
- {
- return (TaskPackage) getEPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @deprecated
- * @generated
- */
- @Deprecated
- public static TaskPackage getPackage()
- {
- return TaskPackage.eINSTANCE;
- }
-
-} // TaskFactoryImpl
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/TaskImpl.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/TaskImpl.java
deleted file mode 100644
index 02dec85..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/TaskImpl.java
+++ /dev/null
@@ -1,613 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task.impl;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.BasicDiagnostic;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.emf.common.util.DiagnosticChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.emf.ecp.makeithappen.model.task.Task;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.makeithappen.model.task.User;
-import org.eclipse.emf.ecp.makeithappen.model.task.util.TaskValidator;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Task</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskImpl#getDescription <em>Description</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskImpl#getAssignee <em>Assignee</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskImpl#getDueDate <em>Due Date</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskImpl#getSubTasks <em>Sub Tasks</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.TaskImpl#isDone <em>Done</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TaskImpl extends MinimalEObjectImpl.Container implements Task {
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
-
- /**
- * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getDescription()
- * @generated
- * @ordered
- */
- protected static final String DESCRIPTION_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getDescription()
- * @generated
- * @ordered
- */
- protected String description = DESCRIPTION_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getAssignee() <em>Assignee</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getAssignee()
- * @generated
- * @ordered
- */
- protected User assignee;
-
- /**
- * The default value of the '{@link #getDueDate() <em>Due Date</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getDueDate()
- * @generated
- * @ordered
- */
- protected static final Date DUE_DATE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getDueDate() <em>Due Date</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getDueDate()
- * @generated
- * @ordered
- */
- protected Date dueDate = DUE_DATE_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getSubTasks() <em>Sub Tasks</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getSubTasks()
- * @generated
- * @ordered
- */
- protected EList<Task> subTasks;
-
- /**
- * The default value of the '{@link #isDone() <em>Done</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #isDone()
- * @generated
- * @ordered
- */
- protected static final boolean DONE_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isDone() <em>Done</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #isDone()
- * @generated
- * @ordered
- */
- protected boolean done = DONE_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected TaskImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return TaskPackage.Literals.TASK;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String getName() {
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setName(String newName) {
- final String oldName = name;
- name = newName;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.TASK__NAME, oldName, name));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public User getAssignee() {
- if (assignee != null && assignee.eIsProxy())
- {
- final InternalEObject oldAssignee = (InternalEObject) assignee;
- assignee = (User) eResolveProxy(oldAssignee);
- if (assignee != oldAssignee)
- {
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, TaskPackage.TASK__ASSIGNEE, oldAssignee,
- assignee));
- }
- }
- }
- return assignee;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public User basicGetAssignee() {
- return assignee;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public NotificationChain basicSetAssignee(User newAssignee, NotificationChain msgs) {
- final User oldAssignee = assignee;
- assignee = newAssignee;
- if (eNotificationRequired())
- {
- final ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
- TaskPackage.TASK__ASSIGNEE,
- oldAssignee, newAssignee);
- if (msgs == null) {
- msgs = notification;
- } else {
- msgs.add(notification);
- }
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setAssignee(User newAssignee) {
- if (newAssignee != assignee)
- {
- NotificationChain msgs = null;
- if (assignee != null) {
- msgs = ((InternalEObject) assignee).eInverseRemove(this, TaskPackage.USER__TASKS, User.class, msgs);
- }
- if (newAssignee != null) {
- msgs = ((InternalEObject) newAssignee).eInverseAdd(this, TaskPackage.USER__TASKS, User.class, msgs);
- }
- msgs = basicSetAssignee(newAssignee, msgs);
- if (msgs != null) {
- msgs.dispatch();
- }
- }
- else if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.TASK__ASSIGNEE, newAssignee, newAssignee));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EList<Task> getSubTasks() {
- if (subTasks == null)
- {
- subTasks = new EObjectContainmentEList<Task>(Task.class, this, TaskPackage.TASK__SUB_TASKS);
- }
- return subTasks;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public boolean isDone() {
- return done;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setDone(boolean newDone) {
- final boolean oldDone = done;
- done = newDone;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.TASK__DONE, oldDone, done));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param chain the diagnostic chain.
- * @param context the context.
- * @return whether the task has a name.
- * @generated NOT
- */
- @Override
- public boolean hasName(DiagnosticChain chain, Map<?, ?> context) {
- if (getName() == null || getName().equals("")) { //$NON-NLS-1$
- if (chain != null) {
- chain.add
- (new BasicDiagnostic
- (Diagnostic.ERROR,
- TaskValidator.DIAGNOSTIC_SOURCE,
- TaskValidator.TASK__HAS_NAME, "Task needs to have a name", //$NON-NLS-1$
- new Object[] { this, TaskPackage.eINSTANCE.getTask_Name() }));
- }
- return false;
- }
- return true;
- }
-
- /**
- * <!-- begin-user-doc -->.
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID)
- {
- case TaskPackage.TASK__ASSIGNEE:
- if (assignee != null) {
- msgs = ((InternalEObject) assignee).eInverseRemove(this, TaskPackage.USER__TASKS, User.class, msgs);
- }
- return basicSetAssignee((User) otherEnd, msgs);
- }
- return super.eInverseAdd(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Date getDueDate() {
- return dueDate;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setDueDate(Date newDueDate) {
- final Date oldDueDate = dueDate;
- dueDate = newDueDate;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.TASK__DUE_DATE, oldDueDate, dueDate));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String getDescription() {
- return description;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setDescription(String newDescription) {
- final String oldDescription = description;
- description = newDescription;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.TASK__DESCRIPTION, oldDescription,
- description));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID)
- {
- case TaskPackage.TASK__ASSIGNEE:
- return basicSetAssignee(null, msgs);
- case TaskPackage.TASK__SUB_TASKS:
- return ((InternalEList<?>) getSubTasks()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID)
- {
- case TaskPackage.TASK__NAME:
- return getName();
- case TaskPackage.TASK__DESCRIPTION:
- return getDescription();
- case TaskPackage.TASK__ASSIGNEE:
- if (resolve) {
- return getAssignee();
- }
- return basicGetAssignee();
- case TaskPackage.TASK__DUE_DATE:
- return getDueDate();
- case TaskPackage.TASK__SUB_TASKS:
- return getSubTasks();
- case TaskPackage.TASK__DONE:
- return isDone();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID)
- {
- case TaskPackage.TASK__NAME:
- setName((String) newValue);
- return;
- case TaskPackage.TASK__DESCRIPTION:
- setDescription((String) newValue);
- return;
- case TaskPackage.TASK__ASSIGNEE:
- setAssignee((User) newValue);
- return;
- case TaskPackage.TASK__DUE_DATE:
- setDueDate((Date) newValue);
- return;
- case TaskPackage.TASK__SUB_TASKS:
- getSubTasks().clear();
- getSubTasks().addAll((Collection<? extends Task>) newValue);
- return;
- case TaskPackage.TASK__DONE:
- setDone((Boolean) newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID)
- {
- case TaskPackage.TASK__NAME:
- setName(NAME_EDEFAULT);
- return;
- case TaskPackage.TASK__DESCRIPTION:
- setDescription(DESCRIPTION_EDEFAULT);
- return;
- case TaskPackage.TASK__ASSIGNEE:
- setAssignee((User) null);
- return;
- case TaskPackage.TASK__DUE_DATE:
- setDueDate(DUE_DATE_EDEFAULT);
- return;
- case TaskPackage.TASK__SUB_TASKS:
- getSubTasks().clear();
- return;
- case TaskPackage.TASK__DONE:
- setDone(DONE_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID)
- {
- case TaskPackage.TASK__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case TaskPackage.TASK__DESCRIPTION:
- return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
- case TaskPackage.TASK__ASSIGNEE:
- return assignee != null;
- case TaskPackage.TASK__DUE_DATE:
- return DUE_DATE_EDEFAULT == null ? dueDate != null : !DUE_DATE_EDEFAULT.equals(dueDate);
- case TaskPackage.TASK__SUB_TASKS:
- return subTasks != null && !subTasks.isEmpty();
- case TaskPackage.TASK__DONE:
- return done != DONE_EDEFAULT;
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
- switch (operationID)
- {
- case TaskPackage.TASK___HAS_NAME__DIAGNOSTICCHAIN_MAP:
- return hasName((DiagnosticChain) arguments.get(0), (Map<?, ?>) arguments.get(1));
- }
- return super.eInvoke(operationID, arguments);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy()) {
- return super.toString();
- }
-
- final StringBuffer result = new StringBuffer(super.toString());
- result.append(" (name: "); //$NON-NLS-1$
- result.append(name);
- result.append(", description: "); //$NON-NLS-1$
- result.append(description);
- result.append(", dueDate: "); //$NON-NLS-1$
- result.append(dueDate);
- result.append(", done: "); //$NON-NLS-1$
- result.append(done);
- result.append(')');
- return result.toString();
- }
-
-} // TaskImpl
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/TaskPackageImpl.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/TaskPackageImpl.java
deleted file mode 100644
index 07c3149..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/TaskPackageImpl.java
+++ /dev/null
@@ -1,728 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task.impl;
-
-import javax.xml.datatype.XMLGregorianCalendar;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EGenericType;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EValidator;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.emf.ecp.makeithappen.model.task.Gender;
-import org.eclipse.emf.ecp.makeithappen.model.task.Nationality;
-import org.eclipse.emf.ecp.makeithappen.model.task.Task;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskFactory;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.makeithappen.model.task.User;
-import org.eclipse.emf.ecp.makeithappen.model.task.UserGroup;
-import org.eclipse.emf.ecp.makeithappen.model.task.util.TaskValidator;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class TaskPackageImpl extends EPackageImpl implements TaskPackage
-{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass taskEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass userEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass userGroupEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private EEnum genderEEnum = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private EEnum nationalityEEnum = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private EDataType dateOfBirthEDataType = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
- * EPackage.Registry} by the package
- * package URI value.
- * <p>
- * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
- * performs initialization of the package, or returns the registered package, if one already exists. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage#eNS_URI
- * @see #init()
- * @generated
- */
- private TaskPackageImpl()
- {
- super(eNS_URI, TaskFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
- *
- * <p>
- * This method is used to initialize {@link TaskPackage#eINSTANCE} when that field is accessed. Clients should not
- * invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static TaskPackage init()
- {
- if (isInited) {
- return (TaskPackage) EPackage.Registry.INSTANCE.getEPackage(TaskPackage.eNS_URI);
- }
-
- // Obtain or create and register package
- final TaskPackageImpl theTaskPackage = (TaskPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof TaskPackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new TaskPackageImpl());
-
- isInited = true;
-
- // Create package meta-data objects
- theTaskPackage.createPackageContents();
-
- // Initialize created meta-data
- theTaskPackage.initializePackageContents();
-
- // Register package validator
- EValidator.Registry.INSTANCE.put
- (theTaskPackage,
- new EValidator.Descriptor()
- {
- @Override
- public EValidator getEValidator()
- {
- return TaskValidator.INSTANCE;
- }
- });
-
- // Mark meta-data to indicate it can't be changed
- theTaskPackage.freeze();
-
- // Update the registry and return the package
- EPackage.Registry.INSTANCE.put(TaskPackage.eNS_URI, theTaskPackage);
- return theTaskPackage;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EClass getTask()
- {
- return taskEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getTask_Name()
- {
- return (EAttribute) taskEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getTask_Description()
- {
- return (EAttribute) taskEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EReference getTask_Assignee()
- {
- return (EReference) taskEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getTask_DueDate()
- {
- return (EAttribute) taskEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EReference getTask_SubTasks()
- {
- return (EReference) taskEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getTask_Done()
- {
- return (EAttribute) taskEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EOperation getTask__HasName__DiagnosticChain_Map()
- {
- return taskEClass.getEOperations().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EClass getUser()
- {
- return userEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getUser_FirstName()
- {
- return (EAttribute) userEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getUser_LastName()
- {
- return (EAttribute) userEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getUser_Gender()
- {
- return (EAttribute) userEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getUser_Active()
- {
- return (EAttribute) userEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getUser_TimeOfRegistration()
- {
- return (EAttribute) userEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getUser_Weight()
- {
- return (EAttribute) userEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getUser_Heigth()
- {
- return (EAttribute) userEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getUser_Nationality()
- {
- return (EAttribute) userEClass.getEStructuralFeatures().get(7);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getUser_DateOfBirth()
- {
- return (EAttribute) userEClass.getEStructuralFeatures().get(8);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getUser_Email()
- {
- return (EAttribute) userEClass.getEStructuralFeatures().get(9);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EReference getUser_Tasks()
- {
- return (EReference) userEClass.getEStructuralFeatures().get(10);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EClass getUserGroup()
- {
- return userGroupEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EAttribute getUserGroup_Name()
- {
- return (EAttribute) userGroupEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EReference getUserGroup_Users()
- {
- return (EReference) userGroupEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EEnum getGender()
- {
- return genderEEnum;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EEnum getNationality()
- {
- return nationalityEEnum;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EDataType getDateOfBirth()
- {
- return dateOfBirthEDataType;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public TaskFactory getTaskFactory()
- {
- return (TaskFactory) getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public void createPackageContents()
- {
- if (isCreated) {
- return;
- }
- isCreated = true;
-
- // Create classes and their features
- taskEClass = createEClass(TASK);
- createEAttribute(taskEClass, TASK__NAME);
- createEAttribute(taskEClass, TASK__DESCRIPTION);
- createEReference(taskEClass, TASK__ASSIGNEE);
- createEAttribute(taskEClass, TASK__DUE_DATE);
- createEReference(taskEClass, TASK__SUB_TASKS);
- createEAttribute(taskEClass, TASK__DONE);
- createEOperation(taskEClass, TASK___HAS_NAME__DIAGNOSTICCHAIN_MAP);
-
- userEClass = createEClass(USER);
- createEAttribute(userEClass, USER__FIRST_NAME);
- createEAttribute(userEClass, USER__LAST_NAME);
- createEAttribute(userEClass, USER__GENDER);
- createEAttribute(userEClass, USER__ACTIVE);
- createEAttribute(userEClass, USER__TIME_OF_REGISTRATION);
- createEAttribute(userEClass, USER__WEIGHT);
- createEAttribute(userEClass, USER__HEIGTH);
- createEAttribute(userEClass, USER__NATIONALITY);
- createEAttribute(userEClass, USER__DATE_OF_BIRTH);
- createEAttribute(userEClass, USER__EMAIL);
- createEReference(userEClass, USER__TASKS);
-
- userGroupEClass = createEClass(USER_GROUP);
- createEAttribute(userGroupEClass, USER_GROUP__NAME);
- createEReference(userGroupEClass, USER_GROUP__USERS);
-
- // Create enums
- genderEEnum = createEEnum(GENDER);
- nationalityEEnum = createEEnum(NATIONALITY);
-
- // Create data types
- dateOfBirthEDataType = createEDataType(DATE_OF_BIRTH);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public void initializePackageContents()
- {
- if (isInitialized) {
- return;
- }
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Create type parameters
-
- // Set bounds for type parameters
-
- // Add supertypes to classes
-
- // Initialize classes, features, and operations; add parameters
- initEClass(taskEClass, Task.class, "Task", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(
- getTask_Name(),
- ecorePackage.getEString(),
- "name", null, 0, 1, Task.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getTask_Description(),
- ecorePackage.getEString(),
- "description", null, 0, 1, Task.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getTask_Assignee(),
- getUser(),
- getUser_Tasks(),
- "assignee", null, 0, 1, Task.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getTask_DueDate(),
- ecorePackage.getEDate(),
- "dueDate", null, 0, 1, Task.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getTask_SubTasks(),
- getTask(),
- null,
- "subTasks", null, 0, -1, Task.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getTask_Done(),
- ecorePackage.getEBoolean(),
- "done", null, 0, 1, Task.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- final EOperation op = initEOperation(getTask__HasName__DiagnosticChain_Map(), ecorePackage.getEBoolean(),
- "hasName", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
- addEParameter(op, ecorePackage.getEDiagnosticChain(), "chain", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
- final EGenericType g1 = createEGenericType(ecorePackage.getEMap());
- EGenericType g2 = createEGenericType();
- g1.getETypeArguments().add(g2);
- g2 = createEGenericType();
- g1.getETypeArguments().add(g2);
- addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(userEClass, User.class, "User", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(
- getUser_FirstName(),
- ecorePackage.getEString(),
- "firstName", null, 0, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getUser_LastName(),
- ecorePackage.getEString(),
- "lastName", null, 1, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getUser_Gender(),
- getGender(),
- "gender", null, 0, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getUser_Active(),
- ecorePackage.getEBoolean(),
- "active", null, 0, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getUser_TimeOfRegistration(),
- ecorePackage.getEDate(),
- "timeOfRegistration", null, 0, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getUser_Weight(),
- ecorePackage.getEDouble(),
- "weight", null, 0, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getUser_Heigth(),
- ecorePackage.getEInt(),
- "heigth", null, 0, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getUser_Nationality(),
- getNationality(),
- "nationality", null, 0, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getUser_DateOfBirth(),
- getDateOfBirth(),
- "dateOfBirth", null, 0, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getUser_Email(),
- ecorePackage.getEString(),
- "email", null, 1, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getUser_Tasks(),
- getTask(),
- getTask_Assignee(),
- "tasks", null, 0, -1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(userGroupEClass, UserGroup.class,
- "UserGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(
- getUserGroup_Name(),
- ecorePackage.getEString(),
- "name", null, 0, 1, UserGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getUserGroup_Users(),
- getUser(),
- null,
- "users", null, 0, -1, UserGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- // Initialize enums and add enum literals
- initEEnum(genderEEnum, Gender.class, "Gender"); //$NON-NLS-1$
- addEEnumLiteral(genderEEnum, Gender.MALE);
- addEEnumLiteral(genderEEnum, Gender.FEMALE);
-
- initEEnum(nationalityEEnum, Nationality.class, "Nationality"); //$NON-NLS-1$
- addEEnumLiteral(nationalityEEnum, Nationality.GERMAN);
- addEEnumLiteral(nationalityEEnum, Nationality.FRENCH);
- addEEnumLiteral(nationalityEEnum, Nationality.UK);
- addEEnumLiteral(nationalityEEnum, Nationality.US);
- addEEnumLiteral(nationalityEEnum, Nationality.SPANISH);
- addEEnumLiteral(nationalityEEnum, Nationality.ITALIAN);
- addEEnumLiteral(nationalityEEnum, Nationality.RUSSIAN);
-
- // Initialize data types
- initEDataType(dateOfBirthEDataType, XMLGregorianCalendar.class,
- "DateOfBirth", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
- // Create resource
- createResource(eNS_URI);
-
- // Create annotations
- // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
- createExtendedMetaDataAnnotations();
- }
-
- /**
- * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected void createExtendedMetaDataAnnotations()
- {
- final String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; //$NON-NLS-1$
- addAnnotation(dateOfBirthEDataType,
- source,
- new String[]
- { "baseType", "http://www.eclipse.org/emf/2003/XMLType#date" //$NON-NLS-1$ //$NON-NLS-2$
- });
- }
-
-} // TaskPackageImpl
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/UserGroupImpl.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/UserGroupImpl.java
deleted file mode 100644
index 226d54b..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/UserGroupImpl.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.makeithappen.model.task.User;
-import org.eclipse.emf.ecp.makeithappen.model.task.UserGroup;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>User Group</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserGroupImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserGroupImpl#getUsers <em>Users</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class UserGroupImpl extends MinimalEObjectImpl.Container implements UserGroup
-{
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getUsers() <em>Users</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getUsers()
- * @generated
- * @ordered
- */
- protected EList<User> users;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected UserGroupImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- protected EClass eStaticClass()
- {
- return TaskPackage.Literals.USER_GROUP;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String getName()
- {
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setName(String newName)
- {
- final String oldName = name;
- name = newName;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.USER_GROUP__NAME, oldName, name));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EList<User> getUsers()
- {
- if (users == null)
- {
- users = new EObjectContainmentEList<User>(User.class, this, TaskPackage.USER_GROUP__USERS);
- }
- return users;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
- {
- switch (featureID)
- {
- case TaskPackage.USER_GROUP__USERS:
- return ((InternalEList<?>) getUsers()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case TaskPackage.USER_GROUP__NAME:
- return getName();
- case TaskPackage.USER_GROUP__USERS:
- return getUsers();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case TaskPackage.USER_GROUP__NAME:
- setName((String) newValue);
- return;
- case TaskPackage.USER_GROUP__USERS:
- getUsers().clear();
- getUsers().addAll((Collection<? extends User>) newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case TaskPackage.USER_GROUP__NAME:
- setName(NAME_EDEFAULT);
- return;
- case TaskPackage.USER_GROUP__USERS:
- getUsers().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case TaskPackage.USER_GROUP__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case TaskPackage.USER_GROUP__USERS:
- return users != null && !users.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String toString()
- {
- if (eIsProxy()) {
- return super.toString();
- }
-
- final StringBuffer result = new StringBuffer(super.toString());
- result.append(" (name: "); //$NON-NLS-1$
- result.append(name);
- result.append(')');
- return result.toString();
- }
-
-} // UserGroupImpl
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/UserImpl.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/UserImpl.java
deleted file mode 100644
index 9fa4edf..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/impl/UserImpl.java
+++ /dev/null
@@ -1,860 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task.impl;
-
-import java.util.Collection;
-import java.util.Date;
-
-import javax.xml.datatype.XMLGregorianCalendar;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.emf.ecp.makeithappen.model.task.Gender;
-import org.eclipse.emf.ecp.makeithappen.model.task.Nationality;
-import org.eclipse.emf.ecp.makeithappen.model.task.Task;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.makeithappen.model.task.User;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>User</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl#getFirstName <em>First Name</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl#getLastName <em>Last Name</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl#getGender <em>Gender</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl#isActive <em>Active</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl#getTimeOfRegistration <em>Time Of Registration
- * </em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl#getWeight <em>Weight</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl#getHeigth <em>Heigth</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl#getNationality <em>Nationality</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl#getDateOfBirth <em>Date Of Birth</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl#getEmail <em>Email</em>}</li>
- * <li>{@link org.eclipse.emf.ecp.makeithappen.model.task.impl.UserImpl#getTasks <em>Tasks</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class UserImpl extends MinimalEObjectImpl.Container implements User
-{
- /**
- * The default value of the '{@link #getFirstName() <em>First Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getFirstName()
- * @generated
- * @ordered
- */
- protected static final String FIRST_NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getFirstName() <em>First Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getFirstName()
- * @generated
- * @ordered
- */
- protected String firstName = FIRST_NAME_EDEFAULT;
-
- /**
- * The default value of the '{@link #getLastName() <em>Last Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getLastName()
- * @generated
- * @ordered
- */
- protected static final String LAST_NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getLastName() <em>Last Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getLastName()
- * @generated
- * @ordered
- */
- protected String lastName = LAST_NAME_EDEFAULT;
-
- /**
- * The default value of the '{@link #getGender() <em>Gender</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getGender()
- * @generated
- * @ordered
- */
- protected static final Gender GENDER_EDEFAULT = Gender.MALE;
-
- /**
- * The cached value of the '{@link #getGender() <em>Gender</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getGender()
- * @generated
- * @ordered
- */
- protected Gender gender = GENDER_EDEFAULT;
-
- /**
- * The default value of the '{@link #isActive() <em>Active</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #isActive()
- * @generated
- * @ordered
- */
- protected static final boolean ACTIVE_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isActive() <em>Active</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #isActive()
- * @generated
- * @ordered
- */
- protected boolean active = ACTIVE_EDEFAULT;
-
- /**
- * The default value of the '{@link #getTimeOfRegistration() <em>Time Of Registration</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getTimeOfRegistration()
- * @generated
- * @ordered
- */
- protected static final Date TIME_OF_REGISTRATION_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getTimeOfRegistration() <em>Time Of Registration</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getTimeOfRegistration()
- * @generated
- * @ordered
- */
- protected Date timeOfRegistration = TIME_OF_REGISTRATION_EDEFAULT;
-
- /**
- * The default value of the '{@link #getWeight() <em>Weight</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getWeight()
- * @generated
- * @ordered
- */
- protected static final double WEIGHT_EDEFAULT = 0.0;
-
- /**
- * The cached value of the '{@link #getWeight() <em>Weight</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getWeight()
- * @generated
- * @ordered
- */
- protected double weight = WEIGHT_EDEFAULT;
-
- /**
- * The default value of the '{@link #getHeigth() <em>Heigth</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getHeigth()
- * @generated
- * @ordered
- */
- protected static final int HEIGTH_EDEFAULT = 0;
-
- /**
- * The cached value of the '{@link #getHeigth() <em>Heigth</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getHeigth()
- * @generated
- * @ordered
- */
- protected int heigth = HEIGTH_EDEFAULT;
-
- /**
- * The default value of the '{@link #getNationality() <em>Nationality</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getNationality()
- * @generated
- * @ordered
- */
- protected static final Nationality NATIONALITY_EDEFAULT = Nationality.GERMAN;
-
- /**
- * The cached value of the '{@link #getNationality() <em>Nationality</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getNationality()
- * @generated
- * @ordered
- */
- protected Nationality nationality = NATIONALITY_EDEFAULT;
-
- /**
- * The default value of the '{@link #getDateOfBirth() <em>Date Of Birth</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getDateOfBirth()
- * @generated
- * @ordered
- */
- protected static final XMLGregorianCalendar DATE_OF_BIRTH_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getDateOfBirth() <em>Date Of Birth</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getDateOfBirth()
- * @generated
- * @ordered
- */
- protected XMLGregorianCalendar dateOfBirth = DATE_OF_BIRTH_EDEFAULT;
-
- /**
- * The default value of the '{@link #getEmail() <em>Email</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getEmail()
- * @generated
- * @ordered
- */
- protected static final String EMAIL_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getEmail() <em>Email</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getEmail()
- * @generated
- * @ordered
- */
- protected String email = EMAIL_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getTasks() <em>Tasks</em>}' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #getTasks()
- * @generated
- * @ordered
- */
- protected EList<Task> tasks;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected UserImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- protected EClass eStaticClass()
- {
- return TaskPackage.Literals.USER;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String getFirstName()
- {
- return firstName;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setFirstName(String newFirstName)
- {
- final String oldFirstName = firstName;
- firstName = newFirstName;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.USER__FIRST_NAME, oldFirstName, firstName));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String getLastName()
- {
- return lastName;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setLastName(String newLastName)
- {
- final String oldLastName = lastName;
- lastName = newLastName;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.USER__LAST_NAME, oldLastName, lastName));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Gender getGender()
- {
- return gender;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setGender(Gender newGender)
- {
- final Gender oldGender = gender;
- gender = newGender == null ? GENDER_EDEFAULT : newGender;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.USER__GENDER, oldGender, gender));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public boolean isActive()
- {
- return active;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setActive(boolean newActive)
- {
- final boolean oldActive = active;
- active = newActive;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.USER__ACTIVE, oldActive, active));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Date getTimeOfRegistration()
- {
- return timeOfRegistration;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setTimeOfRegistration(Date newTimeOfRegistration)
- {
- final Date oldTimeOfRegistration = timeOfRegistration;
- timeOfRegistration = newTimeOfRegistration;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.USER__TIME_OF_REGISTRATION,
- oldTimeOfRegistration, timeOfRegistration));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public double getWeight()
- {
- return weight;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setWeight(double newWeight)
- {
- final double oldWeight = weight;
- weight = newWeight;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.USER__WEIGHT, oldWeight, weight));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public int getHeigth()
- {
- return heigth;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setHeigth(int newHeigth)
- {
- final int oldHeigth = heigth;
- heigth = newHeigth;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.USER__HEIGTH, oldHeigth, heigth));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Nationality getNationality()
- {
- return nationality;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setNationality(Nationality newNationality)
- {
- final Nationality oldNationality = nationality;
- nationality = newNationality == null ? NATIONALITY_EDEFAULT : newNationality;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.USER__NATIONALITY, oldNationality,
- nationality));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public XMLGregorianCalendar getDateOfBirth()
- {
- return dateOfBirth;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setDateOfBirth(XMLGregorianCalendar newDateOfBirth)
- {
- final XMLGregorianCalendar oldDateOfBirth = dateOfBirth;
- dateOfBirth = newDateOfBirth;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.USER__DATE_OF_BIRTH, oldDateOfBirth,
- dateOfBirth));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String getEmail()
- {
- return email;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void setEmail(String newEmail)
- {
- final String oldEmail = email;
- email = newEmail;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, TaskPackage.USER__EMAIL, oldEmail, email));
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public EList<Task> getTasks()
- {
- if (tasks == null)
- {
- tasks = new EObjectWithInverseResolvingEList<Task>(Task.class, this, TaskPackage.USER__TASKS,
- TaskPackage.TASK__ASSIGNEE);
- }
- return tasks;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
- {
- switch (featureID)
- {
- case TaskPackage.USER__TASKS:
- return ((InternalEList<InternalEObject>) (InternalEList<?>) getTasks()).basicAdd(otherEnd, msgs);
- }
- return super.eInverseAdd(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
- {
- switch (featureID)
- {
- case TaskPackage.USER__TASKS:
- return ((InternalEList<?>) getTasks()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case TaskPackage.USER__FIRST_NAME:
- return getFirstName();
- case TaskPackage.USER__LAST_NAME:
- return getLastName();
- case TaskPackage.USER__GENDER:
- return getGender();
- case TaskPackage.USER__ACTIVE:
- return isActive();
- case TaskPackage.USER__TIME_OF_REGISTRATION:
- return getTimeOfRegistration();
- case TaskPackage.USER__WEIGHT:
- return getWeight();
- case TaskPackage.USER__HEIGTH:
- return getHeigth();
- case TaskPackage.USER__NATIONALITY:
- return getNationality();
- case TaskPackage.USER__DATE_OF_BIRTH:
- return getDateOfBirth();
- case TaskPackage.USER__EMAIL:
- return getEmail();
- case TaskPackage.USER__TASKS:
- return getTasks();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case TaskPackage.USER__FIRST_NAME:
- setFirstName((String) newValue);
- return;
- case TaskPackage.USER__LAST_NAME:
- setLastName((String) newValue);
- return;
- case TaskPackage.USER__GENDER:
- setGender((Gender) newValue);
- return;
- case TaskPackage.USER__ACTIVE:
- setActive((Boolean) newValue);
- return;
- case TaskPackage.USER__TIME_OF_REGISTRATION:
- setTimeOfRegistration((Date) newValue);
- return;
- case TaskPackage.USER__WEIGHT:
- setWeight((Double) newValue);
- return;
- case TaskPackage.USER__HEIGTH:
- setHeigth((Integer) newValue);
- return;
- case TaskPackage.USER__NATIONALITY:
- setNationality((Nationality) newValue);
- return;
- case TaskPackage.USER__DATE_OF_BIRTH:
- setDateOfBirth((XMLGregorianCalendar) newValue);
- return;
- case TaskPackage.USER__EMAIL:
- setEmail((String) newValue);
- return;
- case TaskPackage.USER__TASKS:
- getTasks().clear();
- getTasks().addAll((Collection<? extends Task>) newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case TaskPackage.USER__FIRST_NAME:
- setFirstName(FIRST_NAME_EDEFAULT);
- return;
- case TaskPackage.USER__LAST_NAME:
- setLastName(LAST_NAME_EDEFAULT);
- return;
- case TaskPackage.USER__GENDER:
- setGender(GENDER_EDEFAULT);
- return;
- case TaskPackage.USER__ACTIVE:
- setActive(ACTIVE_EDEFAULT);
- return;
- case TaskPackage.USER__TIME_OF_REGISTRATION:
- setTimeOfRegistration(TIME_OF_REGISTRATION_EDEFAULT);
- return;
- case TaskPackage.USER__WEIGHT:
- setWeight(WEIGHT_EDEFAULT);
- return;
- case TaskPackage.USER__HEIGTH:
- setHeigth(HEIGTH_EDEFAULT);
- return;
- case TaskPackage.USER__NATIONALITY:
- setNationality(NATIONALITY_EDEFAULT);
- return;
- case TaskPackage.USER__DATE_OF_BIRTH:
- setDateOfBirth(DATE_OF_BIRTH_EDEFAULT);
- return;
- case TaskPackage.USER__EMAIL:
- setEmail(EMAIL_EDEFAULT);
- return;
- case TaskPackage.USER__TASKS:
- getTasks().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case TaskPackage.USER__FIRST_NAME:
- return FIRST_NAME_EDEFAULT == null ? firstName != null : !FIRST_NAME_EDEFAULT.equals(firstName);
- case TaskPackage.USER__LAST_NAME:
- return LAST_NAME_EDEFAULT == null ? lastName != null : !LAST_NAME_EDEFAULT.equals(lastName);
- case TaskPackage.USER__GENDER:
- return gender != GENDER_EDEFAULT;
- case TaskPackage.USER__ACTIVE:
- return active != ACTIVE_EDEFAULT;
- case TaskPackage.USER__TIME_OF_REGISTRATION:
- return TIME_OF_REGISTRATION_EDEFAULT == null ? timeOfRegistration != null : !TIME_OF_REGISTRATION_EDEFAULT
- .equals(timeOfRegistration);
- case TaskPackage.USER__WEIGHT:
- return weight != WEIGHT_EDEFAULT;
- case TaskPackage.USER__HEIGTH:
- return heigth != HEIGTH_EDEFAULT;
- case TaskPackage.USER__NATIONALITY:
- return nationality != NATIONALITY_EDEFAULT;
- case TaskPackage.USER__DATE_OF_BIRTH:
- return DATE_OF_BIRTH_EDEFAULT == null ? dateOfBirth != null : !DATE_OF_BIRTH_EDEFAULT.equals(dateOfBirth);
- case TaskPackage.USER__EMAIL:
- return EMAIL_EDEFAULT == null ? email != null : !EMAIL_EDEFAULT.equals(email);
- case TaskPackage.USER__TASKS:
- return tasks != null && !tasks.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public String toString()
- {
- if (eIsProxy()) {
- return super.toString();
- }
-
- final StringBuffer result = new StringBuffer(super.toString());
- result.append(" (firstName: "); //$NON-NLS-1$
- result.append(firstName);
- result.append(", lastName: "); //$NON-NLS-1$
- result.append(lastName);
- result.append(", gender: "); //$NON-NLS-1$
- result.append(gender);
- result.append(", active: "); //$NON-NLS-1$
- result.append(active);
- result.append(", timeOfRegistration: "); //$NON-NLS-1$
- result.append(timeOfRegistration);
- result.append(", weight: "); //$NON-NLS-1$
- result.append(weight);
- result.append(", heigth: "); //$NON-NLS-1$
- result.append(heigth);
- result.append(", nationality: "); //$NON-NLS-1$
- result.append(nationality);
- result.append(", dateOfBirth: "); //$NON-NLS-1$
- result.append(dateOfBirth);
- result.append(", email: "); //$NON-NLS-1$
- result.append(email);
- result.append(')');
- return result.toString();
- }
-
-} // UserImpl
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/util/TaskAdapterFactory.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/util/TaskAdapterFactory.java
deleted file mode 100644
index 60ad18c..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/util/TaskAdapterFactory.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecp.makeithappen.model.task.Task;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.makeithappen.model.task.User;
-import org.eclipse.emf.ecp.makeithappen.model.task.UserGroup;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage
- * @generated
- */
-public class TaskAdapterFactory extends AdapterFactoryImpl
-{
- /**
- * The cached model package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected static TaskPackage modelPackage;
-
- /**
- * Creates an instance of the adapter factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public TaskAdapterFactory()
- {
- if (modelPackage == null)
- {
- modelPackage = TaskPackage.eINSTANCE;
- }
- }
-
- /**
- * Returns whether this factory is applicable for the type of the object.
- * <!-- begin-user-doc -->
- * This implementation returns <code>true</code> if the object is either the model's package or is an instance
- * object of the model.
- * <!-- end-user-doc -->
- *
- * @return whether this factory is applicable for the type of the object.
- * @generated
- */
- @Override
- public boolean isFactoryForType(Object object)
- {
- if (object == modelPackage)
- {
- return true;
- }
- if (object instanceof EObject)
- {
- return ((EObject) object).eClass().getEPackage() == modelPackage;
- }
- return false;
- }
-
- /**
- * The switch that delegates to the <code>createXXX</code> methods.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected TaskSwitch<Adapter> modelSwitch =
- new TaskSwitch<Adapter>()
- {
- @Override
- public Adapter caseTask(Task object)
- {
- return createTaskAdapter();
- }
-
- @Override
- public Adapter caseUser(User object)
- {
- return createUserAdapter();
- }
-
- @Override
- public Adapter caseUserGroup(UserGroup object)
- {
- return createUserGroupAdapter();
- }
-
- @Override
- public Adapter defaultCase(EObject object)
- {
- return createEObjectAdapter();
- }
- };
-
- /**
- * Creates an adapter for the <code>target</code>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param target the object to adapt.
- * @return the adapter for the <code>target</code>.
- * @generated
- */
- @Override
- public Adapter createAdapter(Notifier target)
- {
- return modelSwitch.doSwitch((EObject) target);
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecp.makeithappen.model.task.Task
- * <em>Task</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- *
- * @return the new adapter.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.Task
- * @generated
- */
- public Adapter createTaskAdapter()
- {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecp.makeithappen.model.task.User
- * <em>User</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- *
- * @return the new adapter.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.User
- * @generated
- */
- public Adapter createUserAdapter()
- {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecp.makeithappen.model.task.UserGroup
- * <em>User Group</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- *
- * @return the new adapter.
- * @see org.eclipse.emf.ecp.makeithappen.model.task.UserGroup
- * @generated
- */
- public Adapter createUserGroupAdapter()
- {
- return null;
- }
-
- /**
- * Creates a new adapter for the default case.
- * <!-- begin-user-doc -->
- * This default implementation returns null.
- * <!-- end-user-doc -->
- *
- * @return the new adapter.
- * @generated
- */
- public Adapter createEObjectAdapter()
- {
- return null;
- }
-
-} // TaskAdapterFactory
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/util/TaskSwitch.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/util/TaskSwitch.java
deleted file mode 100644
index cdb4118..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/util/TaskSwitch.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task.util;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.util.Switch;
-import org.eclipse.emf.ecp.makeithappen.model.task.Task;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.makeithappen.model.task.User;
-import org.eclipse.emf.ecp.makeithappen.model.task.UserGroup;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each
- * class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage
- * @generated
- */
-public class TaskSwitch<T> extends Switch<T>
-{
- /**
- * The cached model package
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected static TaskPackage modelPackage;
-
- /**
- * Creates an instance of the switch.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public TaskSwitch()
- {
- if (modelPackage == null)
- {
- modelPackage = TaskPackage.eINSTANCE;
- }
- }
-
- /**
- * Checks whether this is a switch for the given package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @parameter ePackage the package in question.
- * @return whether this is a switch for the given package.
- * @generated
- */
- @Override
- protected boolean isSwitchFor(EPackage ePackage)
- {
- return ePackage == modelPackage;
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
- * result.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- @Override
- protected T doSwitch(int classifierID, EObject theEObject)
- {
- switch (classifierID)
- {
- case TaskPackage.TASK: {
- final Task task = (Task) theEObject;
- T result = caseTask(task);
- if (result == null) {
- result = defaultCase(theEObject);
- }
- return result;
- }
- case TaskPackage.USER: {
- final User user = (User) theEObject;
- T result = caseUser(user);
- if (result == null) {
- result = defaultCase(theEObject);
- }
- return result;
- }
- case TaskPackage.USER_GROUP: {
- final UserGroup userGroup = (UserGroup) theEObject;
- T result = caseUserGroup(userGroup);
- if (result == null) {
- result = defaultCase(theEObject);
- }
- return result;
- }
- default:
- return defaultCase(theEObject);
- }
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Task</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- *
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Task</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseTask(Task object)
- {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>User</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- *
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>User</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseUser(User object)
- {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>User Group</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- *
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>User Group</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseUserGroup(UserGroup object)
- {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch, but this is the last case anyway.
- * <!-- end-user-doc -->
- *
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject)
- * @generated
- */
- @Override
- public T defaultCase(EObject object)
- {
- return null;
- }
-
-} // TaskSwitch
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/util/TaskValidator.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/util/TaskValidator.java
deleted file mode 100644
index 8df9b35..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.model/src/org/eclipse/emf/ecp/makeithappen/model/task/util/TaskValidator.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.model.task.util;
-
-import java.util.Map;
-
-import javax.xml.datatype.XMLGregorianCalendar;
-
-import org.eclipse.emf.common.util.DiagnosticChain;
-import org.eclipse.emf.common.util.ResourceLocator;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.util.EObjectValidator;
-import org.eclipse.emf.ecore.xml.type.util.XMLTypeValidator;
-import org.eclipse.emf.ecp.makeithappen.model.task.Gender;
-import org.eclipse.emf.ecp.makeithappen.model.task.Nationality;
-import org.eclipse.emf.ecp.makeithappen.model.task.Task;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.makeithappen.model.task.User;
-import org.eclipse.emf.ecp.makeithappen.model.task.UserGroup;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Validator</b> for the model.
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage
- * @generated
- */
-public class TaskValidator extends EObjectValidator {
- /**
- * The cached model package
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public static final TaskValidator INSTANCE = new TaskValidator();
-
- /**
- * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic
- * {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.common.util.Diagnostic#getSource()
- * @see org.eclipse.emf.common.util.Diagnostic#getCode()
- * @generated
- */
- public static final String DIAGNOSTIC_SOURCE = "org.eclipse.emf.ecp.makeithappen.model.task"; //$NON-NLS-1$
-
- /**
- * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Has Name' of 'Task'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public static final int TASK__HAS_NAME = 1;
-
- /**
- * A constant with a fixed name that can be used as the base value for additional hand written constants.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 1;
-
- /**
- * A constant with a fixed name that can be used as the base value for additional hand written constants in a
- * derived class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;
-
- /**
- * The cached base package validator.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- protected XMLTypeValidator xmlTypeValidator;
-
- /**
- * Creates an instance of the switch.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public TaskValidator() {
- super();
- xmlTypeValidator = XMLTypeValidator.INSTANCE;
- }
-
- /**
- * Returns the package of this validator switch.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- protected EPackage getEPackage() {
- return TaskPackage.eINSTANCE;
- }
-
- /**
- * Calls <code>validateXXX</code> for the corresponding classifier of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, Map<Object, Object> context) {
- switch (classifierID)
- {
- case TaskPackage.TASK:
- return validateTask((Task) value, diagnostics, context);
- case TaskPackage.USER:
- return validateUser((User) value, diagnostics, context);
- case TaskPackage.USER_GROUP:
- return validateUserGroup((UserGroup) value, diagnostics, context);
- case TaskPackage.GENDER:
- return validateGender((Gender) value, diagnostics, context);
- case TaskPackage.NATIONALITY:
- return validateNationality((Nationality) value, diagnostics, context);
- case TaskPackage.DATE_OF_BIRTH:
- return validateDateOfBirth((XMLGregorianCalendar) value, diagnostics, context);
- default:
- return true;
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean validateTask(Task task, DiagnosticChain diagnostics, Map<Object, Object> context) {
- if (!validate_NoCircularContainment(task, diagnostics, context)) {
- return false;
- }
- boolean result = validate_EveryMultiplicityConforms(task, diagnostics, context);
- if (result || diagnostics != null) {
- result &= validate_EveryDataValueConforms(task, diagnostics, context);
- }
- if (result || diagnostics != null) {
- result &= validate_EveryReferenceIsContained(task, diagnostics, context);
- }
- if (result || diagnostics != null) {
- result &= validate_EveryBidirectionalReferenceIsPaired(task, diagnostics, context);
- }
- if (result || diagnostics != null) {
- result &= validate_EveryProxyResolves(task, diagnostics, context);
- }
- if (result || diagnostics != null) {
- result &= validate_UniqueID(task, diagnostics, context);
- }
- if (result || diagnostics != null) {
- result &= validate_EveryKeyUnique(task, diagnostics, context);
- }
- if (result || diagnostics != null) {
- result &= validate_EveryMapEntryUnique(task, diagnostics, context);
- }
- if (result || diagnostics != null) {
- result &= validateTask_hasName(task, diagnostics, context);
- }
- return result;
- }
-
- /**
- * Validates the hasName constraint of '<em>Task</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean validateTask_hasName(Task task, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return task.hasName(diagnostics, context);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean validateUser(User user, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return validate_EveryDefaultConstraint(user, diagnostics, context);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean validateUserGroup(UserGroup userGroup, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return validate_EveryDefaultConstraint(userGroup, diagnostics, context);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean validateGender(Gender gender, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return true;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean validateNationality(Nationality nationality, DiagnosticChain diagnostics, Map<Object, Object> context) {
- return true;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean validateDateOfBirth(XMLGregorianCalendar dateOfBirth, DiagnosticChain diagnostics,
- Map<Object, Object> context) {
- return true;
- }
-
- /**
- * Returns the resource locator that will be used to fetch messages for this validator's diagnostics.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator() {
- // TODO
- // Specialize this to return a resource locator for messages specific to this validator.
- // Ensure that you remove @generated or mark it @generated NOT
- return super.getResourceLocator();
- }
-
-} // TaskValidator
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.checkstyle b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.checkstyle
deleted file mode 100644
index dccf8af..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.checkstyle
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
- <local-check-config name="ESMCheckstyle" location="/org.eclipse.emf.ecp.makeithappen.model/checkstyle/esmCheckstyle.xml" type="project" description="">
- <additional-data name="protect-config-file" value="false"/>
- </local-check-config>
- <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyle" local="true">
- <file-match-pattern match-pattern=".java" include-pattern="true"/>
- </fileset>
-</fileset-config>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.classpath b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.classpath
deleted file mode 100644
index ad32c83..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.gitignore b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.gitignore
deleted file mode 100644
index e7bff1c..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/bin
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.project b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.project
deleted file mode 100644
index 9d51a64..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.ecp.makeithappen.view.email.renderer</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
- </natures>
-</projectDescription>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 7a7c95a..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-eclipse.preferences.version=1
-
-encoding//model/etypes.ecore=UTF-8
-
-
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.core.runtime.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index c522e1f..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 827ebc9..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,418 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=120
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.jdt.launching.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index dcf51f5..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 8553926..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,127 +0,0 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_functional_interfaces=false
-cleanup.convert_to_enhanced_for_loop=false
-cleanup.correct_indentation=false
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.insert_inferred_type_arguments=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=false
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=true
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_redundant_type_arguments=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=false
-cleanup.remove_unnecessary_nls_tags=false
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.use_anonymous_class_creation=false
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_lambda=true
-cleanup.use_parentheses_in_expressions=true
-cleanup.use_this_for_non_static_field_access=true
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=true
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup.use_type_arguments=false
-cleanup_profile=_esmCleanUp
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_esmFormatter
-formatter_settings_version=12
-org.eclipse.jdt.ui.exception.name=ex
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n //\r\n // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_functional_interfaces=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.insert_inferred_type_arguments=false
-sp_cleanup.make_local_variable_final=true
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_redundant_type_arguments=false
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=true
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_anonymous_class_creation=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_lambda=false
-sp_cleanup.use_parentheses_in_expressions=true
-sp_cleanup.use_this_for_non_static_field_access=true
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=true
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-sp_cleanup.use_type_arguments=false
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.ltk.core.refactoring.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index 270fde6..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Feb 04 09:44:24 CET 2010
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.pde.api.tools.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index ee972d9..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Ignore
-automatically_removed_unused_problem_filters=Disabled
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 3249d11..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=1
-compilers.p.missing-version-import-package=1
-compilers.p.missing-version-require-bundle=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/META-INF/MANIFEST.MF
deleted file mode 100644
index ad9cd22..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: EmailControl
-Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.view.email.renderer;singleton:=true
-Bundle-Version: 1.5.1.qualifier
-Bundle-Vendor: Eclipse Modeling Project
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)"
-Import-Package: org.eclipse.jface.layout;version="0.0.0",
- org.eclipse.swt;version="0.0.0",
- org.eclipse.swt.events;version="0.0.0",
- org.eclipse.swt.widgets;version="0.0.0"
-Export-Package: org.eclipse.emf.ecp.makeithappen.ui.emailcontrol;versi
- on="1.5.0"
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/build.properties b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/build.properties
deleted file mode 100644
index 6f20375..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/plugin.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/plugin.xml
deleted file mode 100644
index 03924a0..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.makeithappen.ui.emailcontrol.EmailControlRenderer">
- <dynamicTest
- testClass="org.eclipse.emf.ecp.makeithappen.ui.emailcontrol.EmailControlRendererTest">
- </dynamicTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlRenderer.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlRenderer.java
deleted file mode 100644
index 46b6993..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlRenderer.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.ui.emailcontrol;
-
-import java.awt.Desktop;
-import java.io.IOException;
-import java.net.URI;
-
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * A renderer to render an e-mail address.
- *
- * @author Lucas
- */
-public class EmailControlRenderer extends TextControlSWTRenderer {
-
- @Override
- protected Control createSWTControl(Composite parent, final Setting setting) {
- final Composite main = new Composite(parent, SWT.NONE);
- GridLayoutFactory.fillDefaults().numColumns(2).applyTo(main);
- GridDataFactory.fillDefaults().grab(true, false)
- .align(SWT.FILL, SWT.BEGINNING).applyTo(main);
- final Control control = super.createSWTControl(main, setting);
- final Button button = new Button(main, SWT.PUSH);
- button.setText("Send Mail"); //$NON-NLS-1$
- button.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- try {
- Desktop.getDesktop().mail(
- URI.create("mailto:" //$NON-NLS-1$
- + getModelValue(setting).getValue()));
- } catch (final IOException e1) {
- // ignore failure to open mailto
- }
- }
- });
- return control;
- }
-
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlRendererTest.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlRendererTest.java
deleted file mode 100644
index 3d8736a..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer/src/org/eclipse/emf/ecp/makeithappen/ui/emailcontrol/EmailControlRendererTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.ui.emailcontrol;
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.model.VControl;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-
-/**
- * The renderer tester for the email control renderer.
- *
- * @author Eclipse Modeling Project
- *
- */
-public class EmailControlRendererTest implements ECPRendererTester {
-
- /**
- * @param feature the structural feature.
- * @param vElement the VElement.
- * @param context the view model context.
- * @return whether the renderer is applicable for the feature.
- */
- public int isApplicableForFeature(EStructuralFeature feature, VElement vElement, ViewModelContext context) {
- if (feature.equals(TaskPackage.eINSTANCE.getUser_Email())) {
- return 10;
- }
- return NOT_APPLICABLE;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.model.common.ECPRendererTester#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
- * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
- */
- @Override
- public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
- if (!VControl.class.isInstance(vElement)) {
- return NOT_APPLICABLE;
- }
- final EStructuralFeature feature = VControl.class.cast(vElement).getDomainModelReference()
- .getEStructuralFeatureIterator().next();
- return isApplicableForFeature(feature, vElement, viewModelContext);
- }
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.checkstyle b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.checkstyle
deleted file mode 100644
index dccf8af..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.checkstyle
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
- <local-check-config name="ESMCheckstyle" location="/org.eclipse.emf.ecp.makeithappen.model/checkstyle/esmCheckstyle.xml" type="project" description="">
- <additional-data name="protect-config-file" value="false"/>
- </local-check-config>
- <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyle" local="true">
- <file-match-pattern match-pattern=".java" include-pattern="true"/>
- </fileset>
-</fileset-config>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.classpath b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.classpath
deleted file mode 100644
index 151bd81..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry exported="true" kind="lib" path="lib/org.eclipse.nebula.widgets.pgroup_1.0.0.201310241250.jar"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.project b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.project
deleted file mode 100644
index 4a60f5e..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.ecp.makeithappen.view.group.renderer</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
- </natures>
-</projectDescription>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index f548abb..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-eclipse.preferences.version=1
-
-encoding//model/etypes.ecore=UTF-8
-
-
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.core.runtime.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 057d96e..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,418 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=120
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.jdt.launching.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index 3bb2352..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 791508d..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,115 +0,0 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_to_enhanced_for_loop=false
-cleanup.correct_indentation=true
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=false
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=true
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=false
-cleanup.remove_unnecessary_nls_tags=false
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_parentheses_in_expressions=true
-cleanup.use_this_for_non_static_field_access=true
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=true
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup_profile=_esmCleanUp
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_esmFormatter
-formatter_settings_version=12
-org.eclipse.jdt.ui.exception.name=ex
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n //\r\n // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=true
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=true
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=false
-sp_cleanup.remove_unnecessary_nls_tags=true
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=true
-sp_cleanup.use_this_for_non_static_field_access=true
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=true
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.ltk.core.refactoring.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index 864e30f..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Feb 04 09:44:24 CET 2010
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.pde.api.tools.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index e4e3c00..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,97 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Warning
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Ignore
-automatically_removed_unused_problem_filters=Disabled
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 0bbee3c..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,32 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=1
-compilers.p.missing-version-export-package=1
-compilers.p.missing-version-import-package=1
-compilers.p.missing-version-require-bundle=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/META-INF/MANIFEST.MF
deleted file mode 100644
index 4e4d68c..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Expandbar Group Renderer
-Bundle-SymbolicName: org.eclipse.emf.ecp.makeithappen.view.group.renderer;singleton:=true
-Bundle-Version: 1.5.1.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.ecp.view.group.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)"
-Import-Package: org.eclipse.swt;version="0.0.0",
- org.eclipse.swt.events;version="0.0.0",
- org.eclipse.swt.graphics;version="0.0.0",
- org.eclipse.swt.internal;version="0.0.0",
- org.eclipse.swt.layout;version="0.0.0",
- org.eclipse.swt.widgets;version="0.0.0"
-Bundle-ClassPath: lib/org.eclipse.nebula.widgets.pgroup_1.0.0.201310241250.jar,
- .
-Export-Package: org.eclipse.emf.ecp.makeithappen.view.group.swt.pgroup;version="1.3.0",
- org.eclipse.nebula.widgets.pgroup;version="1.0.0",
- org.eclipse.nebula.widgets.pgroup.internal;version="1.0.0";x-internal:=true
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/build.properties b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/build.properties
deleted file mode 100644
index 75461ed..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- lib/org.eclipse.nebula.widgets.pgroup_1.0.0.201310241250.jar
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/lib/org.eclipse.nebula.widgets.pgroup_1.0.0.201310241250.jar b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/lib/org.eclipse.nebula.widgets.pgroup_1.0.0.201310241250.jar
deleted file mode 100644
index 5585b70..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/lib/org.eclipse.nebula.widgets.pgroup_1.0.0.201310241250.jar
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/plugin.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/plugin.xml
deleted file mode 100644
index 98c4798..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.emf.ecp.ui.view.swt.renderers">
- <renderer
- renderer="org.eclipse.emf.ecp.makeithappen.view.group.swt.pgroup.PGroupRenderer">
- <staticTest
- element="org.eclipse.emf.ecp.view.spi.group.model.VGroup"
- priority="10">
- </staticTest>
- </renderer>
- </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/src/org/eclipse/emf/ecp/makeithappen/view/group/swt/pgroup/PGroupRenderer.java b/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/src/org/eclipse/emf/ecp/makeithappen/view/group/swt/pgroup/PGroupRenderer.java
deleted file mode 100644
index c2f9598..0000000
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer/src/org/eclipse/emf/ecp/makeithappen/view/group/swt/pgroup/PGroupRenderer.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource Munich - initial API and implementation
- */
-package org.eclipse.emf.ecp.makeithappen.view.group.swt.pgroup;
-
-import java.util.Collection;
-
-import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.group.model.VGroup;
-import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
-import org.eclipse.nebula.widgets.pgroup.PGroup;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Renders a VGroup as Eclipse Nebula PGroup widget.
- *
- * @author EclipseSource Munich
- *
- */
-public class PGroupRenderer extends ContainerSWTRenderer<VGroup> {
-
- @Override
- protected Collection<VContainedElement> getChildren() {
- return getVElement().getChildren();
- }
-
- @Override
- protected String getCustomVariant() {
- return "PGroup"; //$NON-NLS-1$
- }
-
- @Override
- protected Composite getComposite(Composite parent) {
- parent.setBackgroundMode(SWT.INHERIT_FORCE);
- final PGroup group = new PGroup(parent, SWT.SMOOTH);
- if (getVElement().getName() != null) {
- group.setText(getVElement().getName());
- }
- return group;
- }
-
-}
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/pom.xml b/examples/org.eclipse.emf.ecp.makeithappen.wizards/pom.xml
index 74daade..2dddad9 100644
--- a/examples/org.eclipse.emf.ecp.makeithappen.wizards/pom.xml
+++ b/examples/org.eclipse.emf.ecp.makeithappen.wizards/pom.xml
@@ -1,19 +1,239 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.emf.ecp</groupId>
- <artifactId>ecp-examples-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
- <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
- </parent>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-examples-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.examples/</relativePath>
+ </parent>
- <artifactId>org.eclipse.emf.ecp.makeithappen.wizards</artifactId>
- <packaging>eclipse-plugin</packaging>
+ <artifactId>org.eclipse.emf.ecp.makeithappen.wizards</artifactId>
+ <packaging>eclipse-plugin</packaging>
- <groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <version>1.6.0-SNAPSHOT</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.6</version>
+ <executions>
+ <execution>
+ <id>copy-e3</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>./examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3</outputDirectory>
+ <resources>
+ <resource>
+ <directory>../org.eclipse.emf.ecp.makeithappen.application.sample.e3</directory>
+ <excludes>
+ <exclude>bin/</exclude>
+ <exclude>target/</exclude>
+ <exclude>**/pom.xml</exclude>
+ </excludes>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>copy-e4</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>./examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4</outputDirectory>
+ <resources>
+ <resource>
+ <directory>../org.eclipse.emf.ecp.makeithappen.application.sample.e4</directory>
+ <excludes>
+ <exclude>bin/</exclude>
+ <exclude>target/</exclude>
+ <exclude>**/pom.xml</exclude>
+ </excludes>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>copy-fx</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>./examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx</outputDirectory>
+ <resources>
+ <resource>
+ <directory>../org.eclipse.emf.ecp.makeithappen.application.sample.fx</directory>
+ <excludes>
+ <exclude>bin/</exclude>
+ <exclude>target/</exclude>
+ <exclude>**/pom.xml</exclude>
+ </excludes>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>copy-rap</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>./examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap</outputDirectory>
+ <resources>
+ <resource>
+ <directory>../org.eclipse.emf.ecp.makeithappen.application.sample.rap</directory>
+ <excludes>
+ <exclude>bin/</exclude>
+ <exclude>target/</exclude>
+ <exclude>**/pom.xml</exclude>
+ </excludes>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>copy-rapj2ee</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>./examples/org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee</outputDirectory>
+ <resources>
+ <resource>
+ <directory>../org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee</directory>
+ <excludes>
+ <exclude>bin/</exclude>
+ <exclude>target/</exclude>
+ <exclude>**/pom.xml</exclude>
+ </excludes>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>copy-model</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>./examples/org.eclipse.emf.ecp.makeithappen.model</outputDirectory>
+ <resources>
+ <resource>
+ <directory>../org.eclipse.emf.ecp.makeithappen.model</directory>
+ <excludes>
+ <exclude>bin/</exclude>
+ <exclude>target/</exclude>
+ <exclude>**/pom.xml</exclude>
+ </excludes>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>copy-modeledit</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>./examples/org.eclipse.emf.ecp.makeithappen.model.edit</outputDirectory>
+ <resources>
+ <resource>
+ <directory>../org.eclipse.emf.ecp.makeithappen.model.edit</directory>
+ <excludes>
+ <exclude>bin/</exclude>
+ <exclude>target/</exclude>
+ <exclude>**/pom.xml</exclude>
+ </excludes>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>copy-viewmodel</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>./examples/org.eclipse.emf.ecp.makeithappen.model.viewmodel</outputDirectory>
+ <resources>
+ <resource>
+ <directory>../org.eclipse.emf.ecp.makeithappen.model.viewmodel</directory>
+ <excludes>
+ <exclude>bin/</exclude>
+ <exclude>target/</exclude>
+ <exclude>**/pom.xml</exclude>
+ </excludes>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>copy-email</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>./examples/org.eclipse.emf.ecp.makeithappen.view.email.renderer</outputDirectory>
+ <resources>
+ <resource>
+ <directory>../org.eclipse.emf.ecp.makeithappen.view.email.renderer</directory>
+ <excludes>
+ <exclude>bin/</exclude>
+ <exclude>target/</exclude>
+ <exclude>**/pom.xml</exclude>
+ </excludes>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>copy-group</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>./examples/org.eclipse.emf.ecp.makeithappen.view.group.renderer</outputDirectory>
+ <resources>
+ <resource>
+ <directory>../org.eclipse.emf.ecp.makeithappen.view.group.renderer</directory>
+ <excludes>
+ <exclude>bin/</exclude>
+ <exclude>target/</exclude>
+ <exclude>**/pom.xml</exclude>
+ </excludes>
+ <!-- Setting filtering to true will cause maven to look at the jar file and replace stuff. The result is an invalid jar -->
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
</project>
diff --git a/features/javafx/org.eclipse.emf.ecp.application.e4.fx.feature/feature.xml b/features/javafx/org.eclipse.emf.ecp.application.e4.fx.feature/feature.xml
index dda7b01..b7ecc52 100644
--- a/features/javafx/org.eclipse.emf.ecp.application.e4.fx.feature/feature.xml
+++ b/features/javafx/org.eclipse.emf.ecp.application.e4.fx.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.emf.ecp.application.e4.fx.feature"
label="ECP e4 FX Demo Application Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project">
<description url="http://www.efxclipse.org">
diff --git a/features/javafx/org.eclipse.emf.ecp.application.e4.fx.feature/pom.xml b/features/javafx/org.eclipse.emf.ecp.application.e4.fx.feature/pom.xml
index d3ca327..fb129e8 100644
--- a/features/javafx/org.eclipse.emf.ecp.application.e4.fx.feature/pom.xml
+++ b/features/javafx/org.eclipse.emf.ecp.application.e4.fx.feature/pom.xml
@@ -10,8 +10,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
\ No newline at end of file
diff --git a/features/javafx/org.eclipse.emf.ecp.demo.e4.fx.feature/feature.xml b/features/javafx/org.eclipse.emf.ecp.demo.e4.fx.feature/feature.xml
index 6fc6c4f..38ae190 100644
--- a/features/javafx/org.eclipse.emf.ecp.demo.e4.fx.feature/feature.xml
+++ b/features/javafx/org.eclipse.emf.ecp.demo.e4.fx.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.emf.ecp.demo.e4.fx.feature"
label="EMF Forms FX Demo Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project">
<description url="http://www.example.com/description">
diff --git a/features/javafx/org.eclipse.emf.ecp.demo.e4.fx.feature/pom.xml b/features/javafx/org.eclipse.emf.ecp.demo.e4.fx.feature/pom.xml
index 98c96fe..15819ae 100644
--- a/features/javafx/org.eclipse.emf.ecp.demo.e4.fx.feature/pom.xml
+++ b/features/javafx/org.eclipse.emf.ecp.demo.e4.fx.feature/pom.xml
@@ -10,8 +10,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
\ No newline at end of file
diff --git a/features/javafx/org.eclipse.emf.ecp.target.e4.fx.feature/feature.xml b/features/javafx/org.eclipse.emf.ecp.target.e4.fx.feature/feature.xml
index 29e0aad..f046e67 100644
--- a/features/javafx/org.eclipse.emf.ecp.target.e4.fx.feature/feature.xml
+++ b/features/javafx/org.eclipse.emf.ecp.target.e4.fx.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.emf.ecp.target.e4.fx.feature"
label="EMF Forms FX Target Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project">
<description url="http://www.example.com/description">
diff --git a/features/javafx/org.eclipse.emf.ecp.target.e4.fx.feature/pom.xml b/features/javafx/org.eclipse.emf.ecp.target.e4.fx.feature/pom.xml
index 17527c2..87a9c3c 100644
--- a/features/javafx/org.eclipse.emf.ecp.target.e4.fx.feature/pom.xml
+++ b/features/javafx/org.eclipse.emf.ecp.target.e4.fx.feature/pom.xml
@@ -4,14 +4,14 @@
<name>ECP e4 FX Demo - target feature</name>
<groupId>org.eclipse.emf.ecp.fx</groupId>
<packaging>eclipse-feature</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<artifactId>org.eclipse.emf.ecp.target.e4.fx.feature</artifactId>
<parent>
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/features/javafx/org.eclipse.emf.ecp.view.sdk.fx.feature/feature.xml b/features/javafx/org.eclipse.emf.ecp.view.sdk.fx.feature/feature.xml
index 7a1ca9c..7ea8b6f 100644
--- a/features/javafx/org.eclipse.emf.ecp.view.sdk.fx.feature/feature.xml
+++ b/features/javafx/org.eclipse.emf.ecp.view.sdk.fx.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.emf.ecp.view.sdk.fx.feature"
label="EMF Forms FX SDK Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project">
<description url="http://www.example.com/description">
diff --git a/features/javafx/org.eclipse.emf.ecp.view.sdk.fx.feature/pom.xml b/features/javafx/org.eclipse.emf.ecp.view.sdk.fx.feature/pom.xml
index 7196096..64cba32 100644
--- a/features/javafx/org.eclipse.emf.ecp.view.sdk.fx.feature/pom.xml
+++ b/features/javafx/org.eclipse.emf.ecp.view.sdk.fx.feature/pom.xml
@@ -10,8 +10,8 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
\ No newline at end of file
diff --git a/features/org.eclipse.emf.ecp.cdo.feature/feature.xml b/features/org.eclipse.emf.ecp.cdo.feature/feature.xml
index 0921d1e..d1de439 100644
--- a/features/org.eclipse.emf.ecp.cdo.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.cdo.feature/feature.xml
@@ -12,12 +12,12 @@
<feature
id="org.eclipse.emf.ecp.cdo.feature"
label="ECP CDO Integration (Experimental)"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.cdo.core"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
Integration of the CDO model repository.
diff --git a/features/org.eclipse.emf.ecp.cdo.feature/pom.xml b/features/org.eclipse.emf.ecp.cdo.feature/pom.xml
index 7692781..6cf06dd 100644
--- a/features/org.eclipse.emf.ecp.cdo.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.cdo.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.cdo.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.changebroker.feature/feature.xml b/features/org.eclipse.emf.ecp.changebroker.feature/feature.xml
index ae14a69..358caf1 100644
--- a/features/org.eclipse.emf.ecp.changebroker.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.changebroker.feature/feature.xml
@@ -2,11 +2,11 @@
<feature
id="org.eclipse.emf.ecp.changebroker.feature"
label="ECP Change Broker Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.changebroker"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
Generic Observer Bus for EMF Notifications including an ECP/EMFStore-Bridge.
diff --git a/features/org.eclipse.emf.ecp.changebroker.feature/pom.xml b/features/org.eclipse.emf.ecp.changebroker.feature/pom.xml
index baa6f56..6547c8c 100644
--- a/features/org.eclipse.emf.ecp.changebroker.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.changebroker.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.changebroker.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.demo.e3.feature/feature.xml b/features/org.eclipse.emf.ecp.demo.e3.feature/feature.xml
index c2a21bf..471341a 100644
--- a/features/org.eclipse.emf.ecp.demo.e3.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.demo.e3.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.demo.e3.feature"
label="ECP e3 Demo Application"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.application.e3"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
@@ -42,10 +42,6 @@
version="0.0.0"/>
<includes
- id="org.eclipse.emf.ecp.view.template.helper.feature"
- version="0.0.0"/>
-
- <includes
id="org.eclipse.emf.ecp.view.model.controls.feature"
version="0.0.0"/>
@@ -60,4 +56,11 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.emf.ecp.ui.rcp"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/features/org.eclipse.emf.ecp.demo.e3.feature/pom.xml b/features/org.eclipse.emf.ecp.demo.e3.feature/pom.xml
index 4083e9e..0ef61c0 100644
--- a/features/org.eclipse.emf.ecp.demo.e3.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.demo.e3.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.demo.e3.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.demo.e4.feature/feature.xml b/features/org.eclipse.emf.ecp.demo.e4.feature/feature.xml
index 42baccd..e3b7bb6 100644
--- a/features/org.eclipse.emf.ecp.demo.e4.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.demo.e4.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.demo.e4.feature"
label="ECP e4 Demo Application"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.application.e4"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
@@ -36,4 +36,18 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.emf.ecp.application.e4.source"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.ecp.ui.rcp"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/features/org.eclipse.emf.ecp.demo.e4.feature/pom.xml b/features/org.eclipse.emf.ecp.demo.e4.feature/pom.xml
index dcaed66..380349d 100644
--- a/features/org.eclipse.emf.ecp.demo.e4.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.demo.e4.feature/pom.xml
@@ -5,12 +5,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.demo.e4.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<build>
@@ -31,6 +31,9 @@
<excludes>
<plugin id="org.eclipse.emf.ecp.application.e4"/>
</excludes>
+ <excludes>
+ <plugin id="org.eclipse.emf.ecp.application.e4.source"/>
+ </excludes>
</configuration>
</plugin>
</plugins>
diff --git a/features/org.eclipse.emf.ecp.diffmerge.feature/feature.xml b/features/org.eclipse.emf.ecp.diffmerge.feature/feature.xml
index 7dd72ba..ff1560a 100644
--- a/features/org.eclipse.emf.ecp.diffmerge.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.diffmerge.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.diffmerge.feature"
label="DiffMerge Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.diffmerge.context"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.diffmerge.feature/pom.xml b/features/org.eclipse.emf.ecp.diffmerge.feature/pom.xml
index d249cc0..6d99ce9 100644
--- a/features/org.eclipse.emf.ecp.diffmerge.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.diffmerge.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.diffmerge.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.e3.feature/feature.xml b/features/org.eclipse.emf.ecp.e3.feature/feature.xml
index 5bcda97..ae0891b 100644
--- a/features/org.eclipse.emf.ecp.e3.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.e3.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.e3.feature"
label="ECP 3.x UI Integration"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.ui.e3"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
Integration of the EMF Client Platform UI into the Eclipse 3.x workbench, including views and perspectives.
diff --git a/features/org.eclipse.emf.ecp.e3.feature/pom.xml b/features/org.eclipse.emf.ecp.e3.feature/pom.xml
index f9d3632..8ef8d43 100644
--- a/features/org.eclipse.emf.ecp.e3.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.e3.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.e3.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.e4.feature/feature.xml b/features/org.eclipse.emf.ecp.e4.feature/feature.xml
index 68a5a0c..3f76e0e 100644
--- a/features/org.eclipse.emf.ecp.e4.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.e4.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.e4.feature"
label="ECP e4 UI Integration"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.ui.e4"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.e4.feature/pom.xml b/features/org.eclipse.emf.ecp.e4.feature/pom.xml
index 78b6803..0839a50 100644
--- a/features/org.eclipse.emf.ecp.e4.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.e4.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.e4.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.ecore.editor.feature/feature.xml b/features/org.eclipse.emf.ecp.ecore.editor.feature/feature.xml
index 0ffbb7f..79b8638 100644
--- a/features/org.eclipse.emf.ecp.ecore.editor.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.ecore.editor.feature/feature.xml
@@ -2,11 +2,11 @@
<feature
id="org.eclipse.emf.ecp.ecore.editor.feature"
label="Ecore Editor Wizard Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.ecore.editor.ui"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.ecore.editor.feature/pom.xml b/features/org.eclipse.emf.ecp.ecore.editor.feature/pom.xml
index 89fd95a..ec22bf5 100644
--- a/features/org.eclipse.emf.ecp.ecore.editor.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.ecore.editor.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ecore.editor.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.ecore.feature/feature.xml b/features/org.eclipse.emf.ecp.ecore.feature/feature.xml
index f7ab225..5b71cad 100644
--- a/features/org.eclipse.emf.ecp.ecore.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.ecore.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.ecore.feature"
label="EMF Forms Ecore Model Controls"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.edit.ecore.swt"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.ecore.feature/pom.xml b/features/org.eclipse.emf.ecp.ecore.feature/pom.xml
index 8c91d0d..a90d600 100644
--- a/features/org.eclipse.emf.ecp.ecore.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.ecore.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ecore.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/feature.xml b/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/feature.xml
index 476c838..6549066 100644
--- a/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/feature.xml
@@ -2,10 +2,10 @@
<feature
id="org.eclipse.emf.ecp.emfforms.idetooling.feature"
label="EMF Forms IDE Tooling"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/pom.xml b/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/pom.xml
index e9bbbcc..39cea5a 100644
--- a/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.emfforms.idetooling.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.emfforms.idetooling.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.emfforms.runtime.feature/feature.xml b/features/org.eclipse.emf.ecp.emfforms.runtime.feature/feature.xml
index d3e1670..753d24b 100644
--- a/features/org.eclipse.emf.ecp.emfforms.runtime.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.emfforms.runtime.feature/feature.xml
@@ -2,10 +2,10 @@
<feature
id="org.eclipse.emf.ecp.emfforms.runtime.feature"
label="EMF Forms Runtime"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.emfforms.runtime.feature/pom.xml b/features/org.eclipse.emf.ecp.emfforms.runtime.feature/pom.xml
index 95350d0..7688b9e 100644
--- a/features/org.eclipse.emf.ecp.emfforms.runtime.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.emfforms.runtime.feature/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.emfforms.runtime.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.emfforms.sdk.feature/feature.xml b/features/org.eclipse.emf.ecp.emfforms.sdk.feature/feature.xml
index 6fa21d8..369e1f2 100644
--- a/features/org.eclipse.emf.ecp.emfforms.sdk.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.emfforms.sdk.feature/feature.xml
@@ -2,10 +2,10 @@
<feature
id="org.eclipse.emf.ecp.emfforms.sdk.feature"
label="EMF Forms SDK"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
@@ -60,10 +60,6 @@
version="0.0.0"/>
<includes
- id="org.eclipse.emf.ecp.view.template.helper.feature"
- version="0.0.0"/>
-
- <includes
id="org.eclipse.emf.ecp.workspace.feature"
version="0.0.0"/>
@@ -103,9 +99,6 @@
id="org.eclipse.emf.ecp.view.model.editor.feature.source"
version="0.0.0"/>
- <includes
- id="org.eclipse.emf.ecp.view.template.helper.feature.source"
- version="0.0.0"/>
<includes
id="org.eclipse.emf.ecp.workspace.feature.source"
diff --git a/features/org.eclipse.emf.ecp.emfforms.sdk.feature/pom.xml b/features/org.eclipse.emf.ecp.emfforms.sdk.feature/pom.xml
index 548ea4f..08091cf 100644
--- a/features/org.eclipse.emf.ecp.emfforms.sdk.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.emfforms.sdk.feature/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.emfforms.sdk.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<build>
diff --git a/features/org.eclipse.emf.ecp.emfstore.feature/feature.xml b/features/org.eclipse.emf.ecp.emfstore.feature/feature.xml
index ab47455..9555d90 100644
--- a/features/org.eclipse.emf.ecp.emfstore.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.emfstore.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.emfstore.feature"
label="ECP EMFStore Integration"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.emfstore.core"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.emfstore.feature/pom.xml b/features/org.eclipse.emf.ecp.emfstore.feature/pom.xml
index ecb6be5..d26ba8f 100644
--- a/features/org.eclipse.emf.ecp.emfstore.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.emfstore.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.examplemodel.ui.feature/feature.xml b/features/org.eclipse.emf.ecp.examplemodel.ui.feature/feature.xml
index 2ff0e4d..a35455d 100644
--- a/features/org.eclipse.emf.ecp.examplemodel.ui.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.examplemodel.ui.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.examplemodel.ui.feature"
label="Example Model UI Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.examplemodel.ui"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.examplemodel.ui.feature/pom.xml b/features/org.eclipse.emf.ecp.examplemodel.ui.feature/pom.xml
index 824153e..ef14e74 100644
--- a/features/org.eclipse.emf.ecp.examplemodel.ui.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.examplemodel.ui.feature/pom.xml
@@ -5,12 +5,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.examplemodel.ui.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<build>
diff --git a/features/org.eclipse.emf.ecp.feature/feature.xml b/features/org.eclipse.emf.ecp.feature/feature.xml
index 1fbcc1b..7abfc1d 100644
--- a/features/org.eclipse.emf.ecp.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.feature/feature.xml
@@ -12,12 +12,12 @@
<feature
id="org.eclipse.emf.ecp.feature"
label="ECP Core"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.core"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
The core platform containing the model workspace, the navigator, the editor and the repository browser.
diff --git a/features/org.eclipse.emf.ecp.feature/pom.xml b/features/org.eclipse.emf.ecp.feature/pom.xml
index 061c530..c013e29 100644
--- a/features/org.eclipse.emf.ecp.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.graphiti.feature/pom.xml b/features/org.eclipse.emf.ecp.graphiti.feature/pom.xml
index 921c439..cd8761c 100644
--- a/features/org.eclipse.emf.ecp.graphiti.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.graphiti.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.graphiti.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.license.feature/feature.xml b/features/org.eclipse.emf.ecp.license.feature/feature.xml
index 96aa377..f8c6e571 100644
--- a/features/org.eclipse.emf.ecp.license.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.license.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.emf.ecp.license.feature"
label="EMF Client Platform License"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
image="eclipse_update_120.jpg">
diff --git a/features/org.eclipse.emf.ecp.license.feature/pom.xml b/features/org.eclipse.emf.ecp.license.feature/pom.xml
index b79098f..44fd586 100644
--- a/features/org.eclipse.emf.ecp.license.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.license.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.license.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.rap.feature/feature.xml b/features/org.eclipse.emf.ecp.rap.feature/feature.xml
index 44dd718..1039b45 100644
--- a/features/org.eclipse.emf.ecp.rap.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.rap.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.rap.feature"
label="ECP RAP Demo Application (Experimental)"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.rap"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.rap.feature/pom.xml b/features/org.eclipse.emf.ecp.rap.feature/pom.xml
index e926b9b..d0ebe1e 100644
--- a/features/org.eclipse.emf.ecp.rap.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.rap.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.rap.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.rap.sdk.feature/feature.xml b/features/org.eclipse.emf.ecp.rap.sdk.feature/feature.xml
index c39325d..0ea39f8 100644
--- a/features/org.eclipse.emf.ecp.rap.sdk.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.rap.sdk.feature/feature.xml
@@ -2,10 +2,10 @@
<feature
id="org.eclipse.emf.ecp.rap.sdk.feature"
label="ECP RAP SDK (Experimental)"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
@@ -48,10 +48,6 @@
version="0.0.0"/>
<includes
- id="org.eclipse.emf.ecp.view.template.helper.feature.source"
- version="0.0.0"/>
-
- <includes
id="org.eclipse.emf.ecp.emfstore.feature"
version="0.0.0"/>
@@ -83,8 +79,4 @@
id="org.eclipse.emf.ecp.rap.util.feature"
version="0.0.0"/>
- <includes
- id="org.eclipse.emf.ecp.view.template.helper.feature"
- version="0.0.0"/>
-
</feature>
diff --git a/features/org.eclipse.emf.ecp.rap.sdk.feature/pom.xml b/features/org.eclipse.emf.ecp.rap.sdk.feature/pom.xml
index 27d6943..f522a1a 100644
--- a/features/org.eclipse.emf.ecp.rap.sdk.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.rap.sdk.feature/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.rap.sdk.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<build>
diff --git a/features/org.eclipse.emf.ecp.rap.util.feature/feature.xml b/features/org.eclipse.emf.ecp.rap.util.feature/feature.xml
index 494eb48..f789cb6 100644
--- a/features/org.eclipse.emf.ecp.rap.util.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.rap.util.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.rap.util.feature"
label="ECP RAP UI Integration"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.rap.util"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
@@ -58,4 +58,25 @@
fragment="true"
unpack="false"/>
+ <plugin
+ id="org.eclipse.emf.ecp.core.rap"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.ecp.core.rap.sessionprovider.rwt"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.ecp.emfstore.core.rap"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/features/org.eclipse.emf.ecp.rap.util.feature/pom.xml b/features/org.eclipse.emf.ecp.rap.util.feature/pom.xml
index ddcdff8..ad5fd88 100644
--- a/features/org.eclipse.emf.ecp.rap.util.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.rap.util.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.rap.util.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.sdk.e4.feature/feature.xml b/features/org.eclipse.emf.ecp.sdk.e4.feature/feature.xml
index 6f7c5d6..20b7a14 100644
--- a/features/org.eclipse.emf.ecp.sdk.e4.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.sdk.e4.feature/feature.xml
@@ -2,10 +2,10 @@
<feature
id="org.eclipse.emf.ecp.sdk.e4.feature"
label="ECP SDK e4 (Target Feature)"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
@@ -52,10 +52,6 @@
version="0.0.0"/>
<includes
- id="org.eclipse.emf.ecp.view.template.helper.feature.source"
- version="0.0.0"/>
-
- <includes
id="org.eclipse.emf.ecp.cdo.feature"
version="0.0.0"/>
@@ -92,10 +88,6 @@
version="0.0.0"/>
<includes
- id="org.eclipse.emf.ecp.view.template.helper.feature"
- version="0.0.0"/>
-
- <includes
id="org.eclipse.emf.ecp.view.model.controls.feature"
version="0.0.0"/>
diff --git a/features/org.eclipse.emf.ecp.sdk.e4.feature/pom.xml b/features/org.eclipse.emf.ecp.sdk.e4.feature/pom.xml
index a250154..dc3b2a4 100644
--- a/features/org.eclipse.emf.ecp.sdk.e4.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.sdk.e4.feature/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.sdk.e4.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<build>
diff --git a/features/org.eclipse.emf.ecp.sdk.feature/feature.xml b/features/org.eclipse.emf.ecp.sdk.feature/feature.xml
index 4f02748..85b2e5a 100644
--- a/features/org.eclipse.emf.ecp.sdk.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.sdk.feature/feature.xml
@@ -2,10 +2,10 @@
<feature
id="org.eclipse.emf.ecp.sdk.feature"
label="ECP SDK 3.x"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
@@ -23,4 +23,8 @@
id="org.eclipse.emf.ecp.emfforms.sdk.feature"
version="0.0.0"/>
+ <includes
+ id="org.eclipse.emf.ecp.sdk.e4.feature"
+ version="0.0.0"/>
+
</feature>
diff --git a/features/org.eclipse.emf.ecp.sdk.feature/pom.xml b/features/org.eclipse.emf.ecp.sdk.feature/pom.xml
index 1bcb4af..4852dcc 100644
--- a/features/org.eclipse.emf.ecp.sdk.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.sdk.feature/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.sdk.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<build>
diff --git a/features/org.eclipse.emf.ecp.target.feature/feature.xml b/features/org.eclipse.emf.ecp.target.feature/feature.xml
index d635497..1c82042 100644
--- a/features/org.eclipse.emf.ecp.target.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.target.feature/feature.xml
@@ -2,10 +2,10 @@
<feature
id="org.eclipse.emf.ecp.target.feature"
label="ECP Target Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
The target platform feature for the EMF Client Platform, for developer use only.
diff --git a/features/org.eclipse.emf.ecp.target.feature/pom.xml b/features/org.eclipse.emf.ecp.target.feature/pom.xml
index 627625b..b78e369 100644
--- a/features/org.eclipse.emf.ecp.target.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.target.feature/pom.xml
@@ -5,12 +5,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<build>
diff --git a/features/org.eclipse.emf.ecp.test.feature/feature.xml b/features/org.eclipse.emf.ecp.test.feature/feature.xml
index 1c37f3b..a7c6418 100644
--- a/features/org.eclipse.emf.ecp.test.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.test.feature/feature.xml
@@ -113,20 +113,6 @@
unpack="false"/>
<plugin
- id="org.eclipse.emf.ecp.view.group.ui.swt.test"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.emf.ecp.view.horizontal.ui.swt.test"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
id="org.eclipse.emf.ecp.view.model.edit.test"
download-size="0"
install-size="0"
@@ -215,13 +201,6 @@
unpack="false"/>
<plugin
- id="org.eclipse.emf.ecp.view.vertical.ui.swt.test"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
id="org.eclipse.emf.ecp.integrationtest"
download-size="0"
install-size="0"
@@ -268,4 +247,28 @@
fragment="true"
unpack="false"/>
+ <plugin
+ id="org.eclipse.emf.ecp.view.group.ui.swt.test"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ fragment="true"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.ecp.view.horizontal.ui.swt.test"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ fragment="true"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emf.ecp.view.vertical.ui.swt.test"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ fragment="true"
+ unpack="false"/>
+
</feature>
diff --git a/features/org.eclipse.emf.ecp.transaction.feature/feature.xml b/features/org.eclipse.emf.ecp.transaction.feature/feature.xml
index 462f7b8..937bc4f 100644
--- a/features/org.eclipse.emf.ecp.transaction.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.transaction.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.transaction.feature"
label="ECP Transactional Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.ui.transaction"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.transaction.feature/pom.xml b/features/org.eclipse.emf.ecp.transaction.feature/pom.xml
index dd59aa9..cc03424 100644
--- a/features/org.eclipse.emf.ecp.transaction.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.transaction.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.transaction.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.validation.view.feature/feature.xml b/features/org.eclipse.emf.ecp.validation.view.feature/feature.xml
index 1b58b13..ea4f470 100644
--- a/features/org.eclipse.emf.ecp.validation.view.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.validation.view.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.validation.view.feature"
label="ECP Validation View (Highly Experimental)"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.ui.validation"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.validation.view.feature/pom.xml b/features/org.eclipse.emf.ecp.validation.view.feature/pom.xml
index 0fef021..46baa3a 100644
--- a/features/org.eclipse.emf.ecp.validation.view.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.validation.view.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.validation.view.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.categorization.feature/feature.xml b/features/org.eclipse.emf.ecp.view.categorization.feature/feature.xml
index abcb56f..e7bdf6d 100644
--- a/features/org.eclipse.emf.ecp.view.categorization.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.categorization.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.categorization.feature"
label="EMF Forms Categorization Model"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.view.categorization.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.categorization.feature/pom.xml b/features/org.eclipse.emf.ecp.view.categorization.feature/pom.xml
index 0b97f32..17c9e09 100644
--- a/features/org.eclipse.emf.ecp.view.categorization.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.categorization.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.categorization.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/feature.xml b/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/feature.xml
index 4ae12a7..8cf765a 100644
--- a/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/feature.xml
@@ -2,11 +2,11 @@
<feature
id="org.eclipse.emf.ecp.view.compoundcontrol.feature"
label="EMF Forms Compound Control Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.compoundcontrol.model"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/pom.xml b/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/pom.xml
index 50dae73..d250816 100644
--- a/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.compoundcontrol.feature/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
diff --git a/features/org.eclipse.emf.ecp.view.custom.feature/feature.xml b/features/org.eclipse.emf.ecp.view.custom.feature/feature.xml
index ad6c234..194ed32 100644
--- a/features/org.eclipse.emf.ecp.view.custom.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.custom.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.custom.feature"
label="EMF Forms Custom Control Model"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.view.custom.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.custom.feature/pom.xml b/features/org.eclipse.emf.ecp.view.custom.feature/pom.xml
index 1f148db..5858e8a 100644
--- a/features/org.eclipse.emf.ecp.view.custom.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.custom.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.custom.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.di.feature/feature.xml b/features/org.eclipse.emf.ecp.view.di.feature/feature.xml
index 78e8db4..98b0afa 100644
--- a/features/org.eclipse.emf.ecp.view.di.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.di.feature/feature.xml
@@ -2,11 +2,11 @@
<feature
id="org.eclipse.emf.ecp.view.di.feature"
label="EMFForms Dependency Injection Feature (Experimental)"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.model.common.di"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.di.feature/pom.xml b/features/org.eclipse.emf.ecp.view.di.feature/pom.xml
index bbf0491..4109397 100644
--- a/features/org.eclipse.emf.ecp.view.di.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.di.feature/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
diff --git a/features/org.eclipse.emf.ecp.view.edapt.feature/feature.xml b/features/org.eclipse.emf.ecp.view.edapt.feature/feature.xml
index ee4431e..531fa61 100644
--- a/features/org.eclipse.emf.ecp.view.edapt.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.edapt.feature/feature.xml
@@ -2,11 +2,11 @@
<feature
id="org.eclipse.emf.ecp.view.edapt.feature"
label="EMF Forms IDE Tooling Edapt View Model Migration Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.edapt"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
@@ -24,6 +24,10 @@
id="org.eclipse.emf.edapt.runtime.feature"
version="0.0.0"/>
+ <includes
+ id="org.eclipse.emf.edapt.runtime.feature.source"
+ version="0.0.0"/>
+
<plugin
id="org.eclipse.emf.ecp.view.edapt"
download-size="0"
diff --git a/features/org.eclipse.emf.ecp.view.edapt.feature/pom.xml b/features/org.eclipse.emf.ecp.view.edapt.feature/pom.xml
index ba98744..845ab90 100644
--- a/features/org.eclipse.emf.ecp.view.edapt.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.edapt.feature/pom.xml
@@ -5,12 +5,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.edapt.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<build>
@@ -30,6 +30,7 @@
<configuration>
<excludes>
<feature id="org.eclipse.emf.edapt.runtime.feature"/>
+ <feature id="org.eclipse.emf.edapt.runtime.feature.source"/>
</excludes>
</configuration>
</plugin>
diff --git a/features/org.eclipse.emf.ecp.view.group.feature/feature.xml b/features/org.eclipse.emf.ecp.view.group.feature/feature.xml
index b166385..0489b93 100644
--- a/features/org.eclipse.emf.ecp.view.group.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.group.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.group.feature"
label="EMF Forms Group Model"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.view.group.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.group.feature/pom.xml b/features/org.eclipse.emf.ecp.view.group.feature/pom.xml
index 14c89f0..3fc5672 100644
--- a/features/org.eclipse.emf.ecp.view.group.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.group.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.group.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/.project b/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/.project
new file mode 100644
index 0000000..7e79c86
--- /dev/null
+++ b/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/features/org.eclipse.emf.ecp.view.template.helper.feature/build.properties b/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/build.properties
similarity index 100%
rename from features/org.eclipse.emf.ecp.view.template.helper.feature/build.properties
rename to features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/build.properties
diff --git a/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/feature.properties b/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/feature.properties
new file mode 100644
index 0000000..10082a7
--- /dev/null
+++ b/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/feature.properties
@@ -0,0 +1,7 @@
+# Copyright (c) 2011-2015 EclipseSource Munich GmbH and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+
+description = This feature contains a renderer for a collapsible group using the PGroup widget from the Nebula project.
diff --git a/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/feature.xml b/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/feature.xml
new file mode 100644
index 0000000..54c7b69
--- /dev/null
+++ b/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/feature.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature"
+ label="EMFForms Collapsible Group Renderer using Nebula PGroup"
+ version="1.6.0.qualifier"
+ provider-name="Eclipse Modeling Project"
+ plugin="org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup"
+ license-feature="org.eclipse.emf.ecp.license.feature"
+ license-feature-version="1.6.0.qualifier">
+
+ <description>
+ %description
+ </description>
+
+ <copyright url="%copyrightURL">
+ %copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ %license
+ </license>
+
+ <plugin
+ id="org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/pom.xml b/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/pom.xml
new file mode 100644
index 0000000..fc09f81
--- /dev/null
+++ b/features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-features-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-feature</packaging>
+</project>
diff --git a/features/org.eclipse.emf.ecp.view.groupedgrid.feature/feature.xml b/features/org.eclipse.emf.ecp.view.groupedgrid.feature/feature.xml
index 81567c0..3fd7e97 100644
--- a/features/org.eclipse.emf.ecp.view.groupedgrid.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.groupedgrid.feature/feature.xml
@@ -2,11 +2,11 @@
<feature
id="org.eclipse.emf.ecp.view.groupedgrid.feature"
label="EMF Forms Grouped Grid Model"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.groupedgrid.model"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.groupedgrid.feature/pom.xml b/features/org.eclipse.emf.ecp.view.groupedgrid.feature/pom.xml
index f2ac06a..c078167 100644
--- a/features/org.eclipse.emf.ecp.view.groupedgrid.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.groupedgrid.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.groupedgrid.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.horizontal.feature/feature.xml b/features/org.eclipse.emf.ecp.view.horizontal.feature/feature.xml
index 109b546..ee12973 100644
--- a/features/org.eclipse.emf.ecp.view.horizontal.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.horizontal.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.horizontal.feature"
label="EMF Forms Horizontal Model"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.horizontal.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.horizontal.feature/pom.xml b/features/org.eclipse.emf.ecp.view.horizontal.feature/pom.xml
index 06e47be..861536a 100644
--- a/features/org.eclipse.emf.ecp.view.horizontal.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.horizontal.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.horizontal.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.indexdmr.feature/feature.xml b/features/org.eclipse.emf.ecp.view.indexdmr.feature/feature.xml
index 4c6322a..7a07fc3 100644
--- a/features/org.eclipse.emf.ecp.view.indexdmr.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.indexdmr.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.indexdmr.feature"
label="EMFForms Index DMR Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.view.indexdmr.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
@@ -43,7 +43,7 @@
unpack="false"/>
<plugin
- id="org.eclipse.emf.ecp.view.indexdmr.databinding"
+ id="org.eclipse.emfforms.core.services.databinding.index"
download-size="0"
install-size="0"
version="0.0.0"
diff --git a/features/org.eclipse.emf.ecp.view.indexdmr.feature/pom.xml b/features/org.eclipse.emf.ecp.view.indexdmr.feature/pom.xml
index 75f78f3..e874ecc 100644
--- a/features/org.eclipse.emf.ecp.view.indexdmr.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.indexdmr.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.indexdmr.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/feature.xml b/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/feature.xml
index 00aaf06..6a4e863 100644
--- a/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.keyattributedmr.feature"
label="Key Attribute DMR Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.view.keyattributedmr.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/pom.xml b/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/pom.xml
index 2eca4f2..f0b19c6 100644
--- a/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.keyattributedmr.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.keyattributedmr.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.label.feature/feature.xml b/features/org.eclipse.emf.ecp.view.label.feature/feature.xml
index 4a68776..a680cd3 100644
--- a/features/org.eclipse.emf.ecp.view.label.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.label.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.label.feature"
label="EMF Forms Label Model"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.label.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.label.feature/pom.xml b/features/org.eclipse.emf.ecp.view.label.feature/pom.xml
index f30ec76..2ebca3c 100644
--- a/features/org.eclipse.emf.ecp.view.label.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.label.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.label.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.mappingdmr.feature/feature.xml b/features/org.eclipse.emf.ecp.view.mappingdmr.feature/feature.xml
index 8790a09..6d9176b 100644
--- a/features/org.eclipse.emf.ecp.view.mappingdmr.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.mappingdmr.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.mappingdmr.feature"
label="Mapping DMR Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.view.mappingdmr.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
@@ -22,13 +22,6 @@
</license>
<plugin
- id="org.eclipse.emf.ecp.view.mappingdmr.databinding"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
id="org.eclipse.emf.ecp.view.mappingdmr.model"
download-size="0"
install-size="0"
@@ -49,4 +42,11 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.emfforms.core.services.databinding.mapping"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/features/org.eclipse.emf.ecp.view.mappingdmr.feature/pom.xml b/features/org.eclipse.emf.ecp.view.mappingdmr.feature/pom.xml
index 82e465f..f122904 100644
--- a/features/org.eclipse.emf.ecp.view.mappingdmr.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.mappingdmr.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.mappingdmr.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.model.controls.feature/feature.xml b/features/org.eclipse.emf.ecp.view.model.controls.feature/feature.xml
index d114da7..fbc75d9 100644
--- a/features/org.eclipse.emf.ecp.view.model.controls.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.model.controls.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.model.controls.feature"
label="EMF Forms View Model Controls"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.ui.view.editor.controls"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.model.controls.feature/pom.xml b/features/org.eclipse.emf.ecp.view.model.controls.feature/pom.xml
index 5484611..da0f650 100644
--- a/features/org.eclipse.emf.ecp.view.model.controls.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.model.controls.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.model.controls.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.model.editor.feature/feature.xml b/features/org.eclipse.emf.ecp.view.model.editor.feature/feature.xml
index f7425e0..ef3ee44 100644
--- a/features/org.eclipse.emf.ecp.view.model.editor.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.model.editor.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.model.editor.feature"
label="EMF Forms View Model Wizard"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.view.model.editor"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.model.editor.feature/pom.xml b/features/org.eclipse.emf.ecp.view.model.editor.feature/pom.xml
index 9e59938..1a1b82a 100644
--- a/features/org.eclipse.emf.ecp.view.model.editor.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.model.editor.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.model.editor.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.model.feature/ECP IDE Tooling.launch b/features/org.eclipse.emf.ecp.view.model.feature/ECP IDE Tooling.launch
index b3dad84..8a80358 100644
--- a/features/org.eclipse.emf.ecp.view.model.feature/ECP IDE Tooling.launch
+++ b/features/org.eclipse.emf.ecp.view.model.feature/ECP IDE Tooling.launch
@@ -65,7 +65,7 @@
<setEntry value="org.eclipse.rcp:default"/>
</setAttribute>
<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,lpg.runtime.java@default:default,org.apache.ant@default:default,org.apache.batik.css*1.6.0.v201011041432@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.dom@default:default,org.apache.batik.ext.awt@default:default,org.apache.batik.svggen@default:default,org.apache.batik.util*1.6.0.v201011041432@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.6.0.v201011041432@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.batik.xml@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.apache.lucene.analysis@default:default,org.apache.lucene.core@default:default,org.eclipse.ant.core@default:default,org.eclipse.ant.launching@default:default,org.eclipse.ant.ui@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86_64@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.debug.core@default:default,org.eclipse.debug.ui@default:default,org.eclipse.draw2d@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.codegen.ecore.ui@default:default,org.eclipse.emf.codegen.ecore@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.converter@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.editor@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edapt.common@default:default,org.eclipse.emf.edapt.declaration@default:default,org.eclipse.emf.edapt.history@default:default,org.eclipse.emf.edapt.migration@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client.model.edit@default:default,org.eclipse.emf.emfstore.client.ui@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model.edit@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.ecore@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model.edit@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.emf.importer.ecore@default:default,org.eclipse.emf.importer@default:default,org.eclipse.emf.transaction@default:default,org.eclipse.emf.validation@default:default,org.eclipse.emf.workspace@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.equinox.p2.publisher.eclipse@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.gef@default:default,org.eclipse.help.base@default:default,org.eclipse.help@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.jdt@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.net4j.db.h2@default:default,org.eclipse.net4j.db.jdbc@default:default,org.eclipse.net4j.db@default:default,org.eclipse.net4j.jvm@default:default,org.eclipse.net4j.ui.shared@default:default,org.eclipse.net4j.util.ui@default:default,org.eclipse.net4j.util@default:default,org.eclipse.net4j@default:default,org.eclipse.ocl.common@default:default,org.eclipse.ocl.ecore@default:default,org.eclipse.ocl@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.search@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.ant.junit@default:false,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.console@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.h2@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default,org.slf4j.api@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.application.e3@default:default,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.emffilter@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.doc@default:default,org.eclipse.emf.ecp.ecore.editor.ui@default:default,org.eclipse.emf.ecp.ecore.editor@default:default,org.eclipse.emf.ecp.edit.ecore.swt@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.emfstore.ui.search@default:default,org.eclipse.emf.ecp.emfstore.ui@default:default,org.eclipse.emf.ecp.examplemodel.ui@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ide.editor.view@default:default,org.eclipse.emf.ecp.ide.editor.viewmodel@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.ui.e3@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.transaction@default:default,org.eclipse.emf.ecp.ui.view.editor.controls@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.validation.connector@default:default,org.eclipse.emf.ecp.validation@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.categorization.swt@default:default,org.eclipse.emf.ecp.view.context.locale@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model.edit@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui.swt@default:default,org.eclipse.emf.ecp.view.edapt@default:default,org.eclipse.emf.ecp.view.group.model.edit@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.groupedgrid.model.edit@default:default,org.eclipse.emf.ecp.view.groupedgrid.model@default:default,org.eclipse.emf.ecp.view.groupedgrid.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model.edit@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.label.model.edit@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.editor@default:default,org.eclipse.emf.ecp.view.model.preview.common@default:default,org.eclipse.emf.ecp.view.model.preview.e3@default:default,org.eclipse.emf.ecp.view.model.project.installer@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model.edit@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.rule@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.edapt@default:default,org.eclipse.emf.ecp.view.table.editor@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.controls.swt@default:default,org.eclipse.emf.ecp.view.template.model.edit@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.template.tooling@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model.edit@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt@default:default,org.eclipse.emf.ecp.view.unset@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emf.ecp.workspace.core@default:default,org.eclipse.emf.ecp.workspace.ui@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.application.e3@default:default,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.emffilter@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.doc@default:default,org.eclipse.emf.ecp.ecore.editor.ui@default:default,org.eclipse.emf.ecp.ecore.editor@default:default,org.eclipse.emf.ecp.edit.ecore.swt@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.emfstore.ui.search@default:default,org.eclipse.emf.ecp.emfstore.ui@default:default,org.eclipse.emf.ecp.examplemodel.ui@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ide.editor.view@default:default,org.eclipse.emf.ecp.ide.editor.viewmodel@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.ui.e3@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.transaction@default:default,org.eclipse.emf.ecp.ui.view.editor.controls@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.validation.connector@default:default,org.eclipse.emf.ecp.validation@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.categorization.swt@default:default,org.eclipse.emf.ecp.view.context.locale@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model.edit@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui.swt@default:default,org.eclipse.emf.ecp.view.edapt@default:default,org.eclipse.emf.ecp.view.group.model.edit@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.groupedgrid.model.edit@default:default,org.eclipse.emf.ecp.view.groupedgrid.model@default:default,org.eclipse.emf.ecp.view.groupedgrid.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model.edit@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.label.model.edit@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.editor@default:default,org.eclipse.emf.ecp.view.model.preview.common@default:default,org.eclipse.emf.ecp.view.model.preview.e3@default:default,org.eclipse.emf.ecp.view.model.project.installer@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model.edit@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.rule@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.edapt@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model.edit@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.template.tooling@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model.edit@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt@default:default,org.eclipse.emf.ecp.view.unset@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emf.ecp.workspace.core@default:default,org.eclipse.emf.ecp.workspace.ui@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.view.annotation.model.edit@default:default,org.eclipse.emfforms.view.annotation.model@default:default,org.eclipse.emfforms.view.model.localization@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<stringAttribute key="timestamp" value="1366714902913"/>
<booleanAttribute key="tracing" value="false"/>
diff --git a/features/org.eclipse.emf.ecp.view.model.feature/feature.xml b/features/org.eclipse.emf.ecp.view.model.feature/feature.xml
index d966126..26b97f5 100644
--- a/features/org.eclipse.emf.ecp.view.model.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.model.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.viewmodel.feature"
label="EMF Forms Core Model"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
@@ -136,4 +136,88 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.emfforms.core.services.emfspecificservice"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.localization"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.core.services.databinding.featurepath"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.core.services.editsupport"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.view.model.localization"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.swt.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.swt.core.plugin"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.core.services"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.core.services.emf"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.core.services.locale.default"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.common"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.swt.core.di"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/features/org.eclipse.emf.ecp.view.model.feature/pom.xml b/features/org.eclipse.emf.ecp.view.model.feature/pom.xml
index 2cbb7e6..1561469 100644
--- a/features/org.eclipse.emf.ecp.view.model.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.model.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.rule.feature/feature.xml b/features/org.eclipse.emf.ecp.view.rule.feature/feature.xml
index e1be415..c4e0819 100644
--- a/features/org.eclipse.emf.ecp.view.rule.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.rule.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.rule.feature"
label="EMF Forms Rule Model"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.rule"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.rule.feature/pom.xml b/features/org.eclipse.emf.ecp.view.rule.feature/pom.xml
index c9a2a1d..f451c66 100644
--- a/features/org.eclipse.emf.ecp.view.rule.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.rule.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.rule.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.section.feature/feature.xml b/features/org.eclipse.emf.ecp.view.section.feature/feature.xml
index 41a0be3..0aaf482 100644
--- a/features/org.eclipse.emf.ecp.view.section.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.section.feature/feature.xml
@@ -2,11 +2,11 @@
<feature
id="org.eclipse.emf.ecp.view.section.feature"
label="EMF Forms Section Model (Experimental)"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.view.section.model"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.section.feature/pom.xml b/features/org.eclipse.emf.ecp.view.section.feature/pom.xml
index 01043a2..2763ead 100644
--- a/features/org.eclipse.emf.ecp.view.section.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.section.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.section.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.stack.feature/feature.xml b/features/org.eclipse.emf.ecp.view.stack.feature/feature.xml
index 41bb78c..262520e 100644
--- a/features/org.eclipse.emf.ecp.view.stack.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.stack.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.stack.feature"
label="EMF Forms Stack Model"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.view.stack.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.stack.feature/pom.xml b/features/org.eclipse.emf.ecp.view.stack.feature/pom.xml
index b1ed5d1..32c2770 100644
--- a/features/org.eclipse.emf.ecp.view.stack.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.stack.feature/pom.xml
@@ -5,12 +5,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.stack.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<build>
diff --git a/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/feature.xml b/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/feature.xml
index 6bb1d92..8a244f2 100644
--- a/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/feature.xml
@@ -2,10 +2,10 @@
<feature
id="org.eclipse.emf.ecp.view.table.celleditor.rcp.feature"
label="EMFForms Table UI SWT Additional Cell Editors (non-RAP)"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
plugin="org.eclipse.emf.ecp.view.table.celleditor.rcp"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/pom.xml b/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/pom.xml
index e693748..f269c72 100644
--- a/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.table.celleditor.rcp.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.table.feature/feature.xml b/features/org.eclipse.emf.ecp.view.table.feature/feature.xml
index cfb357c..ec53c85 100644
--- a/features/org.eclipse.emf.ecp.view.table.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.table.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.table.feature"
label="EMF Forms Table Model"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.table.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
@@ -43,13 +43,6 @@
unpack="false"/>
<plugin
- id="org.eclipse.emf.ecp.view.table.editor"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
id="org.eclipse.emf.ecp.view.table.columnservice"
download-size="0"
install-size="0"
diff --git a/features/org.eclipse.emf.ecp.view.table.feature/pom.xml b/features/org.eclipse.emf.ecp.view.table.feature/pom.xml
index 6ddf210..71e43cb 100644
--- a/features/org.eclipse.emf.ecp.view.table.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.table.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.table.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.template.feature/feature.xml b/features/org.eclipse.emf.ecp.view.template.feature/feature.xml
index 0a5a8a5..e767973 100644
--- a/features/org.eclipse.emf.ecp.view.template.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.template.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.template.feature"
label="EMF Forms Template Model"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.view.template.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.template.feature/pom.xml b/features/org.eclipse.emf.ecp.view.template.feature/pom.xml
index a24212f..38fb023 100644
--- a/features/org.eclipse.emf.ecp.view.template.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.template.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.template.helper.feature/.project b/features/org.eclipse.emf.ecp.view.template.helper.feature/.project
deleted file mode 100644
index 65f99dc..0000000
--- a/features/org.eclipse.emf.ecp.view.template.helper.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.ecp.view.template.helper.feature</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/features/org.eclipse.emf.ecp.view.template.helper.feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.emf.ecp.view.template.helper.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 4824b80..0000000
--- a/features/org.eclipse.emf.ecp.view.template.helper.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/features/org.eclipse.emf.ecp.view.template.helper.feature/.settings/org.eclipse.core.runtime.prefs b/features/org.eclipse.emf.ecp.view.template.helper.feature/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index c522e1f..0000000
--- a/features/org.eclipse.emf.ecp.view.template.helper.feature/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/features/org.eclipse.emf.ecp.view.template.helper.feature/feature.properties b/features/org.eclipse.emf.ecp.view.template.helper.feature/feature.properties
deleted file mode 100644
index a9aefcb..0000000
--- a/features/org.eclipse.emf.ecp.view.template.helper.feature/feature.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright (c) 2011-2013 EclipseSource Munich GmbH and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-
-description = Provides the controls for editing the view template model
diff --git a/features/org.eclipse.emf.ecp.view.template.helper.feature/feature.xml b/features/org.eclipse.emf.ecp.view.template.helper.feature/feature.xml
deleted file mode 100644
index 160a9ec..0000000
--- a/features/org.eclipse.emf.ecp.view.template.helper.feature/feature.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.emf.ecp.view.template.helper.feature"
- label="EMF Forms Template Model Controls"
- version="1.5.1.qualifier"
- provider-name="%providerName"
- plugin="org.eclipse.emf.ecp.view.template.controls.swt"
- image="eclipse_update_120.jpg"
- license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
-
- <description>
- %description
- </description>
-
- <copyright url="%copyrightURL">
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <includes
- id="org.eclipse.emf.ecp.view.template.feature"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.emf.ecp.view.template.controls.swt"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.emf.ecp.view.template.helper.feature/pom.xml b/features/org.eclipse.emf.ecp.view.template.helper.feature/pom.xml
deleted file mode 100644
index 1165ada..0000000
--- a/features/org.eclipse.emf.ecp.view.template.helper.feature/pom.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.emf.ecp</groupId>
- <artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
- <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
- </parent>
- <groupId>org.eclipse.emf.ecp</groupId>
- <artifactId>org.eclipse.emf.ecp.view.template.helper.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
- <packaging>eclipse-feature</packaging>
-</project>
diff --git a/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/feature.xml b/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/feature.xml
index ed95c11..b5c302b 100644
--- a/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.treemasterdetail.feature"
label="EMF Forms Master-Detail Model"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.view.treemasterdetail.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/pom.xml b/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/pom.xml
index 9be017d..f206778 100644
--- a/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.treemasterdetail.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.treemasterdetail.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.unset.feature/feature.xml b/features/org.eclipse.emf.ecp.view.unset.feature/feature.xml
index 5ddf413..3fe6a32 100644
--- a/features/org.eclipse.emf.ecp.view.unset.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.unset.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.unset.feature"
label="EMF Forms Unset Service"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.emf.ecp.view.unset"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.unset.feature/pom.xml b/features/org.eclipse.emf.ecp.view.unset.feature/pom.xml
index 3122640..a8c0528 100644
--- a/features/org.eclipse.emf.ecp.view.unset.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.unset.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.unset.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.validation.bean.feature/feature.xml b/features/org.eclipse.emf.ecp.view.validation.bean.feature/feature.xml
index 1532977..bb91f0f 100644
--- a/features/org.eclipse.emf.ecp.view.validation.bean.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.validation.bean.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.validation.bean.feature"
label="Bean Validation Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.validation.bean"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.validation.bean.feature/pom.xml b/features/org.eclipse.emf.ecp.view.validation.bean.feature/pom.xml
index d90d90d..3910331 100644
--- a/features/org.eclipse.emf.ecp.view.validation.bean.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.validation.bean.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.validation.bean.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.validation.feature/feature.xml b/features/org.eclipse.emf.ecp.view.validation.feature/feature.xml
index aeba930..7874f4e 100644
--- a/features/org.eclipse.emf.ecp.view.validation.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.validation.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.validation.feature"
label="EMF Forms Validation Service"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.validation"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.validation.feature/pom.xml b/features/org.eclipse.emf.ecp.view.validation.feature/pom.xml
index 354ec80..6848a0f 100644
--- a/features/org.eclipse.emf.ecp.view.validation.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.validation.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.validation.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.validation.initial.feature/feature.xml b/features/org.eclipse.emf.ecp.view.validation.initial.feature/feature.xml
index 749f82c..9e1d684 100644
--- a/features/org.eclipse.emf.ecp.view.validation.initial.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.validation.initial.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.validation.initial.feature"
label="Initialize Deep Validation Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.validation"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.validation.initial.feature/pom.xml b/features/org.eclipse.emf.ecp.view.validation.initial.feature/pom.xml
index c8566e5..376c619 100644
--- a/features/org.eclipse.emf.ecp.view.validation.initial.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.validation.initial.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.validation.initial.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.vertical.feature/feature.xml b/features/org.eclipse.emf.ecp.view.vertical.feature/feature.xml
index b9ae1ff..5ad588e 100644
--- a/features/org.eclipse.emf.ecp.view.vertical.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.vertical.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.vertical.feature"
label="EMF Forms Vertical Model"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.vertical.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.vertical.feature/pom.xml b/features/org.eclipse.emf.ecp.view.vertical.feature/pom.xml
index 7582d96..f18f47a 100644
--- a/features/org.eclipse.emf.ecp.view.vertical.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.vertical.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.vertical.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.view.viewproxy.feature/feature.xml b/features/org.eclipse.emf.ecp.view.viewproxy.feature/feature.xml
index 801fefc..b27b252 100644
--- a/features/org.eclipse.emf.ecp.view.viewproxy.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.view.viewproxy.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.viewproxy.feature"
label="EMF Forms View Proxy Model"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.viewproxy.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/features/org.eclipse.emf.ecp.view.viewproxy.feature/pom.xml b/features/org.eclipse.emf.ecp.view.viewproxy.feature/pom.xml
index 586c59f..57e1df2 100644
--- a/features/org.eclipse.emf.ecp.view.viewproxy.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.view.viewproxy.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.viewproxy.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emf.ecp.workspace.feature/feature.xml b/features/org.eclipse.emf.ecp.workspace.feature/feature.xml
index a8573f3..49ae04b 100644
--- a/features/org.eclipse.emf.ecp.workspace.feature/feature.xml
+++ b/features/org.eclipse.emf.ecp.workspace.feature/feature.xml
@@ -12,12 +12,12 @@
<feature
id="org.eclipse.emf.ecp.workspace.feature"
label="ECP File Integration (Experimental)"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.workspace.core"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
Integration for file and Eclipse workspace persistence.
diff --git a/features/org.eclipse.emf.ecp.workspace.feature/pom.xml b/features/org.eclipse.emf.ecp.workspace.feature/pom.xml
index 8d96db6..0839198 100644
--- a/features/org.eclipse.emf.ecp.workspace.feature/pom.xml
+++ b/features/org.eclipse.emf.ecp.workspace.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.workspace.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/.project b/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/.project
new file mode 100644
index 0000000..576cec4
--- /dev/null
+++ b/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.swt.control.text.autocomplete.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/features/org.eclipse.emf.ecp.view.template.helper.feature/build.properties b/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/build.properties
similarity index 100%
copy from features/org.eclipse.emf.ecp.view.template.helper.feature/build.properties
copy to features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/build.properties
diff --git a/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/feature.properties b/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/feature.properties
new file mode 100644
index 0000000..9f7ed83
--- /dev/null
+++ b/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/feature.properties
@@ -0,0 +1,7 @@
+# Copyright (c) 2011-2014 EclipseSource Munich GmbH and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+
+description = EMFForms SWT Text Control with Autocomplete. This feature contains the renderer for a text control which will give autocomplete proposals during editing. Moreover all required interfaces for using the renderer are defined.
diff --git a/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/feature.xml b/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/feature.xml
new file mode 100644
index 0000000..fb1006c
--- /dev/null
+++ b/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/feature.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.emfforms.swt.control.text.autocomplete.feature"
+ label="EMFForms SWT Text Control with Autocomplete Feature"
+ version="1.6.0.qualifier"
+ provider-name="Eclipse Modeling Project"
+ plugin="org.eclipse.emfforms.swt.control.text.autocomplete"
+ license-feature="org.eclipse.emf.ecp.license.feature"
+ license-feature-version="1.6.0.qualifier">
+
+ <description>
+ %description
+ </description>
+
+ <copyright url="%copyrightURL">
+ %copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ %license
+ </license>
+
+ <plugin
+ id="org.eclipse.emfforms.swt.control.text.autocomplete"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/pom.xml b/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/pom.xml
new file mode 100644
index 0000000..edd6cf4
--- /dev/null
+++ b/features/org.eclipse.emfforms.swt.control.text.autocomplete.feature/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-features-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emfforms.swt.control.text.autocomplete.feature</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-feature</packaging>
+</project>
diff --git a/features/org.eclipse.emfforms.view.annotation.feature/.project b/features/org.eclipse.emfforms.view.annotation.feature/.project
new file mode 100644
index 0000000..4e35a8a
--- /dev/null
+++ b/features/org.eclipse.emfforms.view.annotation.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.view.annotation.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/features/org.eclipse.emfforms.view.annotation.feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.emfforms.view.annotation.feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/features/org.eclipse.emfforms.view.annotation.feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/features/org.eclipse.emfforms.view.annotation.feature/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to features/org.eclipse.emfforms.view.annotation.feature/.settings/org.eclipse.core.runtime.prefs
diff --git a/features/org.eclipse.emf.ecp.view.template.helper.feature/build.properties b/features/org.eclipse.emfforms.view.annotation.feature/build.properties
similarity index 100%
copy from features/org.eclipse.emf.ecp.view.template.helper.feature/build.properties
copy to features/org.eclipse.emfforms.view.annotation.feature/build.properties
diff --git a/features/org.eclipse.emfforms.view.annotation.feature/feature.properties b/features/org.eclipse.emfforms.view.annotation.feature/feature.properties
new file mode 100644
index 0000000..799e223
--- /dev/null
+++ b/features/org.eclipse.emfforms.view.annotation.feature/feature.properties
@@ -0,0 +1,7 @@
+# Copyright (c) 2011-2015 EclipseSource Munich GmbH and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+
+description = This feature contains the EMFForms Annotation attachment view model.
diff --git a/features/org.eclipse.emfforms.view.annotation.feature/feature.xml b/features/org.eclipse.emfforms.view.annotation.feature/feature.xml
new file mode 100644
index 0000000..3e6a572
--- /dev/null
+++ b/features/org.eclipse.emfforms.view.annotation.feature/feature.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.emfforms.view.annotation.feature"
+ label="EMFForms Annotation View Model Feature"
+ version="1.6.0.qualifier"
+ provider-name="Eclipse Modeling Project"
+ plugin="org.eclipse.emfforms.view.annotation.model"
+ license-feature="org.eclipse.emf.ecp.license.feature"
+ license-feature-version="1.6.0.qualifier">
+
+ <description>
+ %description
+ </description>
+
+ <copyright url="%copyrightURL">
+ %copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ %license
+ </license>
+
+ <plugin
+ id="org.eclipse.emfforms.view.annotation.model"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.view.annotation.model.edit"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.emfforms.view.annotation.feature/pom.xml b/features/org.eclipse.emfforms.view.annotation.feature/pom.xml
new file mode 100644
index 0000000..92cfa71
--- /dev/null
+++ b/features/org.eclipse.emfforms.view.annotation.feature/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-features-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emfforms.view.annotation.feature</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-feature</packaging>
+</project>
diff --git a/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/.project b/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/.project
new file mode 100644
index 0000000..9885708
--- /dev/null
+++ b/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/features/org.eclipse.emf.ecp.view.template.helper.feature/build.properties b/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/build.properties
similarity index 100%
copy from features/org.eclipse.emf.ecp.view.template.helper.feature/build.properties
copy to features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/build.properties
diff --git a/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/feature.properties b/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/feature.properties
new file mode 100644
index 0000000..25ea97b
--- /dev/null
+++ b/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/feature.properties
@@ -0,0 +1,7 @@
+# Copyright (c) 2011-2015 EclipseSource Munich GmbH and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+
+description = This Feature provides the spreadsheet import export functionality.
diff --git a/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/feature.xml b/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/feature.xml
new file mode 100644
index 0000000..2d1d463
--- /dev/null
+++ b/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/feature.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.emfforms.spreadsheet.feature"
+ label="EMFForms Spreadsheet Feature"
+ version="1.0.0.qualifier"
+ plugin="org.eclipse.emfforms.spreadsheet.core"
+ image="eclipse_update_120.jpg"
+ license-feature="org.eclipse.emf.ecp.license.feature"
+ license-feature-version="1.6.0.qualifier">
+
+ <description>
+ %description
+ </description>
+
+ <copyright url="%copyrightURL">
+ %copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ %license
+ </license>
+
+ <plugin
+ id="org.eclipse.emfforms.spreadsheet.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.spreadsheet.core.importer"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.spreadsheet.core.renderer"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.spreadsheet.core.renderer.categorization"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.spreadsheet.core.renderer.custom"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.emfforms.spreadsheet.core.renderer.table"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/pom.xml b/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/pom.xml
new file mode 100644
index 0000000..e7b2d0c
--- /dev/null
+++ b/features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-features-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../../releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.features/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>org.eclipse.emfforms.spreadsheet.feature</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-feature</packaging>
+</project>
diff --git a/releng/javafx/org.eclipse.emf.ecp.application.e4.fx.product/org.eclipse.emf.ecp.application.e4.fx.product b/releng/javafx/org.eclipse.emf.ecp.application.e4.fx.product/org.eclipse.emf.ecp.application.e4.fx.product
index 28108c3..358eb34 100644
--- a/releng/javafx/org.eclipse.emf.ecp.application.e4.fx.product/org.eclipse.emf.ecp.application.e4.fx.product
+++ b/releng/javafx/org.eclipse.emf.ecp.application.e4.fx.product/org.eclipse.emf.ecp.application.e4.fx.product
@@ -17,8 +17,8 @@
</plugins>
<features>
- <feature id="org.eclipse.emf.ecp.application.e4.fx.feature" version="1.5.0.qualifier"/>
- <feature id="org.eclipse.emf.ecp.view.sdk.fx.feature" version="1.5.0.qualifier"/>
+ <feature id="org.eclipse.emf.ecp.application.e4.fx.feature" version="1.6.0.qualifier"/>
+ <feature id="org.eclipse.emf.ecp.view.sdk.fx.feature" version="1.6.0.qualifier"/>
</features>
<configurations>
diff --git a/releng/javafx/org.eclipse.emf.ecp.application.e4.fx.product/pom.xml b/releng/javafx/org.eclipse.emf.ecp.application.e4.fx.product/pom.xml
index 121742e..5b600e3 100644
--- a/releng/javafx/org.eclipse.emf.ecp.application.e4.fx.product/pom.xml
+++ b/releng/javafx/org.eclipse.emf.ecp.application.e4.fx.product/pom.xml
@@ -11,7 +11,7 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-parent</artifactId>
<relativePath>../org.eclipse.emf.ecp.fx.releng/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
<build>
@@ -37,5 +37,5 @@
</plugin>
</plugins>
</build>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
\ No newline at end of file
diff --git a/releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml b/releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml
index 3825c7d..8f7f615 100644
--- a/releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml
+++ b/releng/javafx/org.eclipse.emf.ecp.fx.releng.bundles/pom.xml
@@ -4,13 +4,13 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>pom</packaging>
<parent>
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../org.eclipse.emf.ecp.fx.releng/</relativePath>
</parent>
@@ -78,6 +78,9 @@
</goals>
</execution>
</executions>
+ <configuration>
+ <excludeInnerJars>true</excludeInnerJars>
+ </configuration>
</plugin>
<!-- 3.b -->
<plugin>
diff --git a/releng/javafx/org.eclipse.emf.ecp.fx.releng/pom.xml b/releng/javafx/org.eclipse.emf.ecp.fx.releng/pom.xml
index 6c03242..30b1f67 100644
--- a/releng/javafx/org.eclipse.emf.ecp.fx.releng/pom.xml
+++ b/releng/javafx/org.eclipse.emf.ecp.fx.releng/pom.xml
@@ -11,7 +11,7 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<tycho-version>0.21.0</tycho-version>
diff --git a/releng/javafx/org.eclipse.emf.ecp.repository.fx/category.xml b/releng/javafx/org.eclipse.emf.ecp.repository.fx/category.xml
index 3206b35..0b28339 100644
--- a/releng/javafx/org.eclipse.emf.ecp.repository.fx/category.xml
+++ b/releng/javafx/org.eclipse.emf.ecp.repository.fx/category.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<site>
- <feature url="features/org.eclipse.emf.ecp.demo.e4.fx.feature_1.5.1.qualifier.jar" id="org.eclipse.emf.ecp.demo.e4.fx.feature" version="1.5.1.qualifier">
+ <feature url="features/org.eclipse.emf.ecp.demo.e4.fx.feature_1.6.0.qualifier.jar" id="org.eclipse.emf.ecp.demo.e4.fx.feature" version="1.6.0.qualifier">
<category name="org.eclipse.emf.ecp.demo.fx"/>
</feature>
- <feature url="features/org.eclipse.emf.ecp.view.sdk.fx.feature_1.5.1.qualifier.jar" id="org.eclipse.emf.ecp.view.sdk.fx.feature" version="1.5.1.qualifier">
+ <feature url="features/org.eclipse.emf.ecp.view.sdk.fx.feature_1.6.0.qualifier.jar" id="org.eclipse.emf.ecp.view.sdk.fx.feature" version="1.6.0.qualifier">
<category name="org.eclipse.emf.ecp.fx"/>
</feature>
<category-def name="org.eclipse.emf.ecp.fx" label="ECP FX components"/>
diff --git a/releng/javafx/org.eclipse.emf.ecp.repository.fx/pom.xml b/releng/javafx/org.eclipse.emf.ecp.repository.fx/pom.xml
index 2875e82..9f2d576 100644
--- a/releng/javafx/org.eclipse.emf.ecp.repository.fx/pom.xml
+++ b/releng/javafx/org.eclipse.emf.ecp.repository.fx/pom.xml
@@ -7,11 +7,11 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>org.eclipse.emf.ecp.repository.fx</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
<build>
diff --git a/releng/javafx/org.eclipse.emf.ecp.target.fx/pom.xml b/releng/javafx/org.eclipse.emf.ecp.target.fx/pom.xml
index f5e9989..b179896 100644
--- a/releng/javafx/org.eclipse.emf.ecp.target.fx/pom.xml
+++ b/releng/javafx/org.eclipse.emf.ecp.target.fx/pom.xml
@@ -6,11 +6,11 @@
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecp-fx-parent</artifactId>
<relativePath>../../../releng/javafx/org.eclipse.emf.ecp.fx.releng/pom.xml</relativePath>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
<groupId>org.eclipse.emf.ecp.fx</groupId>
<artifactId>ecpfx</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-target-definition</packaging>
</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.3x.product b/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.3x.product
index a465c7c..58ed261 100644
--- a/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.3x.product
+++ b/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.3x.product
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>
-<product name="%productName" uid="org.eclipse.emf.ecp.3x" id="org.eclipse.emf.ecp.application.e3.product" application="org.eclipse.emf.ecp.application.e3.application" version="1.5.1.qualifier" useFeatures="true" includeLaunchers="true">
+<product name="%productName" uid="org.eclipse.emf.ecp.3x" id="org.eclipse.emf.ecp.application.e3.product" application="org.eclipse.emf.ecp.application.e3.application" version="1.6.0.qualifier" useFeatures="true" includeLaunchers="true">
<aboutInfo>
<image path="/org.eclipse.emf.ecp.application.e3/icons/eclipse_lg.gif"/>
@@ -14,7 +14,8 @@
</configIni>
<launcherArgs>
- <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
+ <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
+ </vmArgsMac>
</launcherArgs>
<windowImages i16="/org.eclipse.emf.ecp.ui.e3/icons/bricks.png"/>
@@ -53,7 +54,6 @@
<feature id="org.eclipse.emf.ecp.view.vertical.feature"/>
<feature id="org.eclipse.emf.ecp.view.template.feature"/>
<feature id="org.eclipse.emf.ecp.view.categorization.feature"/>
- <feature id="org.eclipse.emf.ecp.view.template.helper.feature"/>
<feature id="org.eclipse.emf.ecp.view.model.editor.feature"/>
<feature id="org.eclipse.emf.ecp.demo.e3.feature"/>
<feature id="org.eclipse.emf.ecp.view.model.controls.feature"/>
diff --git a/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.application.e4.product b/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.application.e4.product
index 57410de..66b2d47 100644
--- a/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.application.e4.product
+++ b/releng/org.eclipse.emf.ecp.products/org.eclipse.emf.ecp.application.e4.product
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>
-<product name="org.eclipse.emf.ecp.e4.application" uid="org.eclipse.emf.ecp.application.e4.demo" id="org.eclipse.emf.ecp.application.e4.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.5.1.qualifier" useFeatures="false" includeLaunchers="true">
+<product name="org.eclipse.emf.ecp.e4.application" uid="org.eclipse.emf.ecp.application.e4.demo" id="org.eclipse.emf.ecp.application.e4.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.6.0.qualifier" useFeatures="false" includeLaunchers="true">
<configIni use="default">
</configIni>
@@ -53,7 +53,6 @@
<plugin id="org.eclipse.core.resources.win32.x86" fragment="true"/>
<plugin id="org.eclipse.core.resources.win32.x86_64" fragment="true"/>
<plugin id="org.eclipse.core.runtime"/>
- <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
<plugin id="org.eclipse.e4.core.commands"/>
<plugin id="org.eclipse.e4.core.contexts"/>
<plugin id="org.eclipse.e4.core.di"/>
diff --git a/releng/org.eclipse.emf.ecp.products/pom.xml b/releng/org.eclipse.emf.ecp.products/pom.xml
index 9635599..eea6873 100644
--- a/releng/org.eclipse.emf.ecp.products/pom.xml
+++ b/releng/org.eclipse.emf.ecp.products/pom.xml
@@ -5,12 +5,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.products</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
<build>
diff --git a/releng/org.eclipse.emf.ecp.rap.parent/pom.xml b/releng/org.eclipse.emf.ecp.rap.parent/pom.xml
index b45acf0..65322ec 100644
--- a/releng/org.eclipse.emf.ecp.rap.parent/pom.xml
+++ b/releng/org.eclipse.emf.ecp.rap.parent/pom.xml
@@ -5,15 +5,15 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-rap-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>pom</packaging>
<!-- Parent for the rap product. Needed to reduce environments.
There are no platform dependent fragments, so the platform is arbitrary -->
<properties>
- <tycho-version>0.20.0</tycho-version>
- <tycho-extras-version>0.20.0</tycho-extras-version>
+ <tycho-version>0.22.0</tycho-version>
+ <tycho-extras-version>0.22.0</tycho-extras-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
diff --git a/releng/org.eclipse.emf.ecp.rap.products/org.eclipse.emf.ecp.rap.product b/releng/org.eclipse.emf.ecp.rap.products/org.eclipse.emf.ecp.rap.product
index 9b178af..0f5fd29 100644
--- a/releng/org.eclipse.emf.ecp.rap.products/org.eclipse.emf.ecp.rap.product
+++ b/releng/org.eclipse.emf.ecp.rap.products/org.eclipse.emf.ecp.rap.product
@@ -80,7 +80,7 @@
<plugin id="org.eclipse.emf.ecp.test.model.edit"/>
<plugin id="org.eclipse.emf.ecp.ui"/>
<plugin id="org.eclipse.emf.ecp.ui.e3"/>
- <plugin id="org.eclipse.emf.ecp.ui.rap" fragment="true"/>
+ <plugin id="org.eclipse.emf.ecp.ui.rap"/>
<plugin id="org.eclipse.emf.ecp.ui.view"/>
<plugin id="org.eclipse.emf.ecp.ui.view.swt"/>
<plugin id="org.eclipse.emf.ecp.view.categorization.model"/>
@@ -147,8 +147,7 @@
<plugin id="org.eclipse.osgi"/>
<plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
<plugin id="org.eclipse.osgi.services"/>
- <plugin id="org.eclipse.rap.addons.filedialog"/>
- <plugin id="org.eclipse.rap.addons.fileupload"/>
+ <plugin id="org.eclipse.rap.filedialog"/>
<plugin id="org.eclipse.rap.jface"/>
<plugin id="org.eclipse.rap.jface.databinding"/>
<plugin id="org.eclipse.rap.rwt"/>
diff --git a/releng/org.eclipse.emf.ecp.rap.products/pom.xml b/releng/org.eclipse.emf.ecp.rap.products/pom.xml
index d99c72e..a965ef1 100644
--- a/releng/org.eclipse.emf.ecp.rap.products/pom.xml
+++ b/releng/org.eclipse.emf.ecp.rap.products/pom.xml
@@ -5,12 +5,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-rap-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../org.eclipse.emf.ecp.rap.parent/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.rap.products</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
<properties>
diff --git a/releng/org.eclipse.emf.ecp.releng.bundles/pom.xml b/releng/org.eclipse.emf.ecp.releng.bundles/pom.xml
index 23d275e..fccb970 100644
--- a/releng/org.eclipse.emf.ecp.releng.bundles/pom.xml
+++ b/releng/org.eclipse.emf.ecp.releng.bundles/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
@@ -30,6 +30,10 @@
<module>../../bundles/org.eclipse.emf.ecp.explorereditorbridge</module>
<module>../../bundles/org.eclipse.emf.ecp.ui</module>
<module>../../bundles/org.eclipse.emf.ecp.ui.rcp</module>
+
+ <module>../../bundles/org.eclipse.emf.ecp.core.rap</module>
+ <module>../../bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt</module>
+ <module>../../bundles/org.eclipse.emf.ecp.emfstore.core.rap</module>
<module>../../bundles/org.eclipse.emf.ecp.cdo.core</module>
<module>../../bundles/org.eclipse.emf.ecp.cdo.ui</module>
@@ -154,7 +158,6 @@
<module>../../bundles/org.eclipse.emf.ecp.view.table.model</module>
<module>../../bundles/org.eclipse.emf.ecp.view.table.model.edit</module>
<module>../../bundles/org.eclipse.emf.ecp.view.table.ui.swt</module>
- <module>../../bundles/org.eclipse.emf.ecp.view.table.editor</module>
<module>../../bundles/org.eclipse.emf.ecp.view.table.columnservice</module>
<module>../../bundles/org.eclipse.emf.ecp.view.table.edapt</module>
<module>../../bundles/org.eclipse.emf.ecp.view.table.celleditor.rcp</module>
@@ -170,7 +173,6 @@
<module>../../bundles/org.eclipse.emf.ecp.view.template.model.edit</module>
<!-- Template Helper Feature -->
<module>../../bundles/org.eclipse.emf.ecp.view.template.service</module>
- <module>../../bundles/org.eclipse.emf.ecp.view.template.controls.swt</module>
<!-- IDE -->
<module>../../bundles/org.eclipse.emf.ecp.ide.editor.view</module>
@@ -204,7 +206,6 @@
<!-- mapping dmr -->
<module>../../bundles/org.eclipse.emf.ecp.view.mappingdmr.tooling</module>
- <module>../../bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding</module>
<module>../../bundles/org.eclipse.emf.ecp.view.mappingdmr.model</module>
<module>../../bundles/org.eclipse.emf.ecp.view.mappingdmr.model.edit</module>
@@ -238,7 +239,6 @@
<module>../../bundles/org.eclipse.emf.ecp.view.indexdmr.model</module>
<module>../../bundles/org.eclipse.emf.ecp.view.indexdmr.model.edit</module>
<module>../../bundles/org.eclipse.emf.ecp.view.indexdmr.tooling</module>
- <module>../../bundles/org.eclipse.emf.ecp.view.indexdmr.databinding</module>
<!-- Migration -->
<module>../../bundles/org.eclipse.emf.ecp.view.migrator</module>
@@ -252,7 +252,30 @@
<module>../../bundles/org.eclipse.emf.ecp.changebroker</module>
<module>../../bundles/org.eclipse.emf.ecp.changebroker.emfstore</module>
+ <!-- Core Services -->
+ <module>../../bundles/org.eclipse.emfforms.common</module>
+ <module>../../bundles/org.eclipse.emfforms.core.services.databinding.featurepath</module>
+ <module>../../bundles/org.eclipse.emfforms.core.services.databinding.index</module>
+ <module>../../bundles/org.eclipse.emfforms.core.services.databinding.mapping</module>
+ <module>../../bundles/org.eclipse.emfforms.core.services.emfspecificservice</module>
+ <module>../../bundles/org.eclipse.emfforms.core.services.editsupport</module>
+ <module>../../bundles/org.eclipse.emfforms.swt.core</module>
+ <module>../../bundles/org.eclipse.emfforms.swt.core.di</module>
+ <module>../../bundles/org.eclipse.emfforms.swt.core.di.extension</module>
+ <module>../../bundles/org.eclipse.emfforms.swt.core.plugin</module>
+ <module>../../bundles/org.eclipse.emfforms.core.services</module>
+ <module>../../bundles/org.eclipse.emfforms.core.services.emf</module>
+ <module>../../bundles/org.eclipse.emfforms.core.services.locale.default</module>
+ <!-- Localization Services -->
+ <module>../../bundles/org.eclipse.emfforms.localization</module>
+ <module>../../bundles/org.eclipse.emfforms.view.model.localization</module>
+
+ <module>../../bundles/org.eclipse.emfforms.swt.control.text.autocomplete</module>
+
+ <!-- Annotation attachement -->
+ <module>../../bundles/org.eclipse.emfforms.view.annotation.model</module>
+ <module>../../bundles/org.eclipse.emfforms.view.annotation.model.edit</module>
</modules>
<build>
@@ -304,6 +327,9 @@
</goals>
</execution>
</executions>
+ <configuration>
+ <excludeInnerJars>true</excludeInnerJars>
+ </configuration>
</plugin>
<!-- 3.b -->
<plugin>
diff --git a/releng/org.eclipse.emf.ecp.releng.examples/pom.xml b/releng/org.eclipse.emf.ecp.releng.examples/pom.xml
index 032a694..b7df5cf 100644
--- a/releng/org.eclipse.emf.ecp.releng.examples/pom.xml
+++ b/releng/org.eclipse.emf.ecp.releng.examples/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-examples-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
@@ -114,6 +114,9 @@
</goals>
</execution>
</executions>
+ <configuration>
+ <excludeInnerJars>true</excludeInnerJars>
+ </configuration>
</plugin>
<!-- 3.b -->
<plugin>
diff --git a/releng/org.eclipse.emf.ecp.releng.features/pom.xml b/releng/org.eclipse.emf.ecp.releng.features/pom.xml
index 2d5643a..1e398ed 100644
--- a/releng/org.eclipse.emf.ecp.releng.features/pom.xml
+++ b/releng/org.eclipse.emf.ecp.releng.features/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
@@ -44,7 +44,6 @@
<module>../../features/org.eclipse.emf.ecp.view.table.feature</module>
<module>../../features/org.eclipse.emf.ecp.view.template.feature</module>
<module>../../features/org.eclipse.emf.ecp.view.mappingdmr.feature</module>
- <module>../../features/org.eclipse.emf.ecp.view.template.helper.feature</module>
<module>../../features/org.eclipse.emf.ecp.view.stack.feature</module>
<module>../../features/org.eclipse.emf.ecp.e4.feature</module>
<module>../../features/org.eclipse.emf.ecp.rap.util.feature</module>
@@ -81,6 +80,12 @@
<module>../../features/org.eclipse.emf.ecp.changebroker.feature</module>
<module>../../features/org.eclipse.emf.ecp.view.table.celleditor.rcp.feature</module>
+
+ <module>../../features/org.eclipse.emfforms.swt.control.text.autocomplete.feature</module>
+
+ <module>../../features/org.eclipse.emfforms.view.annotation.feature</module>
+
+ <module>../../features/org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature</module>
</modules>
<!-- Parent used for features. This POM contains all build steps for code signing. -->
@@ -148,6 +153,9 @@
</goals>
</execution>
</executions>
+ <configuration>
+ <excludeInnerJars>true</excludeInnerJars>
+ </configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
diff --git a/releng/org.eclipse.emf.ecp.releng.tests/pom.xml b/releng/org.eclipse.emf.ecp.releng.tests/pom.xml
index 054f477..4d43004 100644
--- a/releng/org.eclipse.emf.ecp.releng.tests/pom.xml
+++ b/releng/org.eclipse.emf.ecp.releng.tests/pom.xml
@@ -5,17 +5,61 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>pom</packaging>
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
-
+ <profiles>
+ <profile>
+ <id>slowTests</id>
+ <activation>
+ <property>
+ <name>slowTests</name>
+ </property>
+ </activation>
+ <modules>
+ <module>../../tests/org.eclipse.emf.ecp.view.ui.editor.test</module>
+ <module>../../tests/org.eclipse.emf.ecp.view.validation.test</module>
+ <module>../../tests/org.eclipse.emf.ecp.view.rule.test</module>
+ <module>../../tests/org.eclipse.emf.ecp.view.rule.ui.swt.test</module> <!-- must be moved because of dependency to rule.test -->
+ <module>../../tests/org.eclipse.emf.ecp.view.unset.test</module><!-- must be moved because of dependency to rule.test -->
+ <module>../../tests/org.eclipse.emf.ecp.validation.test</module>
+ <module>../../tests/org.eclipse.emf.ecp.core.test</module>
+ </modules>
+ </profile>
+
+ <profile>
+ <id>build-server</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.cbi.maven.plugins</groupId>
+ <artifactId>eclipse-jarsigner-plugin</artifactId>
+ <version>${jarsigner-version}</version>
+ <executions>
+ <execution>
+ <id>sign</id>
+ <phase>package</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <excludeInnerJars>true</excludeInnerJars>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
<modules>
<!-- Bundles/Features -->
+ <module>../../bundles/org.eclipse.emf.ecp.test.common</module>
<module>../../tests/org.eclipse.emf.ecp.view.dynamictree.model</module>
<module>../../tests/org.eclipse.emf.ecp.view.dynamictree.model.edit</module>
<module>../../tests/org.eclipse.emf.ecp.view.dynamictree.ui</module>
@@ -26,33 +70,36 @@
<module>../../tests/org.eclipse.emf.ecp.test.model</module>
<module>../../tests/org.eclipse.emf.ecp.test.model.edit</module>
<module>../../tests/org.eclipse.emf.ecp.test.model.feature</module>
+ <module>../../tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test</module>
<!-- Tests -->
<module>../../tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test</module>
<module>../../tests/org.eclipse.emf.ecp.edit.swt.test</module>
<module>../../tests/org.eclipse.emf.ecp.view.test.common</module>
<module>../../tests/org.eclipse.emf.ecp.view.test.common.swt</module>
- <module>../../tests/org.eclipse.emf.ecp.core.test</module>
+
<module>../../tests/org.eclipse.emf.ecp.ui.view.editor.controls.test</module>
<module>../../tests/org.eclipse.emf.ecp.ui.view.test</module>
<module>../../tests/org.eclipse.emf.ecp.ui.view.swt.test</module>
- <module>../../tests/org.eclipse.emf.ecp.validation.test</module>
+
<module>../../tests/org.eclipse.emf.ecp.view.categorization.swt.test</module>
+ <!--
<module>../../tests/org.eclipse.emf.ecp.view.context.test</module>
+ -->
<module>../../tests/org.eclipse.emf.ecp.view.custom.ui.swt.test</module>
<module>../../tests/org.eclipse.emf.ecp.view.group.ui.swt.test</module>
<module>../../tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test</module>
<module>../../tests/org.eclipse.emf.ecp.view.model.edit.test</module>
<module>../../tests/org.eclipse.emf.ecp.view.model.integrationtest</module>
<module>../../tests/org.eclipse.emf.ecp.view.model.provider.xmi.test</module>
- <module>../../tests/org.eclipse.emf.ecp.view.rule.test</module>
- <module>../../tests/org.eclipse.emf.ecp.view.rule.ui.swt.test</module>
- <module>../../tests/org.eclipse.emf.ecp.view.unset.test</module>
+
+
+
<module>../../tests/org.eclipse.emf.ecp.view.table.ui.swt.test</module>
- <module>../../tests/org.eclipse.emf.ecp.view.validation.test</module>
+
<module>../../tests/org.eclipse.emf.ecp.view.validation.bean.test</module>
<module>../../tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test</module>
- <module>../../tests/org.eclipse.emf.ecp.view.ui.editor.test</module>
+
<module>../../tests/org.eclipse.emf.ecp.view.dynamictree.model.test</module>
<module>../../tests/org.eclipse.emf.ecp.view.stack.ui.swt.test</module>
<module>../../tests/org.eclipse.emf.ecp.ecore.editor.test</module>
@@ -66,6 +113,11 @@
<module>../../tests/org.eclipse.emf.ecp.view.core.swt.tests</module>
<module>../../tests/org.eclipse.emf.ecp.view.viewproxy.test</module>
<module>../../tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test</module>
+ <module>../../tests/org.eclipse.emf.ecp.view.model.common.test</module>
+ <module>../../tests/org.eclipse.emf.ecp.common.test</module>
+ <module>../../tests/org.eclipse.emf.ecp.view.control.multireference.tests</module>
+
+ <module>../../tests/org.eclipse.emf.ecp.core.rap.test</module>
<!-- Key Attribute DMR -->
<module>../../tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test</module>
@@ -80,6 +132,23 @@
<module>../../tests/org.eclipse.emf.ecp.view.edapt.test</module>
<module>../../tests/org.eclipse.emf.ecp.view.edapt.util.test</module>
+ <!-- Core Services -->
+ <module>../../tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests</module>
+ <module>../../tests/org.eclipse.emfforms.core.services.databinding.index.tests</module>
+ <module>../../tests/org.eclipse.emfforms.core.services.databinding.mapping.tests</module>
+ <module>../../tests/org.eclipse.emfforms.core.services.databinding.integrationtest</module>
+ <module>../../tests/org.eclipse.emfforms.core.services.databinding.testmodel</module>
+ <module>../../tests/org.eclipse.emfforms.swt.core.tests</module>
+ <module>../../tests/org.eclipse.emfforms.swt.core.di.tests</module>
+ <module>../../tests/org.eclipse.emfforms.swt.core.di.extension.tests</module>
+ <module>../../tests/org.eclipse.emfforms.common.tests</module>
+ <module>../../tests/org.eclipse.emfforms.core.services.emf.tests</module>
+
+ <!-- Localization Bundle -->
+ <module>../../tests/org.eclipse.emfforms.localization.tests</module>
+ <module>../../tests/org.eclipse.emfforms.view.model.localization.tests</module>
+
+ <module>../../tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests</module>
</modules>
<build>
@@ -151,29 +220,5 @@
<scope>test</scope>
</dependency>
</dependencies>
-
- <profiles>
- <profile>
- <id>build-server</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.cbi.maven.plugins</groupId>
- <artifactId>eclipse-jarsigner-plugin</artifactId>
- <version>${jarsigner-version}</version>
- <executions>
- <execution>
- <id>sign</id>
- <phase>package</phase>
- <goals>
- <goal>sign</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
\ No newline at end of file
+</project>
diff --git a/releng/org.eclipse.emf.ecp.releng/ecpDevelopmentDemo.launch b/releng/org.eclipse.emf.ecp.releng/ecpDevelopmentDemo.launch
index 5f4eed0..736fcab 100644
--- a/releng/org.eclipse.emf.ecp.releng/ecpDevelopmentDemo.launch
+++ b/releng/org.eclipse.emf.ecp.releng/ecpDevelopmentDemo.launch
@@ -37,10 +37,10 @@
<booleanAttribute key="org.eclipse.rap.launch.useSessionTimeout" value="false"/>
<stringAttribute key="pde.version" value="3.3"/>
<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="com.ibm.icu.base@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.fileupload@default:default,org.apache.commons.io@default:default,org.apache.commons.logging@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client.model.edit@default:default,org.eclipse.emf.emfstore.client.ui@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model.edit@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model.edit@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.emf.rap.common.ui@default:default,org.eclipse.emf.rap.edit.ui@default:default,org.eclipse.emf.rap@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.addons.filedialog@default:default,org.eclipse.rap.addons.fileupload@default:default,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default,org.eclipse.rap.ui.forms@default:default,org.eclipse.rap.ui.views@default:default,org.eclipse.rap.ui.workbench@default:default,org.eclipse.rap.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="target_bundles" value="com.ibm.icu.base@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.fileupload@default:default,org.apache.commons.io@default:default,org.apache.commons.logging@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client.model.edit@default:default,org.eclipse.emf.emfstore.client.ui@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model.edit@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model.edit@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.emf.rap.common.ui@default:default,org.eclipse.emf.rap.edit.ui@default:default,org.eclipse.emf.rap@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.addons.filedialog@default:default,org.eclipse.rap.addons.fileupload@default:default,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default,org.eclipse.rap.ui.forms@default:default,org.eclipse.rap.ui.views@default:default,org.eclipse.rap.ui.workbench@default:default,org.eclipse.rap.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
<stringAttribute key="timestamp" value="1367832274568"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<stringAttribute key="workspace_bundles" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.emffilter@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.emfstore.localserver@default:default,org.eclipse.emf.ecp.emfstore.ui.e3@default:default,org.eclipse.emf.ecp.emfstore.ui.search@default:default,org.eclipse.emf.ecp.emfstore.ui@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.rap.util@default:default,org.eclipse.emf.ecp.rap@default:default,org.eclipse.emf.ecp.ui.e3@default:default,org.eclipse.emf.ecp.ui.rap@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.categorization.swt@default:default,org.eclipse.emf.ecp.view.context.locale@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.rap@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.util.swt.rap@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default"/>
+<stringAttribute key="workspace_bundles" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.emffilter@default:default,org.eclipse.emf.ecp.core.rap.sessionprovider.rwt@default:default,org.eclipse.emf.ecp.core.rap@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core.rap@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.emfstore.localserver@default:default,org.eclipse.emf.ecp.emfstore.ui.e3@default:default,org.eclipse.emf.ecp.emfstore.ui.search@default:default,org.eclipse.emf.ecp.emfstore.ui@default:default,org.eclipse.emf.ecp.examplemodel.ui@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.rap.util@default:default,org.eclipse.emf.ecp.rap@default:default,org.eclipse.emf.ecp.ui.e3@default:default,org.eclipse.emf.ecp.ui.rap@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.categorization.swt@default:default,org.eclipse.emf.ecp.view.context.locale@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.rap@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.table.validation@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.util.swt.rap@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emf.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emf.emfforms.core.services.labelprovider@default:default,org.eclipse.emf.emfforms.localization@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core@default:default"/>
</launchConfiguration>
diff --git a/releng/org.eclipse.emf.ecp.releng/ecpwebemfstore.launch b/releng/org.eclipse.emf.ecp.releng/ecpwebemfstore.launch
new file mode 100644
index 0000000..ee828ed
--- /dev/null
+++ b/releng/org.eclipse.emf.ecp.releng/ecpwebemfstore.launch
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.rap.ui.launch.RAPLauncher">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/ecpwebemfstore"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="default_auto_start" value="true"/>
+<intAttribute key="default_start_level" value="4"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console -consolelog"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dorg.eclipse.equinox.http.jetty.log.stderr.threshold=info"/>
+<stringAttribute key="org.eclipse.rap.launch.browserMode" value="EXTERNAL"/>
+<stringAttribute key="org.eclipse.rap.launch.contextpath" value=""/>
+<stringAttribute key="org.eclipse.rap.launch.dataLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.rap.tools.launch/ecpwebemfstore"/>
+<booleanAttribute key="org.eclipse.rap.launch.developmentMode" value="true"/>
+<stringAttribute key="org.eclipse.rap.launch.entryPoint" value="org.eclipse.emf.ecp.rap.viewapp"/>
+<stringAttribute key="org.eclipse.rap.launch.libraryVariant" value="STANDARD"/>
+<stringAttribute key="org.eclipse.rap.launch.logLevel" value="OFF"/>
+<booleanAttribute key="org.eclipse.rap.launch.openBrowser" value="true"/>
+<intAttribute key="org.eclipse.rap.launch.port" value="52979"/>
+<stringAttribute key="org.eclipse.rap.launch.servletName" value="view"/>
+<stringAttribute key="org.eclipse.rap.launch.servletPath" value="/ecpWeb"/>
+<intAttribute key="org.eclipse.rap.launch.sessionTimeout" value="0"/>
+<booleanAttribute key="org.eclipse.rap.launch.terminatePrevious" value="true"/>
+<booleanAttribute key="org.eclipse.rap.launch.useDefaultDataLocation" value="true"/>
+<booleanAttribute key="org.eclipse.rap.launch.useManualContextPath" value="false"/>
+<booleanAttribute key="org.eclipse.rap.launch.useManualPort" value="true"/>
+<booleanAttribute key="org.eclipse.rap.launch.useSessionTimeout" value="false"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="target_bundles" value="com.ibm.icu.base@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.commons.codec@default:default,org.apache.commons.fileupload@default:default,org.apache.commons.io*2.2.0.201405120000@default:default,org.apache.commons.io*2.2.0.v201405211200@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client.model.edit@default:default,org.eclipse.emf.emfstore.client.ui.rap@default:false,org.eclipse.emf.emfstore.client.ui@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model.edit@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.ecore@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model.edit@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.emf.rap.common.ui@default:default,org.eclipse.emf.rap.edit.ui@default:default,org.eclipse.emf.rap@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.addons.filedialog@default:default,org.eclipse.rap.addons.fileupload@default:default,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default,org.eclipse.rap.ui.forms@default:default,org.eclipse.rap.ui.views@default:default,org.eclipse.rap.ui.workbench@default:default,org.eclipse.rap.ui@default:default,org.eclipse.team.core@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.0.v200806040011@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="timestamp" value="1367832274568"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<stringAttribute key="workspace_bundles" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.emffilter@default:default,org.eclipse.emf.ecp.core.rap.sessionprovider.rwt@1:default,org.eclipse.emf.ecp.core.rap@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.emfstore.localserver@default:default,org.eclipse.emf.ecp.emfstore.ui.e3@default:default,org.eclipse.emf.ecp.emfstore.ui.search@default:default,org.eclipse.emf.ecp.emfstore.ui@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.rap.util@default:default,org.eclipse.emf.ecp.rap@default:default,org.eclipse.emf.ecp.ui.e3@default:default,org.eclipse.emf.ecp.ui.rap@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.categorization.swt@default:default,org.eclipse.emf.ecp.view.context.locale@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.rap@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.util.swt.rap@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.view.model.localization@default:default"/>
+</launchConfiguration>
diff --git a/releng/org.eclipse.emf.ecp.releng/pom.xml b/releng/org.eclipse.emf.ecp.releng/pom.xml
index 7107df2..4d3fa46 100644
--- a/releng/org.eclipse.emf.ecp.releng/pom.xml
+++ b/releng/org.eclipse.emf.ecp.releng/pom.xml
@@ -5,18 +5,18 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
- <tycho-version>0.20.0</tycho-version>
- <tycho-extras-version>0.20.0</tycho-extras-version>
+ <tycho-version>0.22.0</tycho-version>
+ <tycho-extras-version>0.22.0</tycho-extras-version>
<javadoc-version>2.9</javadoc-version>
- <javadoc-title>EMF Client Platform 1.5.1 API</javadoc-title>
+ <javadoc-title>EMF Client Platform 1.6.0 API</javadoc-title>
<maven.antrun.plugin.version>1.7</maven.antrun.plugin.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/emfclient/org.eclipse.emf.ecp.core.git</tycho.scmUrl>
- <jarsigner-version>1.0.5</jarsigner-version>
+ <jarsigner-version>1.1.0</jarsigner-version>
<mav-surefire-version>2.16</mav-surefire-version>
<junit-version>4.11</junit-version>
@@ -94,6 +94,7 @@
</pluginRepositories>
<modules>
+
<module>../../releng/org.eclipse.emf.ecp.target.rcp</module>
<module>../../releng/org.eclipse.emf.ecp.target.rap</module>
<module>../../releng/org.eclipse.emf.ecp.repository</module>
@@ -105,6 +106,8 @@
<module>../../releng/org.eclipse.emf.ecp.releng.features</module>
<module>../../releng/org.eclipse.emf.ecp.releng.tests</module>
<module>../../releng/org.eclipse.emf.ecp.releng.examples</module>
+
+ <module>../../releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng</module>
</modules>
<build>
@@ -259,7 +262,7 @@
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
- <version>0.6.2.201302030002</version>
+ <version>0.7.4.201502262128</version>
<configuration>
<destFile>${sonar.jacoco.reportPath}</destFile>
<append>true</append>
diff --git a/releng/org.eclipse.emf.ecp.repository.target/aggregateSite.properties b/releng/org.eclipse.emf.ecp.repository.target/aggregateSite.properties
index bd294f6..6366433 100644
--- a/releng/org.eclipse.emf.ecp.repository.target/aggregateSite.properties
+++ b/releng/org.eclipse.emf.ecp.repository.target/aggregateSite.properties
@@ -1 +1 @@
-associate.sites=http://download.eclipse.org/emf-store/releases_14, http://download.eclipse.org/edapt/releases/10x
\ No newline at end of file
+associate.sites=http://download.eclipse.org/emf-store/releases_15, http://download.eclipse.org/edapt/releases/11x
\ No newline at end of file
diff --git a/releng/org.eclipse.emf.ecp.repository.target/category.xml b/releng/org.eclipse.emf.ecp.repository.target/category.xml
index fc28439..dfe9eaf 100644
--- a/releng/org.eclipse.emf.ecp.repository.target/category.xml
+++ b/releng/org.eclipse.emf.ecp.repository.target/category.xml
@@ -1,167 +1,170 @@
<?xml version="1.0" encoding="UTF-8"?>
<site>
- <feature id="org.eclipse.emf.ecp.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.cdo.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.cdo.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.emfstore.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.emfstore.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.workspace.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.workspace.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.e3.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.e3.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.sdk.feature" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.sdk.feature" version="0.0.0">
<category name="org.eclipse.emf.ecp.sdk"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.custom.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.custom.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.viewmodel.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.viewmodel.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.label.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.label.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.rule.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.rule.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.group.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.group.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.validation.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.validation.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.horizontal.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.horizontal.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.vertical.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.vertical.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.custom.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.custom.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.group.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.group.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.label.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.label.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.rule.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.rule.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.table.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.table.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.template.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.template.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.categorization.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.categorization.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.model.editor.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.model.editor.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.template.helper.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.unset.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.unset.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.ecore.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.ecore.feature.source" version="1.5.1.qualifier">
- <category name="org.eclipse.emf.ecp.emfforms"/>
- </feature>
- <feature id="org.eclipse.emf.ecp.e4.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.e4.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.treemasterdetail.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.treemasterdetail.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.rap.util.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.rap.util.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.rap"/>
</feature>
- <feature id="org.eclipse.emf.ecp.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.emfforms.runtime.feature" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.emfforms.runtime.feature" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.emfforms.sdk.feature" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.emfforms.sdk.feature" version="0.0.0">
<category name="org.eclipse.emf.ecp.sdk"/>
</feature>
- <feature id="org.eclipse.emf.ecp.demo.e4.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.demo.e4.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.rap.sdk.feature" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.rap.sdk.feature" version="0.0.0">
<category name="org.eclipse.emf.ecp.rap"/>
</feature>
- <feature id="org.eclipse.emf.ecp.demo.e3.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.demo.e3.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.model.controls.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.model.controls.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.diffmerge.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.diffmerge.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.validation.view.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.validation.view.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.sdk.e4.feature" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.sdk.e4.feature" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.emfforms.idetooling.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.emfforms.idetooling.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.makeithappen.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.makeithappen.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.mappingdmr.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.mappingdmr.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.stack.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.stack.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.di.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.di.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.compoundcontrol.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.compoundcontrol.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.validation.bean.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.validation.bean.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.section.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.section.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.viewproxy.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.viewproxy.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature url="features/org.eclipse.emf.ecp.view.keyattributedmr.feature_1.5.1.qualifier.jar" id="org.eclipse.emf.ecp.view.keyattributedmr.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.keyattributedmr.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature url="features/org.eclipse.emf.ecp.view.indexdmr.feature_1.5.1.qualifier.jar" id="org.eclipse.emf.ecp.view.indexdmr.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.indexdmr.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature url="features/org.eclipse.emf.ecp.view.validation.initial.feature_1.5.1.qualifier.jar" id="org.eclipse.emf.ecp.view.validation.initial.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.validation.initial.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature url="features/org.eclipse.emf.ecp.changebroker.feature_1.5.1.qualifier.jar" id="org.eclipse.emf.ecp.changebroker.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.changebroker.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature url="features/org.eclipse.emf.ecp.view.edapt.feature_1.5.1.qualifier.jar" id="org.eclipse.emf.ecp.view.edapt.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.edapt.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.table.celleditor.rcp.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.table.celleditor.rcp.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <bundle id="org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emfforms.swt.control.text.autocomplete.feature.source" version="0.0.0">
+ <category name="org.eclipse.emf.ecp.emfforms"/>
+ </feature>
+ <feature id="org.eclipse.emfforms.view.annotation.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
- </bundle>
+ </feature>
+ <feature id="org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature.source" version="0.0.0">
+ <category name="org.eclipse.emf.ecp.emfforms"/>
+ </feature>
<category-def name="org.eclipse.emf.ecp.sdk" label="All SDKs (install one of these)">
<description>
Contains the ECP SDKs. Please install only one of these.
diff --git a/releng/org.eclipse.emf.ecp.repository.target/pom.xml b/releng/org.eclipse.emf.ecp.repository.target/pom.xml
index 9949568..152bd4d 100644
--- a/releng/org.eclipse.emf.ecp.repository.target/pom.xml
+++ b/releng/org.eclipse.emf.ecp.repository.target/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.site.target.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
<!-- see http://www.codetrails.com/blog/maven-tycho-how-to-configure-your-repos-mirror-and-statistics-uris -->
diff --git a/releng/org.eclipse.emf.ecp.repository/aggregateSite.properties b/releng/org.eclipse.emf.ecp.repository/aggregateSite.properties
index bd294f6..6366433 100644
--- a/releng/org.eclipse.emf.ecp.repository/aggregateSite.properties
+++ b/releng/org.eclipse.emf.ecp.repository/aggregateSite.properties
@@ -1 +1 @@
-associate.sites=http://download.eclipse.org/emf-store/releases_14, http://download.eclipse.org/edapt/releases/10x
\ No newline at end of file
+associate.sites=http://download.eclipse.org/emf-store/releases_15, http://download.eclipse.org/edapt/releases/11x
\ No newline at end of file
diff --git a/releng/org.eclipse.emf.ecp.repository/category.xml b/releng/org.eclipse.emf.ecp.repository/category.xml
index 8ee8490..e58e2f3 100644
--- a/releng/org.eclipse.emf.ecp.repository/category.xml
+++ b/releng/org.eclipse.emf.ecp.repository/category.xml
@@ -1,149 +1,155 @@
<?xml version="1.0" encoding="UTF-8"?>
<site>
- <feature id="org.eclipse.emf.ecp.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.cdo.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.cdo.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.emfstore.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.emfstore.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.workspace.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.workspace.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.e3.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.e3.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.sdk.feature" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.sdk.feature" version="0.0.0">
<category name="org.eclipse.emf.ecp.sdk"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.custom.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.custom.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.viewmodel.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.viewmodel.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.label.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.label.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.rule.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.rule.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.group.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.group.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.validation.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.validation.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.horizontal.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.horizontal.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.vertical.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.vertical.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.custom.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.custom.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.group.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.group.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.label.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.label.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.rule.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.rule.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.table.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.table.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.template.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.template.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.categorization.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.categorization.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.model.editor.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.model.editor.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.template.helper.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.unset.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.unset.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.ecore.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.ecore.feature.source" version="1.5.1.qualifier">
- <category name="org.eclipse.emf.ecp.emfforms"/>
- </feature>
- <feature id="org.eclipse.emf.ecp.view.treemasterdetail.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.treemasterdetail.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.emfforms.runtime.feature" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.emfforms.runtime.feature" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.emfforms.sdk.feature" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.emfforms.sdk.feature" version="0.0.0">
<category name="org.eclipse.emf.ecp.sdk"/>
</feature>
- <feature id="org.eclipse.emf.ecp.demo.e3.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.demo.e3.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.model.controls.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.model.controls.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.diffmerge.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.diffmerge.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.validation.view.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.validation.view.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.category"/>
</feature>
- <feature id="org.eclipse.emf.ecp.emfforms.idetooling.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.emfforms.idetooling.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.makeithappen.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.makeithappen.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.mappingdmr.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.mappingdmr.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.stack.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.stack.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.di.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.di.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.compoundcontrol.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.compoundcontrol.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.validation.bean.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.validation.bean.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.section.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.section.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.viewproxy.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.viewproxy.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
</feature>
- <feature url="features/org.eclipse.emf.ecp.view.keyattributedmr.feature_1.5.1.qualifier.jar" id="org.eclipse.emf.ecp.view.keyattributedmr.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.keyattributedmr.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature url="features/org.eclipse.emf.ecp.view.indexdmr.feature_1.5.1.qualifier.jar" id="org.eclipse.emf.ecp.view.indexdmr.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.indexdmr.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature url="features/org.eclipse.emf.ecp.view.validation.initial.feature_1.5.1.qualifier.jar" id="org.eclipse.emf.ecp.view.validation.initial.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.validation.initial.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature url="features/org.eclipse.emf.ecp.view.edapt.feature_1.5.1.qualifier.jar" id="org.eclipse.emf.ecp.view.edapt.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.edapt.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <feature id="org.eclipse.emf.ecp.view.table.celleditor.rcp.feature.source" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emf.ecp.view.table.celleditor.rcp.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.emfforms"/>
</feature>
- <bundle id="org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup" version="1.5.1.qualifier">
+ <feature id="org.eclipse.emfforms.swt.control.text.autocomplete.feature.source" version="0.0.0">
+ <category name="org.eclipse.emf.ecp.emfforms"/>
+ </feature>
+ <feature id="org.eclipse.emfforms.view.annotation.feature.source" version="0.0.0">
<category name="org.eclipse.emf.ecp.view"/>
- </bundle>
+ </feature>
+ <feature id="org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup.feature.source" version="0.0.0">
+ <category name="org.eclipse.emf.ecp.emfforms"/>
+ </feature>
+ <feature id="org.eclipse.emf.ecp.sdk.e4.feature" version="0.0.0">
+ <category name="org.eclipse.emf.ecp.category"/>
+ </feature>
<category-def name="org.eclipse.emf.ecp.sdk" label="All SDKs (install one of these)">
<description>
Contains the ECP SDKs. Please install only one of these.
diff --git a/releng/org.eclipse.emf.ecp.repository/pom.xml b/releng/org.eclipse.emf.ecp.repository/pom.xml
index 568f74d..13af01b 100644
--- a/releng/org.eclipse.emf.ecp.repository/pom.xml
+++ b/releng/org.eclipse.emf.ecp.repository/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.site.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
<!-- see http://www.codetrails.com/blog/maven-tycho-how-to-configure-your-repos-mirror-and-statistics-uris -->
diff --git a/releng/org.eclipse.emf.ecp.target.rap.mars/ecpRAPMars.target b/releng/org.eclipse.emf.ecp.target.rap.mars/ecpRAPMars.target
index 9bc8a07..55d1cd3 100644
--- a/releng/org.eclipse.emf.ecp.target.rap.mars/ecpRAPMars.target
+++ b/releng/org.eclipse.emf.ecp.target.rap.mars/ecpRAPMars.target
@@ -1,67 +1,60 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="ECP RAP" sequenceNumber="254">
+<?pde version="3.8"?><target name="ECP RAP" sequenceNumber="260">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.swtbot.forms.feature.group" version="2.2.1.201402241301"/>
-<unit id="org.eclipse.swtbot.eclipse.feature.group" version="2.2.1.201402241301"/>
-<unit id="org.eclipse.swtbot.eclipse.gef.feature.group" version="2.2.1.201402241301"/>
-<unit id="org.eclipse.swtbot.feature.group" version="2.2.1.201402241301"/>
-<unit id="org.eclipse.swtbot.eclipse.test.junit.feature.group" version="2.2.1.201402241301"/>
-<unit id="org.hamcrest.core" version="1.3.0.v201303031735"/>
-<unit id="org.hamcrest.library" version="1.3.0.v201305281000"/>
-<unit id="org.hamcrest.library.source" version="1.3.0.v201305281000"/>
+<unit id="org.eclipse.swtbot.forms.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.eclipse.gef.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.eclipse.test.junit.feature.group" version="0.0.0"/>
+<unit id="org.hamcrest.core" version="0.0.0"/>
+<unit id="org.hamcrest.library" version="0.0.0"/>
+<unit id="org.hamcrest.library.source" version="0.0.0"/>
<repository location="http://download.eclipse.org/technology/swtbot/releases/latest/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.h2" version="1.3.168.v201212121212"/>
-<unit id="org.h2.source" version="1.3.168.v201212121212"/>
-<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
-<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
+<unit id="org.h2" version="0.0.0"/>
+<unit id="org.h2.source" version="0.0.0"/>
+<unit id="org.apache.log4j.source" version="0.0.0"/>
+<unit id="org.apache.log4j" version="0.0.0"/>
<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/S20140917154621/repository/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.equinox.sdk.feature.group" version="3.11.0.v20141210-0918"/>
-<unit id="org.eclipse.platform.ide" version="4.5.0.I20141210-2000"/>
-<repository location="http://download.eclipse.org/eclipse/updates/4.5milestones/S-4.5M4-201412102000/"/>
+<unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.platform.ide" version="0.0.0"/>
+<repository location="http://download.eclipse.org/eclipse/updates/4.5milestones/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.ecp.rap.sdk.feature.feature.group" version="1.3.0.20140610-1229"/>
-<unit id="org.eclipse.emf.ecp.rap.util.feature.feature.group" version="1.3.0.20140610-1229"/>
-<unit id="org.eclipse.emf.ecp.emfforms.sdk.feature.feature.group" version="1.3.0.20140610-1229"/>
-<repository location="http://download.eclipse.org/ecp/releases/releases_13"/>
+<unit id="org.eclipse.emf.ecp.rap.sdk.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.rap.util.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.emfforms.sdk.feature.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/ecp/releases/releases_16"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.rap.fileupload.feature.feature.group" version="2.3.0.20140517-1319"/>
+<unit id="org.eclipse.rap.fileupload.feature.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/rt/rap/incubator/2.3/fileupload/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="4.3.0.v20140606-1557"/>
-<unit id="org.eclipse.emf.sdk.feature.group" version="2.11.0.v20141215-0350"/>
-<unit id="org.eclipse.emf.transaction.sdk.feature.group" version="1.9.0.201412161904"/>
-<unit id="org.eclipse.emf.validation.sdk.feature.group" version="1.9.0.201412161741"/>
-<unit id="org.eclipse.gef.sdk.feature.group" version="3.10.0.201412150306"/>
-<unit id="org.eclipse.graphiti.export.feature.feature.group" version="0.12.0.v20141217-1136"/>
-<unit id="org.eclipse.graphiti.feature.feature.group" version="0.12.0.v20141217-1136"/>
-<unit id="org.eclipse.jdt.feature.group" version="3.11.0.v20141210-2000"/>
-<unit id="org.eclipse.net4j.sdk.feature.group" version="4.3.0.v20140308-0604"/>
-<repository location="http://download.eclipse.org/releases/mars/201412191000"/>
+<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.transaction.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.validation.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.gef.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.graphiti.export.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.graphiti.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.net4j.sdk.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/releases/mars"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.emfstore.client.transaction.feature.feature.group" version="1.4.0.v20140912-0421"/>
-<unit id="org.eclipse.emf.emfstore.client.feature.feature.group" version="1.4.0.v20140912-0421"/>
-<unit id="org.eclipse.emf.emfstore.common.feature.feature.group" version="1.4.0.v20140912-0421"/>
-<unit id="org.eclipse.emf.emfstore.server.feature.feature.group" version="1.4.0.v20140912-0421"/>
-<unit id="org.eclipse.emf.emfstore.example.feature.feature.group" version="1.4.0.v20140912-0421"/>
-<unit id="org.eclipse.emf.emfstore.client.ui.feature.feature.group" version="1.4.0.v20140912-0421"/>
-<unit id="org.eclipse.emf.emfstore.ecore.feature.feature.group" version="1.4.0.v20140912-0421"/>
-<repository location="http://download.eclipse.org/emf-store/releases_14"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.rap.sdk.feature.group" version="2.10.0.v20140519-0339"/>
-<unit id="org.eclipse.rap.equinox.target.feature.feature.group" version="2.3.0.20140608-1653"/>
-<unit id="org.eclipse.rap.feature.feature.group" version="2.3.0.20140610-0925"/>
-<unit id="org.eclipse.rap.sdk.feature.feature.group" version="2.3.0.20140610-0925"/>
-<repository location="http://download.eclipse.org/releases/luna/"/>
+<unit id="org.eclipse.emf.emfstore.client.transaction.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.client.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.common.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.server.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.example.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.client.ui.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.ecore.feature.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/emfstore/releases_15"/>
</location>
</locations>
</target>
diff --git a/releng/org.eclipse.emf.ecp.target.rap.mars/pom.xml b/releng/org.eclipse.emf.ecp.target.rap.mars/pom.xml
index 6fc4d33..f32886a 100644
--- a/releng/org.eclipse.emf.ecp.target.rap.mars/pom.xml
+++ b/releng/org.eclipse.emf.ecp.target.rap.mars/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecpRAPMars</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-target-definition</packaging>
</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.emf.ecp.target.rap/ecpRAP.target b/releng/org.eclipse.emf.ecp.target.rap/ecpRAP.target
index 071b15e..72eb72f 100644
--- a/releng/org.eclipse.emf.ecp.target.rap/ecpRAP.target
+++ b/releng/org.eclipse.emf.ecp.target.rap/ecpRAP.target
@@ -1,18 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="ECP RAP" sequenceNumber="249">
+<?pde version="3.8"?><target name="ECP RAP" sequenceNumber="251">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.swtbot.forms.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.swtbot.eclipse.gef.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.swtbot.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.swtbot.eclipse.test.junit.feature.group" version="0.0.0"/>
-<unit id="org.hamcrest.core" version="0.0.0"/>
-<unit id="org.hamcrest.library" version="0.0.0"/>
-<unit id="org.hamcrest.library.source" version="0.0.0"/>
-<repository location="http://download.eclipse.org/technology/swtbot/releases/latest/"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.h2" version="0.0.0"/>
<unit id="org.h2.source" version="0.0.0"/>
<unit id="org.apache.log4j.source" version="0.0.0"/>
@@ -22,11 +11,7 @@
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
<unit id="org.eclipse.platform.ide" version="0.0.0"/>
-<repository location="http://download.eclipse.org/eclipse/updates/4.4"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.rap.fileupload.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/rt/rap/incubator/2.3/fileupload/"/>
+<repository location="http://download.eclipse.org/eclipse/updates/4.5milestones"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="0.0.0"/>
@@ -42,7 +27,7 @@
<unit id="org.eclipse.rap.equinox.target.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.rap.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.rap.sdk.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/releases/luna/"/>
+<repository location="http://download.eclipse.org/releases/mars/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.emf.emfstore.client.transaction.feature.feature.group" version="0.0.0"/>
@@ -52,7 +37,14 @@
<unit id="org.eclipse.emf.emfstore.example.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.emfstore.client.ui.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.emfstore.ecore.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/emf-store/releases_14"/>
+<repository location="http://download.eclipse.org/emfstore/releases_15"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.swtbot.eclipse.gef.feature.group" version="2.2.1.201402241301"/>
+<unit id="org.eclipse.swtbot.eclipse.feature.group" version="2.2.1.201402241301"/>
+<unit id="org.eclipse.swtbot.forms.feature.group" version="2.2.1.201402241301"/>
+<unit id="org.eclipse.swtbot.feature.group" version="2.2.1.201402241301"/>
+<repository location="http://download.eclipse.org/technology/swtbot/releases/latest/"/>
</location>
</locations>
</target>
diff --git a/releng/org.eclipse.emf.ecp.target.rap/ecpRAP_withECP.target b/releng/org.eclipse.emf.ecp.target.rap/ecpRAP_withECP.target
index b177ca9..78718bf 100644
--- a/releng/org.eclipse.emf.ecp.target.rap/ecpRAP_withECP.target
+++ b/releng/org.eclipse.emf.ecp.target.rap/ecpRAP_withECP.target
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="ECP RAP" sequenceNumber="1">
+<?pde version="3.8"?><target name="ECP RAP" sequenceNumber="2">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.swtbot.forms.feature.group" version="0.0.0"/>
@@ -22,17 +22,13 @@
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
<unit id="org.eclipse.platform.ide" version="0.0.0"/>
-<repository location="http://download.eclipse.org/eclipse/updates/4.4"/>
+<repository location="http://download.eclipse.org/eclipse/updates/4.5milestones"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.emf.ecp.rap.sdk.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.ecp.rap.util.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.ecp.emfforms.sdk.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/ecp/releases/releases_target_15"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.rap.fileupload.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/rt/rap/incubator/2.3/fileupload/"/>
+<repository location="http://download.eclipse.org/ecp/releases/releases_target_16"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="0.0.0"/>
@@ -48,7 +44,7 @@
<unit id="org.eclipse.rap.equinox.target.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.rap.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.rap.sdk.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/releases/luna/"/>
+<repository location="http://download.eclipse.org/releases/mars/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.emf.emfstore.client.transaction.feature.feature.group" version="0.0.0"/>
@@ -58,7 +54,7 @@
<unit id="org.eclipse.emf.emfstore.example.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.emfstore.client.ui.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.emfstore.ecore.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/emf-store/releases_14"/>
+<repository location="http://download.eclipse.org/emfstore/releases_15"/>
</location>
</locations>
</target>
diff --git a/releng/org.eclipse.emf.ecp.target.rap/pom.xml b/releng/org.eclipse.emf.ecp.target.rap/pom.xml
index 395a13a..c4b6535 100644
--- a/releng/org.eclipse.emf.ecp.target.rap/pom.xml
+++ b/releng/org.eclipse.emf.ecp.target.rap/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecpRAP</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-target-definition</packaging>
</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.emf.ecp.target.rcp.mars/ecpMars.target b/releng/org.eclipse.emf.ecp.target.rcp.mars/ecpMars.target
index bdea3c6..deca146 100644
--- a/releng/org.eclipse.emf.ecp.target.rcp.mars/ecpMars.target
+++ b/releng/org.eclipse.emf.ecp.target.rcp.mars/ecpMars.target
@@ -1,65 +1,65 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="ECP RCP" sequenceNumber="247">
+<?pde version="3.8"?><target name="ECP RCP" sequenceNumber="251">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.equinox.sdk.feature.group" version="3.11.0.v20141210-0918"/>
-<unit id="org.eclipse.platform.ide" version="4.5.0.I20141210-2000"/>
-<repository location="http://download.eclipse.org/eclipse/updates/4.5milestones/S-4.5M4-201412102000/"/>
+<unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.platform.ide" version="0.0.0"/>
+<repository location="http://download.eclipse.org/eclipse/updates/4.5milestones/S-4.5M6-201503200800/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.emfstore.client.transaction.feature.feature.group" version="1.4.0.v20140912-0421"/>
-<unit id="org.eclipse.emf.emfstore.client.feature.feature.group" version="1.4.0.v20140912-0421"/>
-<unit id="org.eclipse.emf.emfstore.common.feature.feature.group" version="1.4.0.v20140912-0421"/>
-<unit id="org.eclipse.emf.emfstore.server.feature.feature.group" version="1.4.0.v20140912-0421"/>
-<unit id="org.eclipse.emf.emfstore.example.feature.feature.group" version="1.4.0.v20140912-0421"/>
-<unit id="org.eclipse.emf.emfstore.client.ui.feature.feature.group" version="1.4.0.v20140912-0421"/>
-<unit id="org.eclipse.emf.emfstore.ecore.feature.feature.group" version="1.4.0.v20140912-0421"/>
-<repository location="http://download.eclipse.org/emf-store/releases_14"/>
+<unit id="org.eclipse.emf.emfstore.client.transaction.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.client.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.common.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.server.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.example.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.client.ui.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.ecore.feature.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/emfstore/releases_15"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.jdt.feature.group" version="3.11.0.v20141210-2000"/>
-<unit id="org.eclipse.emf.sdk.feature.group" version="2.11.0.v20141215-0350"/>
-<unit id="org.eclipse.gef.sdk.feature.group" version="3.10.0.201412150306"/>
-<unit id="org.eclipse.graphiti.feature.feature.group" version="0.12.0.v20141217-1136"/>
-<unit id="org.eclipse.graphiti.export.feature.feature.group" version="0.12.0.v20141217-1136"/>
-<unit id="org.eclipse.emf.validation.sdk.feature.group" version="1.9.0.201412161741"/>
-<unit id="org.eclipse.emf.transaction.sdk.feature.group" version="1.9.0.201412161904"/>
-<unit id="org.eclipse.net4j.sdk.feature.group" version="4.3.0.v20140308-0604"/>
-<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="4.3.0.v20140606-1557"/>
-<unit id="org.eclipse.pde.feature.group" version="3.11.0.v20141210-2000"/>
-<unit id="org.eclipse.ocl.all.sdk.feature.group" version="5.1.0.v20141108-1946"/>
-<repository location="http://download.eclipse.org/releases/mars/201412191000"/>
+<unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.gef.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.graphiti.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.graphiti.export.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.validation.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.transaction.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.net4j.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.pde.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.ocl.all.sdk.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/releases/mars"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.mockito.mockito-all" version="1.9.5"/>
+<unit id="org.mockito.mockito-all" version="0.0.0"/>
<repository location="http://build.eclipse.org/rt/rap/base-platforms/2.3/extra-dependencies/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
-<unit id="org.objenesis.source" version="1.0.0.v201105211943"/>
-<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
-<unit id="org.objenesis" version="1.0.0.v201105211943"/>
-<unit id="org.h2.source" version="1.3.168.v201212121212"/>
-<unit id="org.h2" version="1.3.168.v201212121212"/>
-<unit id="javax.validation" version="1.0.0.GA_v201205091237"/>
-<unit id="javax.validation.source" version="1.0.0.GA_v201205091237"/>
+<unit id="org.apache.log4j.source" version="0.0.0"/>
+<unit id="org.objenesis.source" version="0.0.0"/>
+<unit id="org.apache.log4j" version="0.0.0"/>
+<unit id="org.objenesis" version="0.0.0"/>
+<unit id="org.h2.source" version="0.0.0"/>
+<unit id="org.h2" version="0.0.0"/>
+<unit id="javax.validation" version="0.0.0"/>
+<unit id="javax.validation.source" version="0.0.0"/>
<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/S20140917154621/repository/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.edapt.runtime.feature.feature.group" version="1.0.0.201411071217"/>
+<unit id="org.eclipse.emf.edapt.runtime.feature.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/edapt/releases/10x/100"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.hamcrest.core.source" version="1.3.0.v201303031735"/>
-<unit id="org.hamcrest.library.source" version="1.3.0.v201305281000"/>
-<unit id="org.eclipse.swtbot.eclipse.feature.group" version="2.2.1.201402241301"/>
-<unit id="org.eclipse.swtbot.feature.group" version="2.2.1.201402241301"/>
-<unit id="org.eclipse.swtbot.eclipse.gef.feature.group" version="2.2.1.201402241301"/>
-<unit id="org.hamcrest.core" version="1.3.0.v201303031735"/>
-<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
-<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
-<unit id="org.eclipse.swtbot.forms.feature.group" version="2.2.1.201402241301"/>
-<unit id="org.hamcrest.library" version="1.3.0.v201305281000"/>
+<unit id="org.hamcrest.core.source" version="0.0.0"/>
+<unit id="org.hamcrest.library.source" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.eclipse.gef.feature.group" version="0.0.0"/>
+<unit id="org.hamcrest.core" version="0.0.0"/>
+<unit id="org.apache.log4j.source" version="0.0.0"/>
+<unit id="org.apache.log4j" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.forms.feature.group" version="0.0.0"/>
+<unit id="org.hamcrest.library" version="0.0.0"/>
<repository location="http://download.eclipse.org/technology/swtbot/releases/latest/"/>
</location>
</locations>
diff --git a/releng/org.eclipse.emf.ecp.target.rcp.mars/pom.xml b/releng/org.eclipse.emf.ecp.target.rcp.mars/pom.xml
index a6bedf6..e12e66f 100644
--- a/releng/org.eclipse.emf.ecp.target.rcp.mars/pom.xml
+++ b/releng/org.eclipse.emf.ecp.target.rcp.mars/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecpMars</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-target-definition</packaging>
</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.emf.ecp.target.rcp/ecp.target b/releng/org.eclipse.emf.ecp.target.rcp/ecp.target
index 6f5c523..deb6cd3 100644
--- a/releng/org.eclipse.emf.ecp.target.rcp/ecp.target
+++ b/releng/org.eclipse.emf.ecp.target.rcp/ecp.target
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="ECP RCP" sequenceNumber="245">
+<?pde version="3.8"?><target name="ECP RCP" sequenceNumber="255">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.swtbot.forms.feature.group" version="0.0.0"/>
@@ -15,7 +15,7 @@
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
<unit id="org.eclipse.platform.ide" version="0.0.0"/>
-<repository location="http://download.eclipse.org/eclipse/updates/4.4"/>
+<repository location="http://download.eclipse.org/eclipse/updates/4.5milestones"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.emf.emfstore.client.transaction.feature.feature.group" version="0.0.0"/>
@@ -25,7 +25,7 @@
<unit id="org.eclipse.emf.emfstore.example.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.emfstore.client.ui.feature.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.emfstore.ecore.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/emf-store/releases_14"/>
+<repository location="http://download.eclipse.org/emfstore/releases_15"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
@@ -39,26 +39,29 @@
<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="0.0.0"/>
<unit id="org.eclipse.pde.feature.group" version="0.0.0"/>
<unit id="org.eclipse.ocl.all.sdk.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/releases/luna"/>
+<repository location="http://download.eclipse.org/releases/mars"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.mockito.mockito-all" version="0.0.0"/>
<repository location="http://build.eclipse.org/rt/rap/base-platforms/2.3/extra-dependencies/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.apache.log4j.source" version="0.0.0"/>
-<unit id="org.objenesis.source" version="0.0.0"/>
-<unit id="org.apache.log4j" version="0.0.0"/>
-<unit id="org.objenesis" version="0.0.0"/>
-<unit id="org.h2.source" version="0.0.0"/>
-<unit id="org.h2" version="0.0.0"/>
-<unit id="javax.validation" version="0.0.0"/>
-<unit id="javax.validation.source" version="0.0.0"/>
+<unit id="javax.validation" version="1.0.0.GA_v201205091237"/>
+<unit id="org.apache.poi.source" version="3.9.0.v201405241750"/>
+<unit id="org.apache.poi" version="3.9.0.v201405241750"/>
+<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
+<unit id="org.objenesis" version="1.0.0.v201105211943"/>
+<unit id="org.objenesis.source" version="1.0.0.v201105211943"/>
+<unit id="org.h2" version="1.3.168.v201212121212"/>
+<unit id="javax.validation.source" version="1.0.0.GA_v201205091237"/>
+<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
+<unit id="org.h2.source" version="1.3.168.v201212121212"/>
<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.emf.edapt.runtime.feature.feature.group" version="0.0.0"/>
-<repository location="http://download.eclipse.org/edapt/releases/10x/101"/>
+<unit id="org.eclipse.emf.edapt.runtime.feature.source.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/edapt/releases/11x"/>
</location>
</locations>
</target>
diff --git a/releng/org.eclipse.emf.ecp.target.rcp/pom.xml b/releng/org.eclipse.emf.ecp.target.rcp/pom.xml
index 4953e68..dcc5e11 100644
--- a/releng/org.eclipse.emf.ecp.target.rcp/pom.xml
+++ b/releng/org.eclipse.emf.ecp.target.rcp/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-target-definition</packaging>
</project>
\ No newline at end of file
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.bundles/.project b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.bundles/.project
new file mode 100644
index 0000000..20c29c2
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.bundles/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.releng.bundles</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.bundles/pom.xml b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.bundles/pom.xml
new file mode 100644
index 0000000..6369908
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.bundles/pom.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-bundles-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../org.eclipse.emfforms.spreadsheet.releng/</relativePath>
+ </parent>
+
+ <modules>
+ <module>../../../bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core</module>
+ <module>../../../bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer</module>
+ <module>../../../bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer</module>
+ <module>../../../bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.categorization</module>
+ <module>../../../bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.custom</module>
+ <module>../../../bundles/spreadsheet/org.eclipse.emfforms.spreadsheet.core.renderer.table</module>
+ </modules>
+
+ <build>
+ <plugins>
+ <!-- 1. -->
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-source</id>
+ <goals>
+ <goal>plugin-source</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <!-- 2. -->
+ <profile>
+ <id>build-server</id>
+ <build>
+ <plugins>
+ <!-- 3.a -->
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-pack200a-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>pack200-normalize</id>
+ <goals>
+ <goal>normalize</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.cbi.maven.plugins</groupId>
+ <artifactId>eclipse-jarsigner-plugin</artifactId>
+ <version>${jarsigner-version}</version>
+ <executions>
+ <execution>
+ <id>sign</id>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <excludeInnerJars>true</excludeInnerJars>
+ </configuration>
+ </plugin>
+ <!-- 3.b -->
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-pack200b-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>pack200-pack</id>
+ <goals>
+ <goal>pack</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- 4. -->
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>attach-p2-metadata</id>
+ <phase>package</phase>
+ <goals>
+ <goal>p2-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <defaultP2Metadata>false</defaultP2Metadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
\ No newline at end of file
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.features/.project b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.features/.project
new file mode 100644
index 0000000..917003b
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.features/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.releng.features</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.features/pom.xml b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.features/pom.xml
new file mode 100644
index 0000000..4e5cf3a
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.features/pom.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../org.eclipse.emfforms.spreadsheet.releng/</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-features-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>../../../features/spreadsheet/org.eclipse.emfforms.spreadsheet.feature</module>
+ </modules>
+
+ <!-- Parent used for features. This POM contains all build steps for code signing. -->
+ <build>
+ <plugins>
+ <!-- 1. -->
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-source-feature-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>generate-source-feature</id>
+ <goals>
+ <goal>source-feature</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <excludes>
+ <feature id="org.eclipse.emf.ecp.license.feature"/>
+ </excludes>
+ <labelSuffix> incl. Sources</labelSuffix>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <!-- 2. -->
+ <id>default-p2-metadata-default</id>
+ <configuration>
+ <attachP2Metadata>false</attachP2Metadata>
+ </configuration>
+ </execution>
+ <execution>
+ <id>attach-p2-metadata</id>
+ <phase>package</phase>
+ <goals>
+ <goal>p2-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <!-- 3. -->
+ <profile>
+ <id>build-server</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.cbi.maven.plugins</groupId>
+ <artifactId>eclipse-jarsigner-plugin</artifactId>
+ <version>${jarsigner-version}</version>
+ <executions>
+ <execution>
+ <id>sign</id>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <excludeInnerJars>true</excludeInnerJars>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
\ No newline at end of file
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.repository/.project b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.repository/.project
new file mode 100644
index 0000000..556915b
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.repository/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.releng.repository</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.repository/build.xml b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.repository/build.xml
new file mode 100644
index 0000000..86dba82
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.repository/build.xml
@@ -0,0 +1,67 @@
+<project default="custom.build" name="ECP site to include updatessite">
+
+ <condition property="build.xml" value="build.xml">
+ <available file="build.xml" type="file" />
+ </condition>
+
+ <property name="update.site.source.dir" value="target/repository" />
+
+ <property name="aggregateSite.properties" value="aggregateSite.properties" />
+ <property file="${aggregateSite.properties}" />
+
+ <target name="init">
+ <taskdef resource="net/sf/antcontrib/antlib.xml">
+ <classpath>
+ <pathelement location="ant-contrib-1.0b3.jar" />
+ </classpath>
+ </taskdef>
+ </target>
+
+ <target name="custom.build" description="aggregate update site extras" depends="init,add.associate.sites" />
+
+ <target name="add.associate.sites" if="associate.sites">
+ <if>
+ <and>
+ <!-- Defined in aggregateSite.properties -->
+ <isset property="associate.sites" />
+ <not>
+ <equals arg1="${associate.sites}" arg2="" />
+ </not>
+ </and>
+ <then>
+ <if>
+ <available file="${update.site.source.dir}/content.jar" type="file" />
+ <then>
+ <unzip src="${update.site.source.dir}/content.jar" dest="${update.site.source.dir}" />
+ <delete file="${update.site.source.dir}/content.jar" />
+ </then>
+ </if>
+ <!-- counter variable -->
+ <var name="associate.sites.0" value="" />
+ <for param="associate.site" list="${associate.sites}" delimiter=", ">
+ <sequential>
+ <var name="associate.sites.0" value="${associate.sites.0}00" />
+ </sequential>
+ </for>
+ <length property="associate.sites.length" string="${associate.sites.0}" />
+
+ <loadfile srcfile="${update.site.source.dir}/content.xml" property="content.xml">
+ <filterchain>
+ <tailfilter lines="-1" skip="1" />
+ </filterchain>
+ </loadfile>
+ <echo file="${update.site.source.dir}/content.xml" message="${content.xml}" />
+ <echo file="${update.site.source.dir}/content.xml" append="true"> <references size='${associate.sites.length}'></echo>
+ <for param="associate.site" list="${associate.sites}" delimiter=", ">
+ <sequential>
+ <!-- insert into content.xml -->
+ <echo file="${update.site.source.dir}/content.xml" append="true"> <repository uri='@{associate.site}' url='@{associate.site}' type='0' options='1'/><repository uri='@{associate.site}' url='@{associate.site}' type='1' options='1'/></echo>
+ </sequential>
+ </for>
+ <echo file="${update.site.source.dir}/content.xml" append="true"> </references></repository></echo>
+ <zip destfile="${update.site.source.dir}/content.jar" basedir="${update.site.source.dir}" includes="content.xml" />
+ <delete file="${update.site.source.dir}/content.xml" />
+ </then>
+ </if>
+ </target>
+</project>
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.repository/category.xml b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.repository/category.xml
new file mode 100644
index 0000000..33c752d
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.repository/category.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+ <feature id="org.eclipse.emfforms.spreadsheet.feature" version="0.0.0">
+ <category name="org.eclipse.emfforms.spreadsheet"/>
+ </feature>
+ <category-def name="org.eclipse.emfforms.spreadsheet" label="Spreadsheet Import Export for EMFForms">
+ <description>
+ Contains the EMFForms Support for import and export of Spreadsheerts.
+ </description>
+ </category-def>
+</site>
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.repository/pom.xml b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.repository/pom.xml
new file mode 100644
index 0000000..233844b
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.repository/pom.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../org.eclipse.emfforms.spreadsheet.releng/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-repository</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-repository</packaging>
+
+ <!-- see http://www.codetrails.com/blog/maven-tycho-how-to-configure-your-repos-mirror-and-statistics-uris -->
+ <properties>
+ <p2MirrorsURL>http://www.eclipse.org/downloads/download.php?file=/ecp/releases/releases_16/160&format=xml</p2MirrorsURL>
+ <p2StatsURL>http://download.eclipse.org/stats/ecp</p2StatsURL>
+ <!-- At the moment, this list of features needs to be maintained manually. -->
+ <statsTrackedArtifacts>org.eclipse.emf.ecp.emfforms.runtime.feature,org.eclipse.emf.ecp.emfforms.sdk.feature,org.eclipse.emf.ecp.sdk.feature,org.eclipse.emf.ecp.sdk.e4.feature,org.eclipse.emf.ecp.rap.sdk.feature</statsTrackedArtifacts>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-repository-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <compress>true</compress>
+ <finalName>repository</finalName>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-eclipserun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>add-repo-properties</id>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-eclipserun-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>add-repo-properties</id>
+ <goals>
+ <goal>eclipse-run</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <!-- See http://wiki.eclipse.org/Equinox/p2/p2.mirrorsURL -->
+ <!-- See http://wiki.eclipse.org/Equinox_p2_download_stats -->
+ <appArgLine>-application org.eclipse.wtp.releng.tools.addRepoProperties</appArgLine>
+ <argLine>-DartifactRepoDirectory=${project.build.directory}/repository -Dp2MirrorsURL=${p2MirrorsURL} -Dp2StatsURI=${p2StatsURL} -DstatsTrackedArtifacts=${statsTrackedArtifacts} -DstatsArtifactsSuffix=-${project.version}</argLine>
+ <dependencies>
+ <dependency>
+ <artifactId>org.eclipse.wtp.releng.tools.feature</artifactId>
+ <type>eclipse-feature</type>
+ </dependency>
+ </dependencies>
+ <repositories>
+ <repository>
+ <id>wtp-releng</id>
+ <url>http://download.eclipse.org/webtools/releng/repository</url>
+ <layout>p2</layout>
+ </repository>
+ <repository>
+ <id>luna</id>
+ <url>http://download.eclipse.org/releases/luna</url>
+ <layout>p2</layout>
+ </repository>
+ </repositories>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>aggregateSites</id>
+ <build>
+ <plugins>
+ <!-- Run ant script to reference emfstore update site -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>${maven.antrun.plugin.version}</version>
+ <executions>
+ <execution>
+ <id>install</id>
+ <phase>install</phase>
+ <configuration>
+ <quiet>true</quiet>
+ <tasks>
+ <ant antfile="build.xml"/>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>commons-net</groupId>
+ <artifactId>commons-net</artifactId>
+ <version>1.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ <version>1.7.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant-nodeps</artifactId>
+ <version>1.7.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant-trax</artifactId>
+ <version>1.7.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant-commons-net</artifactId>
+ <version>1.7.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant-apache-regexp</artifactId>
+ <version>1.7.1</version>
+ </dependency>
+ <dependency>
+ <groupId>ant-contrib</groupId>
+ <artifactId>ant-contrib</artifactId>
+ <version>1.0b3</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.target/.project b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.target/.project
new file mode 100644
index 0000000..ca4fd0b
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.target/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.releng.target</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.target/emfforms_spreadsheet.target b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.target/emfforms_spreadsheet.target
new file mode 100644
index 0000000..53e98aa
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.target/emfforms_spreadsheet.target
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?><target name="ecpfx" sequenceNumber="1">
+<locations>
+<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/releases/mars"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.ecp.emfforms.runtime.feature.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/ecp/releases/releases_16"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.emfstore.example.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.server.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.client.ui.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.common.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.client.feature.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/emfstore/releases_15"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.platform.ide" version="0.0.0"/>
+<repository location="http://download.eclipse.org/eclipse/updates/4.5milestones"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.apache.poi.source" version="3.9.0.v201405241750"/>
+<unit id="org.apache.poi" version="3.9.0.v201405241750"/>
+<unit id="org.apache.commons.codec" version="0.0.0"/>
+<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/"/>
+</location>
+</locations>
+</target>
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.target/pom.xml b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.target/pom.xml
new file mode 100644
index 0000000..4d705c0
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.target/pom.xml
@@ -0,0 +1,16 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../org.eclipse.emfforms.spreadsheet.releng/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms_spreadsheet</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-target-definition</packaging>
+
+</project>
\ No newline at end of file
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.tests/.project b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.tests/.project
new file mode 100644
index 0000000..9a5e87e
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.tests/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.releng.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.tests/pom.xml b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.tests/pom.xml
new file mode 100644
index 0000000..60a354c
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.tests/pom.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../org.eclipse.emfforms.spreadsheet.releng/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-tests-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <profiles>
+
+
+ <profile>
+ <id>build-server</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.cbi.maven.plugins</groupId>
+ <artifactId>eclipse-jarsigner-plugin</artifactId>
+ <version>${jarsigner-version}</version>
+ <executions>
+ <execution>
+ <id>sign</id>
+ <phase>package</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <excludeInnerJars>true</excludeInnerJars>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <modules>
+ <!--
+ <module>../../../tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests</module>
+ <module>../../../tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests</module>
+ <module>../../../tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest</module>
+ -->
+ </modules>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <outputDirectory>bin</outputDirectory>
+ <plugins>
+ <!-- to disable use -Dcheckstyle.skip -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <version>2.11</version>
+ <configuration>
+ <configLocation>http://download.eclipse.org/ecp/config/esmCheckstyleTest.xml</configLocation>
+ <failsOnError>false</failsOnError>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ <phase>verify</phase>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- tycho surefire include/exclude pattern -->
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <includes>
+ <include>**/*_PTest.java</include>
+ <include>**/*_ITest.java</include>
+ </includes>
+ <testFailureIgnore>true</testFailureIgnore>
+ </configuration>
+ </plugin>
+
+ <!-- maven surefire include/exclude pattern -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${mav-surefire-version}</version>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>test</phase>
+ <configuration>
+ <testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
+ <includes>
+ <include>**/*_Test.java</include>
+ </includes>
+ <testFailureIgnore>true</testFailureIgnore>
+ </configuration>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit-version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng/.project b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng/.project
new file mode 100644
index 0000000..c9903a7
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.releng</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng/pom.xml b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng/pom.xml
new file mode 100644
index 0000000..14ed2ea
--- /dev/null
+++ b/releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng/pom.xml
@@ -0,0 +1,258 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <properties>
+ <tycho-version>0.22.0</tycho-version>
+ <tycho-extras-version>0.22.0</tycho-extras-version>
+ <javadoc-version>2.9</javadoc-version>
+ <javadoc-title>EMFForms Spreadsheet 1.0.0 API</javadoc-title>
+ <maven.antrun.plugin.version>1.7</maven.antrun.plugin.version>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/emfclient/org.eclipse.emf.ecp.core.git</tycho.scmUrl>
+ <jarsigner-version>1.1.0</jarsigner-version>
+ <mav-surefire-version>2.16</mav-surefire-version>
+ <junit-version>4.11</junit-version>
+
+ <!-- Properties to enable jacoco code coverage analysis with sonar -->
+ <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
+ <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
+ <sonar.jacoco.reportPath>../../tests/coverage/jacoco.exec</sonar.jacoco.reportPath>
+ <sonar.exclusions>**/model/**,**/test/**</sonar.exclusions>
+
+ <target-spreadsheet>emfforms_spreadsheet</target-spreadsheet>
+ </properties>
+
+ <profiles>
+ <!-- Profile for adding aggregate sites to the built p2 repositry -->
+ <profile>
+ <id>aggregateSites</id>
+ <activation>
+ <property>
+ <name>aggSite</name>
+ </property>
+ </activation>
+ </profile>
+
+ <!-- Profile for use on the eclipse build server. Enables code signing, etc. -->
+ <profile>
+ <id>build-server</id>
+ <activation>
+ <property>
+ <name>build-server</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <!-- Configure build to use the jdk specified in manifest -->
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-compiler-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useJDK>BREE</useJDK>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>eclipse-maven-releases</id>
+ <url>https://repo.eclipse.org/content/repositories/releases/</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <modules>
+ <module>../org.eclipse.emfforms.spreadsheet.releng.bundles</module>
+ <module>../org.eclipse.emfforms.spreadsheet.releng.features</module>
+ <module>../org.eclipse.emfforms.spreadsheet.releng.tests</module>
+ <module>../org.eclipse.emfforms.spreadsheet.releng.target</module>
+ <module>../org.eclipse.emfforms.spreadsheet.releng.repository</module>
+ </modules>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <outputDirectory>bin</outputDirectory>
+
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-versions-plugin</artifactId>
+ <version>${tycho-version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-maven-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <extensions>true</extensions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <resolver>p2</resolver>
+ <pomDependencies>consider</pomDependencies>
+ <allowConflictingDependencies>true</allowConflictingDependencies>
+ <includePackedArtifacts>true</includePackedArtifacts>
+ <environments>
+ <environment>
+ <os>win32</os>
+ <ws>win32</ws>
+ <arch>x86</arch>
+ </environment>
+ <environment>
+ <os>win32</os>
+ <ws>win32</ws>
+ <arch>x86_64</arch>
+ </environment>
+ <environment>
+ <os>linux</os>
+ <ws>gtk</ws>
+ <arch>x86</arch>
+ </environment>
+ <environment>
+ <os>linux</os>
+ <ws>gtk</ws>
+ <arch>x86_64</arch>
+ </environment>
+ <!-- Beginning with mars this environment is removed -->
+ <!--environment>
+ <os>macosx</os>
+ <ws>cocoa</ws>
+ <arch>x86</arch>
+ </environment-->
+ <environment>
+ <os>macosx</os>
+ <ws>cocoa</ws>
+ <arch>x86_64</arch>
+ </environment>
+ </environments>
+ <target>
+ <artifact>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>${target-spreadsheet}</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </artifact>
+ </target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-packaging-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-buildtimestamp-jgit</artifactId>
+ <version>${tycho-extras-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-sourceref-jgit</artifactId>
+ <version>${tycho-extras-version}</version>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <!-- <timestampProvider>jgit</timestampProvider> -->
+ <!-- generate new qualifier even if it is only the pom.xml that changed
+ <jgit.ignore> pom.xml </jgit.ignore> -->
+ <format>yyyyMMdd-HHmm</format>
+ <sourceReferences>
+ <generate>true</generate>
+ </sourceReferences>
+ </configuration>
+ </plugin>
+ <!-- enable javadocgeneration -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>${javadoc-version}</version>
+ <configuration>
+ <doctitle>${javadoc-title}</doctitle>
+ <show>protected</show>
+ <show>public</show>
+ <nohelp>true</nohelp>
+ </configuration>
+ </plugin>
+ <!-- to disable use -Dcheckstyle.skip -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <version>2.11</version>
+ <configuration>
+ <configLocation>http://download.eclipse.org/ecp/config/esmCheckstyle.xml</configLocation>
+
+ <suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
+ <suppressionsLocation>http://download.eclipse.org/ecp/config/suppressions.xml</suppressionsLocation>
+ <failsOnError>false</failsOnError>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ <phase>verify</phase>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- enable source bundle generation -->
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>plugin-source</id>
+ <goals>
+ <goal>plugin-source</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>0.7.4.201502262128</version>
+ <configuration>
+ <destFile>${sonar.jacoco.reportPath}</destFile>
+ <append>true</append>
+ </configuration>
+ <executions>
+ <execution>
+ <id>jacoco-initialize</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>sonar-maven-plugin</artifactId>
+ <version>2.3.1</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/tests/ECPQ7Tests/EPPTests/pom.xml b/tests/ECPQ7Tests/EPPTests/pom.xml
index 068e2d0..c74d8e1 100644
--- a/tests/ECPQ7Tests/EPPTests/pom.xml
+++ b/tests/ECPQ7Tests/EPPTests/pom.xml
@@ -15,36 +15,32 @@
<module>update-site</module>
</modules>
<properties>
- <emfstore-update-site>http://download.eclipse.org/emf-store/releases_14</emfstore-update-site>
+ <emfstore-update-site>http://download.eclipse.org/emfstore/releases_15</emfstore-update-site>
</properties>
- <profiles>
- <profile>
- <id>q7runner</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
+
<build>
<plugins>
<plugin>
- <groupId>com.xored.q7</groupId>
- <artifactId>q7-maven-plugin</artifactId>
- <version>${q7-maven-version}</version>
+ <groupId>com.xored.ci4rcptt</groupId>
+ <artifactId>ci4rcptt-maven-plugin</artifactId>
+ <version>${ci4rcptt-maven-version}</version>
<extensions>true</extensions>
<configuration>
- <q7>
- <version>${q7-runner-version}</version>
- <vmArgs>
- <vmArg>-Dhttp.proxyHost=proxy.eclipse.org</vmArg>
- <vmArg>-Dhttp.proxyPort=9898</vmArg>
- <vmArg>-Dhttps.proxyHost=proxy.eclipse.org</vmArg>
- <vmArg>-Dhttps.proxyPort=9898</vmArg>
- </vmArgs>
- </q7>
-
+ <runner>
+ <version>${ci4rcptt-runner-version}</version>
+ </runner>
<aut>
- <groupId>org.eclipse</groupId>
- <artifactId>modeling</artifactId>
- <version>${eclipse-version}</version>
+ <!--
+ <explicit>https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/${eclipse-name}/${eclipse-sr}/eclipse-modeling-${eclipse-name}-${eclipse-sr}-win32-x86_64.zip&r=1</explicit>
+ -->
+ <!--
+ <explicit>http://mirror.netcologne.de/eclipse//technology/epp/downloads/release/${eclipse-name}/${eclipse-sr}/eclipse-modeling-${eclipse-name}-${eclipse-sr}-linux-gtk-x86_64.tar.gz</explicit>
+ -->
+ <explicit>http://mirror.cc.columbia.edu/pub/software/eclipse/technology/epp/downloads/release/${eclipse-name}/${eclipse-sr}/eclipse-modeling-${eclipse-name}-${eclipse-sr}-linux-gtk-x86_64.tar.gz</explicit>
+
+ <!--win32-x86_64.zip-->
+ <!--linux-gtk-x86_64.tar.gz-->
+
<injections>
<injection>
<site>${emfstore-update-site}</site>
@@ -59,7 +55,7 @@
</features>
</injection>
<injection>
- <site>https://hudson.eclipse.org/ecp/job/releaseBranch/lastSuccessfulBuild/artifact/releng/org.eclipse.emf.ecp.repository/target/repository/</site>
+ <site>${currentBuild}/repository/</site>
<features>
<feature>org.eclipse.emf.ecp.sdk.feature.feature.group</feature>
</features>
@@ -70,137 +66,9 @@
<project>${project.basedir}/../project</project>
</projects>
- <testOptions>
- <execTimeout>7200</execTimeout>
- <testExecTimeout>8000</testExecTimeout>
- </testOptions>
-
</configuration>
</plugin>
</plugins>
</build>
- </profile>
-
- <profile>
- <id>q7cloud</id>
- <activation>
- <property>
- <name>useCloud</name>
- <value>true</value>
- </property>
- </activation>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-p2-extras-plugin</artifactId>
- <version>0.20.0</version>
- <executions>
- <execution>
- <phase>generate-resources</phase>
- <goals>
- <goal>mirror</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <source>
- <!-- source repositories to mirror from -->
- <repository>
- <url>${emfstore-update-site}</url>
- <layout>p2</layout>
- <!-- supported layouts are "p2-metadata", "p2-artifacts", and "p2" (for joint repositories; default) -->
- </repository>
- <!-- source repositories to mirror from -->
- <repository>
- <url>https://hudson.eclipse.org/ecp/job/releaseBranch/lastSuccessfulBuild/artifact/releng/org.eclipse.emf.ecp.repository/target/repository/</url>
- <layout>p2</layout>
- <!-- supported layouts are "p2-metadata", "p2-artifacts", and "p2" (for joint repositories; default) -->
- </repository>
- </source>
-
- <!-- starting from here all configuration parameters are optional -->
- <!-- they are only shown here with default values for documentation purpose -->
-
- <!-- List of IUs to mirror. If omitted, allIUs will be mirrored. -->
- <!-- Omitted IU version element means latest version of the IU -->
- <ius>
- <iu><id>org.eclipse.emf.emfstore.server.feature.feature.group</id></iu>
- <iu><id>org.eclipse.emf.emfstore.ecore.feature.feature.group</id></iu>
- <iu><id>org.eclipse.emf.emfstore.example.feature.feature.group</id></iu>
- <iu><id>org.eclipse.emf.emfstore.client.feature.feature.group</id></iu>
- <iu><id>org.eclipse.emf.emfstore.common.feature.feature.group</id></iu>
- <iu><id>org.eclipse.emf.emfstore.client.transaction.feature.feature.group</id></iu>
- <iu><id>org.eclipse.emf.emfstore.client.ui.feature.feature.group</id></iu>
- <iu><id>org.eclipse.emf.ecp.sdk.feature.feature.group</id></iu>
- </ius>
- <!-- The destination directory to mirror to. -->
- <destination>${project.build.directory}/injections</destination>
- <!-- Whether only strict dependencies should be followed. -->
- <!-- "strict" means perfect version match -->
- <followStrictOnly>false</followStrictOnly>
- <!-- Whether or not to follow optional requirements. -->
- <includeOptional>true</includeOptional>
- <!-- Whether or not to follow non-greedy requirements. -->
- <includeNonGreedy>true</includeNonGreedy>
- <!-- Filter properties. E.g. filter only one platform -->
- <!-- Whether to filter the resulting set of IUs to only -->
- <!-- include the latest version of each IU -->
- <latestVersionOnly>false</latestVersionOnly>
- <!-- don't mirror artifacts, only metadata -->
- <mirrorMetadataOnly>false</mirrorMetadataOnly>
- <!-- whether to compress the content.xml/artifacts.xml -->
- <compress>true</compress>
- <!-- whether to append to the target repository content -->
- <append>true</append>
- <!-- whether to mirror pack200 artifacts also. Available since tycho-extras 0.17.0 -->
- <includePacked>false</includePacked>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>com.xored.q7</groupId>
- <artifactId>q7-server-maven-plugin</artifactId>
- <version>${q7-server-maven-version}</version>
- <extensions>true</extensions>
- <configuration>
- <testFailureIgnore>true</testFailureIgnore>
- <metadata>
- <public>true</public>
- <projectName>EMF Client Platform</projectName>
- </metadata>
- <q7client>
- <version>${q7-client-version}</version>
- <vmArgs>
- <vmArg>-Dhttp.proxyHost=proxy.eclipse.org</vmArg>
- <vmArg>-Dhttp.proxyPort=9898</vmArg>
- <vmArg>-Dhttps.proxyHost=proxy.eclipse.org</vmArg>
- <vmArg>-Dhttps.proxyPort=9898</vmArg>
- </vmArgs>
- </q7client>
- <q7server>https://cloud.xored.com</q7server>
- <projects>
- <project>${project.basedir}/../project</project>
- </projects>
- <aut>
- <uri>http://maven.xored.com/nexus/content/repositories/q7-releases/org/eclipse/modeling/${eclipse-version}/modeling-${eclipse-version}-[classifier].[ext]</uri>
- <injections>
- <injection>
- <site>file://${project.build.directory}/injections</site>
- </injection>
- </injections>
- </aut>
- <testOptions>
- <execTimeout>7200</execTimeout>
- <testExecTimeout>8000</testExecTimeout>
- </testOptions>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
+
</project>
diff --git a/tests/ECPQ7Tests/EPPTests/update-site/4.3/pom.xml b/tests/ECPQ7Tests/EPPTests/update-site/4.3/pom.xml
index 8e25eb8..2e13471 100644
--- a/tests/ECPQ7Tests/EPPTests/update-site/4.3/pom.xml
+++ b/tests/ECPQ7Tests/EPPTests/update-site/4.3/pom.xml
@@ -9,30 +9,10 @@
</parent>
<artifactId>q7tests-kepler</artifactId>
- <packaging>q7test</packaging>
+ <packaging>rcpttTest</packaging>
<properties>
- <eclipse-version>4.3.2</eclipse-version>
+ <eclipse-name>kepler</eclipse-name>
+ <eclipse-sr>SR2</eclipse-sr>
</properties>
- <profiles>
- <profile>
- <id>q7cloud</id>
- <activation>
- <property>
- <name>useCloud</name>
- <value>true</value>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-p2-extras-plugin</artifactId>
- <version>0.20.0</version>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
</project>
diff --git a/tests/ECPQ7Tests/EPPTests/update-site/4.4/pom.xml b/tests/ECPQ7Tests/EPPTests/update-site/4.4/pom.xml
index 0edf8d2..f98a42f 100644
--- a/tests/ECPQ7Tests/EPPTests/update-site/4.4/pom.xml
+++ b/tests/ECPQ7Tests/EPPTests/update-site/4.4/pom.xml
@@ -9,30 +9,10 @@
</parent>
<artifactId>q7tests-luna</artifactId>
- <packaging>q7test</packaging>
+ <packaging>rcpttTest</packaging>
-<properties>
- <eclipse-version>4.4.0</eclipse-version>
+ <properties>
+ <eclipse-name>luna</eclipse-name>
+ <eclipse-sr>SR2</eclipse-sr>
</properties>
- <profiles>
- <profile>
- <id>q7cloud</id>
- <activation>
- <property>
- <name>useCloud</name>
- <value>true</value>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-p2-extras-plugin</artifactId>
- <version>0.20.0</version>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
</project>
diff --git a/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_Control_Calendar.test b/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_Control_Calendar.test
index 612d6a0..28c5839 100644
--- a/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_Control_Calendar.test
+++ b/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_Control_Calendar.test
@@ -6,8 +6,8 @@
Element-Version: 3.0
External-Reference:
Id: _5nADsDNtEeSiS7b7ptZeHw
-Runtime-Version: 1.5.3.201409120955
-Save-Time: 11/7/14 4:23 PM
+Runtime-Version: 1.5.5.201503020312
+Save-Time: 4/2/15 1:06 PM
Testcase-Type: ecl
------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac
@@ -47,26 +47,19 @@
get-property "getChildren().Control[1].getStyle()" | contains "NO_FOCUS" | verify-true
get-property "getChildren().Control[1].getStyle()" | contains "LEFT_TO_RIGHT" | verify-true
get-property "getChildren().Control[1].getStyle()" | contains "LEAD" | verify-true
- get-property "getChildren().Control[2].getChildren().length" | equals 2 | verify-true
- get-property "getChildren().Control[2].getChildren().Control[0].getText()" | equals "" | verify-true
- get-property "getChildren().Control[2].getChildren().Control[0].isVisible()" | equals true | verify-true
- get-property "getChildren().Control[2].getChildren().Control[0].getStyle()"
- | contains "SINGLE" | verify-true
- get-property "getChildren().Control[2].getChildren().Control[0].getStyle()"
- | contains "BORDER" | verify-true
- get-property "getChildren().Control[2].getChildren().Control[0].getStyle()"
- | contains "LEFT_TO_RIGHT" | verify-true
- get-property "getChildren().Control[2].getChildren().Control[0].getStyle()"
- | contains "LEFT" | verify-true
- get-property "getChildren().Control[2].getChildren().Control[1].getClassName()"
- | equals "org.eclipse.swt.widgets.Button" | verify-true
- get-property "getChildren().Control[2].getChildren().Control[1].getGrayed()" | equals false | verify-true
- get-property "getChildren().Control[2].getChildren().Control[1].getStyle()"
- | contains "PUSH" | verify-true
- get-property "getChildren().Control[2].getChildren().Control[1].getStyle()"
- | contains "LEFT_TO_RIGHT" | verify-true
- get-property "getChildren().Control[2].getChildren().Control[1].getStyle()"
- | contains "CENTER" | verify-true
+ get-property "getChildren().Control[2].getChildren().length" | equals 1 | verify-true
+}
+with [get-view "EMF Forms Preview"] {
+ with [get-editbox -after [get-label "Date Of Birth"]] {
+ get-property "getText()" | equals "" | verify-true
+ get-property "isVisible()" | equals true | verify-true
+ get-property "getStyle()" | contains "[SINGLE, BORDER, LEFT_TO_RIGHT, LEFT]" | verify-true
+ }
+ with [get-button -after [get-label "Date Of Birth"]] {
+ get-property "getClassName()" | equals "org.eclipse.swt.widgets.Button" | verify-true
+ get-property "getGrayed()" | equals false | verify-true
+ get-property "getStyle()" | contains "[PUSH, LEFT_TO_RIGHT, CENTER]" | verify-true
+ }
}
get-view "EMF Forms Preview" | get-button -after [get-label "Date Of Birth"] | click
diff --git a/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_Control_Table.test b/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_Control_Table.test
index afd8d61..68d2e90 100644
--- a/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_Control_Table.test
+++ b/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_Control_Table.test
@@ -6,8 +6,8 @@
Element-Version: 3.0
External-Reference:
Id: _5oAJQDNtEeSiS7b7ptZeHw
-Runtime-Version: 1.5.2.201408180747
-Save-Time: 9/30/14 12:29 PM
+Runtime-Version: 1.5.5.201503020312
+Save-Time: 4/2/15 1:02 PM
Testcase-Type: ecl
------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac
@@ -24,14 +24,19 @@
get-button "Create and link new Domain Model Reference" | click
}
-
with [get-window "New Reference Element"] {
get-tree | select "table/TableDomainModelReference"
get-button "Next >" | click
- get-button "Link Domain Model EFeature" | click
- with [get-window "Select a EStructuralFeature"] {
- get-tree | select "tasks : Task"
- get-button OK | click
+ get-button "Create and link new Domain Model Reference" | click
+ with [get-window "New Reference Element"] {
+ get-tree | select "model/FeaturePathDomainModelReference"
+ get-button "Next >" | click
+ get-button "Link Domain Model EFeature" | click
+ with [get-window "Select a EStructuralFeature"] {
+ get-tree | select "tasks : Task"
+ get-button OK | click
+ }
+ get-button Finish | click
}
get-button Finish | click
}
diff --git a/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_Table.test b/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_Table.test
index 665e195..789e752 100644
--- a/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_Table.test
+++ b/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_Table.test
@@ -6,8 +6,8 @@
Element-Version: 3.0
External-Reference:
Id: _5oppgDNtEeSiS7b7ptZeHw
-Runtime-Version: 1.5.2.201408180747
-Save-Time: 9/30/14 12:53 PM
+Runtime-Version: 1.5.5.201503020312
+Save-Time: 4/2/15 12:47 PM
Testcase-Type: ecl
------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac
@@ -27,11 +27,17 @@
get-tree | select "View/TableControl"
get-button "Create and link new Domain Model Reference" | click
}
-with [get-window "New Reference Element"] {
- get-button "Link Domain Model EFeature" | click
- with [get-window "Select a EStructuralFeature"] {
- get-tree | select "tasks : Task"
- get-button OK | click
+with [get-window "Configure TableDomainModelReference"] {
+ get-button "Create and link new Domain Model Reference" | click
+ with [get-window "New Reference Element"] {
+ get-tree | select "model/FeaturePathDomainModelReference"
+ get-button "Next >" | click
+ get-button "Link Domain Model EFeature" | click
+ with [get-window "Select a EStructuralFeature"] {
+ get-tree | select "tasks : Task"
+ get-button OK | click
+ }
+ get-button Finish | click
}
get-button Finish | click
}
diff --git a/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_TablePanel.test b/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_TablePanel.test
index 7eb1f18..5557f97 100644
--- a/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_TablePanel.test
+++ b/tests/ECPQ7Tests/EPPTests/update-site/project/Preview_TablePanel.test
@@ -6,8 +6,8 @@
Element-Version: 3.0
External-Reference:
Id: _5ow-QDNtEeSiS7b7ptZeHw
-Runtime-Version: 1.5.2.201408180747
-Save-Time: 9/30/14 1:23 PM
+Runtime-Version: 1.5.5.201503020312
+Save-Time: 4/2/15 12:50 PM
Testcase-Type: ecl
------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac
@@ -26,11 +26,17 @@
}
get-button "Create and link new Domain Model Reference" | click
}
-with [get-window "New Reference Element"] {
- get-button "Link Domain Model EFeature" | click
- with [get-window "Select a EStructuralFeature"] {
- get-tree | select "users : User"
- get-button OK | click
+with [get-window "Configure TableDomainModelReference"] {
+ get-button "Create and link new Domain Model Reference" | click
+ with [get-window "New Reference Element"] {
+ get-tree | select "model/FeaturePathDomainModelReference"
+ get-button "Next >" | click
+ get-button "Link Domain Model EFeature" | click
+ with [get-window "Select a EStructuralFeature"] {
+ get-tree | select "users : User"
+ get-button OK | click
+ }
+ get-button Finish | click
}
get-button Finish | click
}
@@ -76,7 +82,7 @@
with [get-view "EMF Forms Preview"] {
get-label "Last Name*" | get-property caption | equals "Last Name*" | verify-true
get-editbox -after [get-label "Last Name*"] | get-property backgroundColor | equals "#FF0000" | verify-true
- get-control Any -after [get-label Users] -index 12 | get-property "getChildren().length" | equals 3 | verify-true
+ get-control Any -after [get-label Users] -index 13 | get-property "getChildren().length" | equals 3 | verify-true
}
with [get-editor "UserGroup.view"] {
get-tree | select "View/TableControl"
@@ -100,6 +106,6 @@
apply-cell-edit -deactivate
}
}
-get-view "EMF Forms Preview" | get-control Any -after [get-label Users] -index 12 | get-property "getChildren().length"
+get-view "EMF Forms Preview" | get-control Any -after [get-label Users] -index 13 | get-property "getChildren().length"
| equals 31 | verify-true
------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac--
diff --git a/tests/ECPQ7Tests/NonEPPTests/pom.xml b/tests/ECPQ7Tests/NonEPPTests/pom.xml
index 22d61d2..9bccefa 100644
--- a/tests/ECPQ7Tests/NonEPPTests/pom.xml
+++ b/tests/ECPQ7Tests/NonEPPTests/pom.xml
@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>q7-non-epp-tests</artifactId>
- <packaging>q7test</packaging>
+ <packaging>rcpttTest</packaging>
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
@@ -11,106 +11,29 @@
<version>0.0.1-SNAPSHOT</version>
</parent>
- <properties>
- <aut-base-path>https://hudson.eclipse.org/ecp/job/emf-emfclient-integration/lastSuccessfulBuild/artifact/releng/org.eclipse.emf.ecp.products/target/products/</aut-base-path>
- </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.xored.ci4rcptt</groupId>
+ <artifactId>ci4rcptt-maven-plugin</artifactId>
+ <version>${ci4rcptt-maven-version}</version>
+ <extensions>true</extensions>
+ <configuration>
+ <runner>
+ <version>${ci4rcptt-runner-version}</version>
+ </runner>
+ <aut>
+ <explicit>${currentBuild}/products/org.eclipse.emf.ecp.3x-[platform].zip</explicit>
- <profiles>
- <profile>
- <id>q7runner</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.xored.q7</groupId>
- <artifactId>q7-maven-plugin</artifactId>
- <version>${q7-maven-version}</version>
- <extensions>true</extensions>
- <configuration>
- <q7>
- <version>${q7-runner-version}</version>
- <vmArgs>
- <vmArg>-Dhttp.proxyHost=proxy.eclipse.org</vmArg>
- <vmArg>-Dhttp.proxyPort=9898</vmArg>
- <vmArg>-Dhttps.proxyHost=proxy.eclipse.org</vmArg>
- <vmArg>-Dhttps.proxyPort=9898</vmArg>
- </vmArgs>
- </q7>
-
- <aut>
- <explicit>${aut-base-path}/org.eclipse.emf.ecp.3x-[platform].zip</explicit>
-
- <args>
- <arg>-nl</arg>
- <arg>en</arg>
- </args>
- </aut>
-
- <testOptions>
- <execTimeout>1000000</execTimeout>
- <testExecTimeout>1000000</testExecTimeout>
- </testOptions>
-
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <profile>
- <id>q7cloud</id>
- <activation>
- <property>
- <name>useCloud</name>
- <value>true</value>
- </property>
- </activation>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.xored.q7</groupId>
- <artifactId>q7-server-maven-plugin</artifactId>
- <version>${q7-server-maven-version}</version>
- <extensions>true</extensions>
- <configuration>
- <testFailureIgnore>true</testFailureIgnore>
- <metadata>
- <public>true</public>
- <projectName>EMF Client Platform</projectName>
- </metadata>
-
- <classifiers>
- <classifier>win32.win32.x86</classifier>
- </classifiers>
-
- <aut>
- <uri>${aut-base-path}/org.eclipse.emf.ecp.3x-[classifier].[ext]</uri>
- </aut>
-
- <testOptions>
- <execTimeout>1000000</execTimeout>
- <testExecTimeout>1000000</testExecTimeout>
- </testOptions>
-
- <q7client>
- <version>${q7-client-version}</version>
- <vmArgs>
- <vmArg>-Dhttp.proxyHost=proxy.eclipse.org</vmArg>
- <vmArg>-Dhttp.proxyPort=9898</vmArg>
- <vmArg>-Dhttps.proxyHost=proxy.eclipse.org</vmArg>
- <vmArg>-Dhttps.proxyPort=9898</vmArg>
- </vmArgs>
- </q7client>
-
- <q7server>https://cloud.xored.com</q7server>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
+ <args>
+ <arg>-nl</arg>
+ <arg>en</arg>
+ </args>
+ </aut>
+
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
</project>
diff --git a/tests/ECPQ7Tests/pom.xml b/tests/ECPQ7Tests/pom.xml
index eb4cb39..d884d9c 100644
--- a/tests/ECPQ7Tests/pom.xml
+++ b/tests/ECPQ7Tests/pom.xml
@@ -8,36 +8,28 @@
<packaging>pom</packaging>
<properties>
- <q7-maven-version>1.5.1</q7-maven-version>
- <q7-server-maven-version>1.4.1-SNAPSHOT</q7-server-maven-version>
- <q7-runner-version>1.5.5-SNAPSHOT</q7-runner-version>
- <q7-client-version>1.5.3-SNAPSHOT</q7-client-version>
+ <ci4rcptt-runner-version>1.5.5</ci4rcptt-runner-version>
+ <ci4rcptt-maven-version>1.5.5</ci4rcptt-maven-version>
+ <currentBuild>https://hudson.eclipse.org/ecp/job/ecp-develop/lastSuccessfulBuild/artifact/releng/org.eclipse.emf.ecp.repository/target</currentBuild>
</properties>
-
- <repositories>
- <repository>
- <id>q7-releases</id>
- <name>Xored Q7</name>
- <url>http://maven.xored.com/nexus/content/repositories/q7-releases/</url>
- </repository>
- </repositories>
+
<pluginRepositories>
<pluginRepository>
- <id>q7-releases</id>
- <name>Xored Q7 Maven repository</name>
- <url>http://maven.xored.com/nexus/content/repositories/q7-releases/</url>
+ <id>xored_releases</id>
+ <name>Xored Maven repository</name>
+ <url>http://maven.xored.com/nexus/content/repositories/ci4rcptt-releases/</url>
</pluginRepository>
<pluginRepository>
- <id>q7-snapshots</id>
- <name>Xored Q7 Maven repository</name>
- <url>http://maven.xored.com/nexus/content/repositories/q7-snapshots/</url>
+ <id>xored_snapshot</id>
+ <name>Xored Maven repository</name>
+ <url>http://maven.xored.com/nexus/content/repositories/ci4rcptt-snapshots/</url>
</pluginRepository>
- </pluginRepositories>
-
+
+ </pluginRepositories>
<modules>
<module>EPPTests</module>
<module>NonEPPTests</module>
</modules>
-
+
</project>
diff --git a/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/.gitignore b/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/ChangeBrokerEMFStore_ITest.launch b/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/ChangeBrokerEMFStore_ITest.launch
index 8b9981a..6376c20 100644
--- a/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/ChangeBrokerEMFStore_ITest.launch
+++ b/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/ChangeBrokerEMFStore_ITest.launch
@@ -12,7 +12,7 @@
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.application.e4.fx,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.changebroker.test,org.eclipse.emf.ecp.common.test.fx,org.eclipse.emf.ecp.common.ui,org.eclipse.emf.ecp.controls.fx,org.eclipse.emf.ecp.controls.fx.test,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.e4.fx,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.application.sample.fx,org.eclipse.emf.ecp.makeithappen.application.sample.rap,org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.email.renderer,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.quickfix,org.eclipse.emf.ecp.quickfix.test,org.eclipse.emf.ecp.quickfix.ui.e4,org.eclipse.emf.ecp.rap,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rap,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.util.e4.fx,org.eclipse.emf.ecp.util.fx,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.edapt,org.eclipse.emf.ecp.view.edapt.test,org.eclipse.emf.ecp.view.group.fx,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.fx,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.databinding,org.eclipse.emf.ecp.view.indexdmr.model,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.fx,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.databinding,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.model.test,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.migrator,org.eclipse.emf.ecp.view.model,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.fx,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.model.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.model.test,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.fx,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.util.swt.rap,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.fx,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.viewmodel.fx,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.fx.projects,org.eclipse.emf.emfstore.fx.util,org.eclipse.emf.rap.edit.ui.minimal"/>
+<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.application.e4.fx,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.changebroker.test,org.eclipse.emf.ecp.common.test.fx,org.eclipse.emf.ecp.common.ui,org.eclipse.emf.ecp.controls.fx,org.eclipse.emf.ecp.controls.fx.test,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.e4.fx,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.application.sample.fx,org.eclipse.emf.ecp.makeithappen.application.sample.rap,org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.email.renderer,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.quickfix,org.eclipse.emf.ecp.quickfix.test,org.eclipse.emf.ecp.quickfix.ui.e4,org.eclipse.emf.ecp.rap,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rap,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.util.e4.fx,org.eclipse.emf.ecp.util.fx,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.edapt,org.eclipse.emf.ecp.view.edapt.test,org.eclipse.emf.ecp.view.group.fx,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.fx,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.model,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.fx,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.model.test,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.migrator,org.eclipse.emf.ecp.view.model,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.fx,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.model.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.model.test,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.fx,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.util.swt.rap,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.fx,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.viewmodel.fx,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.fx.projects,org.eclipse.emf.emfstore.fx.util,org.eclipse.emf.rap.edit.ui.minimal"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
diff --git a/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/META-INF/MANIFEST.MF
index 466d953..6ee91bd 100644
--- a/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Change Broker EMFStore Provider Tests
Bundle-SymbolicName: org.eclipse.emf.ecp.changebroker.emfstore.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.changebroker.emfstore;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
org.eclipse.osgi;bundle-version="[3.7.0,4.0.0)"
Bundle-Vendor: Eclipse Modeling Project
Export-Package: org.eclipse.emf.ecp.changebroker.emfstore.test;version
- ="1.5.1";x-internal:=true
+ ="1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/pom.xml b/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/pom.xml
index f63d4b6..3a26907 100644
--- a/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.changebroker.emfstore.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.changebroker.emfstore.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,17 +24,27 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>p2-installable-unit</type>
- <artifactId>org.eclipse.equinox.ds</artifactId>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.changebroker.test/.gitignore b/tests/org.eclipse.emf.ecp.changebroker.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.changebroker.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.changebroker.test/ChangeBroker_ITest.launch b/tests/org.eclipse.emf.ecp.changebroker.test/ChangeBroker_ITest.launch
index cf36700..b5ee0eb 100644
--- a/tests/org.eclipse.emf.ecp.changebroker.test/ChangeBroker_ITest.launch
+++ b/tests/org.eclipse.emf.ecp.changebroker.test/ChangeBroker_ITest.launch
@@ -12,7 +12,7 @@
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.application.e4.fx,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.changebroker.emfstore,org.eclipse.emf.ecp.common,org.eclipse.emf.ecp.common.test.fx,org.eclipse.emf.ecp.common.ui,org.eclipse.emf.ecp.controls.fx,org.eclipse.emf.ecp.controls.fx.test,org.eclipse.emf.ecp.core,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.core,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.e4.fx,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.application.sample.fx,org.eclipse.emf.ecp.makeithappen.application.sample.rap,org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.email.renderer,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.quickfix,org.eclipse.emf.ecp.quickfix.test,org.eclipse.emf.ecp.quickfix.ui.e4,org.eclipse.emf.ecp.rap,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rap,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.util.e4.fx,org.eclipse.emf.ecp.util.fx,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.edapt,org.eclipse.emf.ecp.view.edapt.test,org.eclipse.emf.ecp.view.group.fx,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.fx,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.databinding,org.eclipse.emf.ecp.view.indexdmr.model,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.fx,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.databinding,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.model.test,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.migrator,org.eclipse.emf.ecp.view.model,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.fx,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.model.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.model.test,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.fx,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.util.swt.rap,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.fx,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.viewmodel.fx,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.fx.projects,org.eclipse.emf.emfstore.fx.util,org.eclipse.emf.rap.edit.ui.minimal"/>
+<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.application.e4.fx,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.changebroker.emfstore,org.eclipse.emf.ecp.common,org.eclipse.emf.ecp.common.test.fx,org.eclipse.emf.ecp.common.ui,org.eclipse.emf.ecp.controls.fx,org.eclipse.emf.ecp.controls.fx.test,org.eclipse.emf.ecp.core,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.core,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.e4.fx,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.application.sample.fx,org.eclipse.emf.ecp.makeithappen.application.sample.rap,org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.email.renderer,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.quickfix,org.eclipse.emf.ecp.quickfix.test,org.eclipse.emf.ecp.quickfix.ui.e4,org.eclipse.emf.ecp.rap,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rap,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.util.e4.fx,org.eclipse.emf.ecp.util.fx,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.edapt,org.eclipse.emf.ecp.view.edapt.test,org.eclipse.emf.ecp.view.group.fx,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.fx,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.model,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.fx,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.model.test,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.migrator,org.eclipse.emf.ecp.view.model,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.fx,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.model.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.model.test,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.fx,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.util.swt.rap,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.fx,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.viewmodel.fx,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.fx.projects,org.eclipse.emf.emfstore.fx.util,org.eclipse.emf.rap.edit.ui.minimal"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
diff --git a/tests/org.eclipse.emf.ecp.changebroker.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.changebroker.test/META-INF/MANIFEST.MF
index 1b4ec1f..9f5d50a 100644
--- a/tests/org.eclipse.emf.ecp.changebroker.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.changebroker.test/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Change Broker Test
Bundle-SymbolicName: org.eclipse.emf.ecp.changebroker.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.changebroker;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.changebroker.test;version="1.5.1";
+Export-Package: org.eclipse.emf.ecp.changebroker.test;version="1.6.0";
x-internal:=true
Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.2.0,2.0.0)",
diff --git a/tests/org.eclipse.emf.ecp.changebroker.test/pom.xml b/tests/org.eclipse.emf.ecp.changebroker.test/pom.xml
index eab6558..7bbb921 100644
--- a/tests/org.eclipse.emf.ecp.changebroker.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.changebroker.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.changebroker.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,17 +24,26 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>p2-installable-unit</type>
- <artifactId>org.eclipse.equinox.ds</artifactId>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.common.test/.checkstyle b/tests/org.eclipse.emf.ecp.common.test/.checkstyle
new file mode 100644
index 0000000..24d357f
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.common.test/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/tests/org.eclipse.emf.ecp.common.test/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to tests/org.eclipse.emf.ecp.common.test/.classpath
diff --git a/tests/org.eclipse.emf.ecp.common.test/.gitignore b/tests/org.eclipse.emf.ecp.common.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.common.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.common.test/.project b/tests/org.eclipse.emf.ecp.common.test/.project
new file mode 100644
index 0000000..6cbba38
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.common.test/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.ecp.common.test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.core.runtime.prefs
diff --git a/tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..452e0c2
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,418 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emf.ecp.common.test/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emf.ecp.common.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.common.test/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..c2012ca
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.common.test/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: ECP Common Tests
+Bundle-SymbolicName: org.eclipse.emf.ecp.common.test;singleton:=true
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Fragment-Host: org.eclipse.emf.ecp.common;bundle-version="1.5.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit;bundle-version="4.0.0"
+Export-Package: org.eclipse.emf.ecp.common.test;version="1.6.0";x-inte
+ rnal:=true
diff --git a/tests/org.eclipse.emf.ecp.common.test/build.properties b/tests/org.eclipse.emf.ecp.common.test/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.common.test/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/org.eclipse.emf.ecp.common.test/pom.xml b/tests/org.eclipse.emf.ecp.common.test/pom.xml
new file mode 100644
index 0000000..271bb8d
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.common.test/pom.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emf.ecp.common.test</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <!-- When signing bundles we get a security exception using maven-surefire.
+ use tycho-surefire instead -->
+ <profiles>
+ <profile>
+ <id>build-server</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${mav-surefire-version}</version>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>test</phase>
+ <configuration>
+ <skipTests>true</skipTests>
+ <testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
+ <includes>
+ <include>**/*_Test.java</include>
+ </includes>
+ <testFailureIgnore>true</testFailureIgnore>
+ </configuration>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <includes>
+ <include>**/*_PTest.java</include>
+ <include>**/*_Test.java</include>
+ </includes>
+ <testFailureIgnore>true</testFailureIgnore>
+ <skip>false</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+ <!-- skip tycho surefire which is automatically started by using eclipse-test-plugin packaging type -->
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/tests/org.eclipse.emf.ecp.common.test/src/org/eclipse/emf/ecp/common/test/Assert_Test.java b/tests/org.eclipse.emf.ecp.common.test/src/org/eclipse/emf/ecp/common/test/Assert_Test.java
new file mode 100644
index 0000000..4758001
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.common.test/src/org/eclipse/emf/ecp/common/test/Assert_Test.java
@@ -0,0 +1,156 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alexandra Buzila - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.common.test;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+
+import org.eclipse.emf.ecp.common.spi.asserts.Assert;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+/**
+ * @author Alexandra Buzila
+ *
+ */
+public class Assert_Test {
+
+ @Rule
+ public ExpectedException expectedException = ExpectedException.none();
+
+ @Test
+ public void testCreateNullObject() {
+ assertNotNull(Assert.create(null));
+ }
+
+ @Test
+ public void testCreateNotNullObject() {
+ assertNotNull(Assert.create(new Object()));
+ }
+
+ @Test
+ public void testNotNullWithNull() {
+ expectedException.expect(IllegalArgumentException.class);
+ expectedException.expectMessage("Object must not be null."); //$NON-NLS-1$
+ Assert.create(null).notNull();
+ }
+
+ @Test
+ public void testNotNullWithNotNull() {
+ assertNotNull(Assert.create(new Object()).notNull());
+ }
+
+ @Test
+ public void testOfClassWithNullObjectAndNullClass() {
+ expectedException.expect(IllegalArgumentException.class);
+ expectedException.expectMessage("Class must not be null."); //$NON-NLS-1$
+ Assert.create(null).ofClass(null);
+ }
+
+ @Test
+ public void testOfClassWithNullObjectAndNotNullClass() {
+ expectedException.expect(IllegalArgumentException.class);
+ expectedException.expectMessage("null is not of type " + Object.class.getName()); //$NON-NLS-1$
+ Assert.create(null).ofClass(Object.class);
+ }
+
+ @Test
+ public void testOfClassWithNotNull() {
+ assertNotNull(Assert.create(new Object()).ofClass(Object.class));
+ }
+
+ @Test
+ public void testOfClassWithNotNullAndSuperclass() {
+ assertNotNull(Assert.create(new String()).ofClass(Object.class));
+ }
+
+ @Test
+ public void testOfClassWithNotNullAndWrongClass() {
+ expectedException.expect(IllegalArgumentException.class);
+ expectedException.expectMessage(Object.class.getName()
+ + " is not of type " + String.class.getName()); //$NON-NLS-1$
+ Assert.create(new Object()).ofClass(String.class);
+ }
+
+ @Test
+ public void testOfClassWithNotNullObjectAndNullClass() {
+ expectedException.expect(IllegalArgumentException.class);
+ expectedException.expectMessage("Class must not be null."); //$NON-NLS-1$
+ Assert.create(new Object()).ofClass(null);
+ }
+
+ @Test
+ public void testCheckWithNullObject() {
+ final Object object = null;
+ final Object check = Assert.create(object).check();
+ assertSame(object, check);
+ }
+
+ @Test
+ public void testCheckWithNotNullObject() {
+ final Object object = new Object();
+ final Object check = Assert.create(object).check();
+ assertSame(object, check);
+ }
+
+ @Test
+ public void testCallOrderNotNullCheck() {
+ final Object object = new Object();
+ final Object check = Assert.create(object).notNull().check();
+ assertSame(object, check);
+ }
+
+ @Test
+ public void testCallOrderOfClassCheck() {
+ final Object object = new Object();
+ final Object check = Assert.create(object).ofClass(object.getClass()).check();
+ assertSame(object, check);
+ }
+
+ @Test
+ public void testCallOrderNotNullOfClassCheck() {
+ final Object object = new Object();
+ final Object check = Assert.create(object).notNull().ofClass(object.getClass()).check();
+ assertSame(object, check);
+ }
+
+ @Test
+ public void testCallOrderOfClassNotNullCheck() {
+ final Object object = new Object();
+ final Object check = Assert.create(object).ofClass(object.getClass()).notNull().check();
+ assertSame(object, check);
+ }
+
+ @Test
+ public void testCallOrderNotNullOfClassCheckWithNullObject() {
+ expectedException.expect(IllegalArgumentException.class);
+ expectedException.expectMessage("Object must not be null."); //$NON-NLS-1$
+ Assert.create(null).notNull().ofClass(Object.class).check();
+ }
+
+ @Test
+ public void testCallOrderNotNullOfClassCheckWithWrongClass() {
+ expectedException.expect(IllegalArgumentException.class);
+ expectedException.expectMessage(Object.class.getName()
+ + " is not of type " + String.class.getName()); //$NON-NLS-1$
+ Assert.create(new Object()).notNull().ofClass(String.class).check();
+ }
+
+ @Test
+ public void testCallOrderOfClassNotNullCheckWithWrongClass() {
+ expectedException.expect(IllegalArgumentException.class);
+ expectedException.expectMessage(Object.class.getName()
+ + " is not of type " + String.class.getName()); //$NON-NLS-1$
+ Assert.create(new Object()).ofClass(String.class).notNull().check();
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle
copy to tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.checkstyle
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.classpath
diff --git a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.project b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.project
new file mode 100644
index 0000000..1f56964
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.project
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.ecp.core.rap.sessionprovider.test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.jdt.launching.prefs
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.mylyn.tasks.ui.prefs b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 0000000..b050639
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.mylyn.tasks.ui.prefs
@@ -0,0 +1,4 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+project.repository.kind=bugzilla
+project.repository.url=https\://bugs.eclipse.org/bugs
diff --git a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.mylyn.team.ui.prefs b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.mylyn.team.ui.prefs
new file mode 100644
index 0000000..2f50f36
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.mylyn.team.ui.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+commit.comment.template=[${task.id}] ${task.description} \r\n${task.url}
+eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f756d72
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: ECP Core Rap Sessionprovider Test
+Bundle-SymbolicName: org.eclipse.emf.ecp.core.rap.sessionprovider.test
+Bundle-Version: 1.6.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.emf.ecp.core.rap;bundle-version="[1.5.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.core.rap.sessionprovider.test;version="1.6.0"
+Service-Component: OSGI-INF/component.xml
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/OSGI-INF/component.xml b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/OSGI-INF/component.xml
new file mode 100644
index 0000000..a068f54
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/OSGI-INF/component.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.core.sessionprovider.rap.test">
+ <implementation class="org.eclipse.emf.ecp.core.rap.sessionprovider.test.MockSessionProvider"/>
+ <service>
+ <provide interface="org.eclipse.emf.ecp.core.rap.SessionProvider"/>
+ </service>
+</scr:component>
diff --git a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/about.html b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/about.html
new file mode 100644
index 0000000..82d49bf
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/build.properties b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/build.properties
new file mode 100644
index 0000000..30c35d7
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ OSGI-INF/,\
+ about.html
+src.includes = about.html
diff --git a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/pom.xml b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/pom.xml
new file mode 100644
index 0000000..78b5e5b
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.emf.ecp.core.rap.sessionprovider.test</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/src/org/eclipse/emf/ecp/core/rap/sessionprovider/test/MockSessionProvider.java b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/src/org/eclipse/emf/ecp/core/rap/sessionprovider/test/MockSessionProvider.java
new file mode 100644
index 0000000..a2fa881
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.sessionprovider.test/src/org/eclipse/emf/ecp/core/rap/sessionprovider/test/MockSessionProvider.java
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Neil Mackenzie - initial implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.core.rap.sessionprovider.test;
+
+import org.eclipse.emf.ecp.core.rap.SessionProvider;
+
+/**
+ * This s a mock session provider for testing, it does not
+ * recieve a web session.
+ *
+ * @author neilmack
+ *
+ */
+public class MockSessionProvider implements SessionProvider {
+
+ /**
+ *
+ */
+ public enum SessionProviderType {
+ /**
+ * SAME_SESSION_ID relates to test where succesive
+ * calls are from the same session, DIFFERENT_SESSION_ID refers to
+ * when succesive calls are form different sessions.
+ */
+ SAME_SESSION_ID, DIFFERENT_SESSION_ID;
+ }
+
+ /**
+ * session ID.
+ */
+ private int sessionId;
+
+ /**
+ * The type od session, types defined in SessionProviderType enum.
+ */
+ private static SessionProviderType type;
+ /**
+ * THe singleton instance.
+ */
+ private static MockSessionProvider instance;
+
+ /**
+ * default constructor.
+ */
+ public MockSessionProvider() {
+ instance = this;
+ }
+
+ /**
+ * returns the provider instance.
+ *
+ * @return the provider instance
+ */
+ public static MockSessionProvider getInstance() {
+ if (instance == null) {
+ instance = new MockSessionProvider();
+ }
+ return instance;
+ }
+
+ /**
+ * sets the type of the session provider. this determines whether
+ * the provider gives the same id each time it is asked for a sessionID
+ * or a different one each time.
+ *
+ * @param type the type
+ */
+ public static void setSessionProvider(SessionProviderType type) {
+ MockSessionProvider.type = type;
+ }
+
+ @Override
+ public final String getSessionId() {
+ if (type.equals(SessionProviderType.SAME_SESSION_ID)) {
+ return "1212"; //$NON-NLS-1$
+ }
+ return (++sessionId) + ""; //$NON-NLS-1$
+
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.core.rap.test/.checkstyle b/tests/org.eclipse.emf.ecp.core.rap.test/.checkstyle
new file mode 100644
index 0000000..32e02a4
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.test/.checkstyle
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="c" location="esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/tests/org.eclipse.emf.ecp.core.rap.test/.classpath b/tests/org.eclipse.emf.ecp.core.rap.test/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.test/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emf.ecp.core.rap.test/.project b/tests/org.eclipse.emf.ecp.core.rap.test/.project
new file mode 100644
index 0000000..34fc77a
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.test/.project
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.ecp.core.rap.test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.jdt.launching.prefs
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e3/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.mylyn.tasks.ui.prefs b/tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 0000000..b050639
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.mylyn.tasks.ui.prefs
@@ -0,0 +1,4 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+project.repository.kind=bugzilla
+project.repository.url=https\://bugs.eclipse.org/bugs
diff --git a/tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.mylyn.team.ui.prefs b/tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.mylyn.team.ui.prefs
new file mode 100644
index 0000000..2f50f36
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.mylyn.team.ui.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+commit.comment.template=[${task.id}] ${task.description} \r\n${task.url}
+eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emf.ecp.core.rap.test/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emf.ecp.core.rap.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.core.rap.test/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..c27edfd
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.test/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: ECP Core RAP Test
+Bundle-SymbolicName: org.eclipse.emf.ecp.core.rap.test
+Bundle-Version: 1.6.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Import-Package: org.eclipse.core.runtime;version="0.0.0",
+ org.eclipse.emf.ecp.core;version="0.0.0",
+ org.eclipse.emf.ecp.core.rap;version="0.0.0",
+ org.eclipse.emf.ecp.core.rap.sessionprovider.test;version="0.0.0",
+ org.eclipse.emf.ecp.emfstore.core.internal;version="0.0.0",
+ org.osgi.framework;version="0.0.0"
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.core.rap;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.core.rap.sessionprovider.test;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.emfstore.core.rap;bundle-version="[1.5.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.core.rap.test;version="1.6.0";x-internal:=true
+Bundle-Vendor: Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.ecp.core.rap.test/RAPFactories_PTest.launch b/tests/org.eclipse.emf.ecp.core.rap.test/RAPFactories_PTest.launch
new file mode 100644
index 0000000..4c0dc78
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.test/RAPFactories_PTest.launch
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<setAttribute key="additional_plugins"/>
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.rap.sessionprovider.rwt,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.email.renderer,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.databinding,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.model.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui"/>
+<stringAttribute key="featureDefaultLocation" value="workspace"/>
+<stringAttribute key="featurePluginResolution" value="workspace"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.ecp.core.rap.test/src/org/eclipse/emf/ecp/core/rap/test/RAPFactories_PTest.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_45"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.core.rap.test.RAPFactories_PTest"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.core.rap.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<setAttribute key="selected_features">
+<setEntry value="org.eclipse.cvs.source:default"/>
+<setEntry value="org.eclipse.cvs:default"/>
+<setEntry value="org.eclipse.e4.rcp.source:default"/>
+<setEntry value="org.eclipse.e4.rcp:default"/>
+<setEntry value="org.eclipse.ecf.core.feature:default"/>
+<setEntry value="org.eclipse.ecf.core.source.feature:default"/>
+<setEntry value="org.eclipse.ecf.core.ssl.feature:default"/>
+<setEntry value="org.eclipse.ecf.core.ssl.source.feature:default"/>
+<setEntry value="org.eclipse.ecf.filetransfer.feature:default"/>
+<setEntry value="org.eclipse.ecf.filetransfer.httpclient4.feature:default"/>
+<setEntry value="org.eclipse.ecf.filetransfer.httpclient4.source.feature:default"/>
+<setEntry value="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature:default"/>
+<setEntry value="org.eclipse.ecf.filetransfer.httpclient4.ssl.source.feature:default"/>
+<setEntry value="org.eclipse.ecf.filetransfer.source.feature:default"/>
+<setEntry value="org.eclipse.ecf.filetransfer.ssl.feature:default"/>
+<setEntry value="org.eclipse.ecf.filetransfer.ssl.source.feature:default"/>
+<setEntry value="org.eclipse.emf.common.source:default"/>
+<setEntry value="org.eclipse.emf.common:default"/>
+<setEntry value="org.eclipse.emf.ecore.source:default"/>
+<setEntry value="org.eclipse.emf.ecore:default"/>
+<setEntry value="org.eclipse.emf.ecp.application.e4.fx.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.cdo.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.demo.e3.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.diffmerge.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.e3.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.emfforms.idetooling.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.emfforms.runtime.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.emfforms.sdk.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.emfstore.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.examplemodel.ui.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.graphiti.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.ide.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.license.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.nosite.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.test.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.categorization.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.custom.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.group.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.horizontal.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.label.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.model.controls.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.model.editor.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.rule.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.sdk.fx.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.separator.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.table.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.template.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.template.helper.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.treemasterdetail.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.unset.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.validation.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.vertical.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.viewmodel.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.workspace.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.core.feature.source:default"/>
+<setEntry value="org.eclipse.equinox.p2.core.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.extras.feature.source:default"/>
+<setEntry value="org.eclipse.equinox.p2.extras.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.rcp.feature.source:default"/>
+<setEntry value="org.eclipse.equinox.p2.rcp.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.user.ui.source:default"/>
+<setEntry value="org.eclipse.equinox.p2.user.ui:default"/>
+<setEntry value="org.eclipse.fx.runtime.feature:default"/>
+<setEntry value="org.eclipse.help.source:default"/>
+<setEntry value="org.eclipse.help:default"/>
+<setEntry value="org.eclipse.jdt.source:default"/>
+<setEntry value="org.eclipse.jdt:default"/>
+<setEntry value="org.eclipse.pde.source:default"/>
+<setEntry value="org.eclipse.pde:default"/>
+<setEntry value="org.eclipse.platform.source:default"/>
+<setEntry value="org.eclipse.platform:default"/>
+<setEntry value="org.eclipse.rcp.source:default"/>
+<setEntry value="org.eclipse.rcp:default"/>
+<setEntry value="org.eclipse.sdk:default"/>
+</setAttribute>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.fileupload@default:default,org.apache.commons.io@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.ecp.ui.rap@default:false,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.addons.filedialog@default:default,org.eclipse.rap.addons.fileupload@default:default,org.eclipse.rap.rwt@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.rap.sessionprovider.test@default:default,org.eclipse.emf.ecp.core.rap.test@default:false,org.eclipse.emf.ecp.core.rap@default:false,org.eclipse.emf.ecp.core@default:true,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.e4@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.indexdmr.databinding@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emf.ecp.core.rap.test/about.html b/tests/org.eclipse.emf.ecp.core.rap.test/about.html
new file mode 100644
index 0000000..82d49bf
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.test/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/tests/org.eclipse.emf.ecp.core.rap.test/build.properties b/tests/org.eclipse.emf.ecp.core.rap.test/build.properties
new file mode 100644
index 0000000..ccde309
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.test/build.properties
@@ -0,0 +1,6 @@
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html
+source.. = src/
+src.includes = about.html
diff --git a/tests/org.eclipse.emf.ecp.core.rap.test/pom.xml b/tests/org.eclipse.emf.ecp.core.rap.test/pom.xml
new file mode 100644
index 0000000..5fd34e4
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.test/pom.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emf.ecp.core.rap.test</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>false</useUIHarness>
+ <useUIThread>false</useUIThread>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.emfstore.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/tests/org.eclipse.emf.ecp.core.rap.test/src/org/eclipse/emf/ecp/core/rap/test/RAPFactories_PTest.java b/tests/org.eclipse.emf.ecp.core.rap.test/src/org/eclipse/emf/ecp/core/rap/test/RAPFactories_PTest.java
new file mode 100644
index 0000000..c6152b4
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.core.rap.test/src/org/eclipse/emf/ecp/core/rap/test/RAPFactories_PTest.java
@@ -0,0 +1,308 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Neil Mackenzie - initial implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.core.rap.test;
+
+import java.util.Collection;
+
+import junit.framework.TestCase;
+
+import org.eclipse.emf.ecp.core.ECPProject;
+import org.eclipse.emf.ecp.core.ECPProjectManager;
+import org.eclipse.emf.ecp.core.ECPProviderRegistry;
+import org.eclipse.emf.ecp.core.ECPRepositoryManager;
+import org.eclipse.emf.ecp.core.exceptions.ECPProjectWithNameExistsException;
+import org.eclipse.emf.ecp.core.rap.SessionProvider;
+import org.eclipse.emf.ecp.core.rap.sessionprovider.test.MockSessionProvider;
+import org.eclipse.emf.ecp.core.rap.sessionprovider.test.MockSessionProvider.SessionProviderType;
+import org.eclipse.emf.ecp.core.util.observer.ECPObserverBus;
+import org.eclipse.emf.ecp.emfstore.core.internal.EMFStoreProvider;
+import org.junit.Test;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+
+/**
+ *
+ * @author neilmack
+ * Tests the service factory classes from the
+ * org.eclipse.emf.ecp.core.rap package.
+ */
+@SuppressWarnings("restriction")
+public class RAPFactories_PTest extends TestCase {
+ /**
+ * Test retrieval of the mock SessionProvider service.
+ */
+ @Test
+ public void testRetrieveMock() {
+ final BundleContext bundleContext =
+ FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<SessionProvider> ref =
+ bundleContext.getServiceReference(SessionProvider.class);
+ final SessionProvider provider = bundleContext.getService(ref);
+ assertNotNull(provider);
+ bundleContext.ungetService(ref);
+ }
+
+ /**
+ * test that the ECPProjectManagerFacotry returns a
+ * working ECPProjectManager.
+ *
+ * @throws ECPProjectWithNameExistsException in case of exception
+ */
+ @Test
+ public final void testServices() throws ECPProjectWithNameExistsException {
+ MockSessionProvider.getInstance();
+ MockSessionProvider.
+ setSessionProvider(SessionProviderType.DIFFERENT_SESSION_ID);
+ final BundleContext bundleContext =
+ FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<ECPProjectManager> serviceReference =
+ bundleContext.getServiceReference(ECPProjectManager.class);
+
+ final ECPProjectManager service1 =
+ bundleContext.getService(serviceReference);
+ final ECPProject project1 =
+ service1.createProject(new EMFStoreProvider(), "Test10"); //$NON-NLS-1$
+ final ECPProject project2 =
+ service1.createProject(EMFStoreProvider.INSTANCE, "Test2"); //$NON-NLS-1$
+
+ bundleContext.ungetService(serviceReference);
+ final ECPProjectManager service2 =
+ bundleContext.getService(serviceReference);
+ assertNotSame(service1, service2);
+
+ final ECPProject project3 =
+ service2.createProject(EMFStoreProvider.INSTANCE, "Test3"); //$NON-NLS-1$
+
+ final Collection<ECPProject> projects1 = service1.getProjects();
+ assertEquals(2, projects1.size());
+ assertTrue(projects1.contains(project1));
+ assertTrue(projects1.contains(project2));
+
+ final Collection<ECPProject> projects2 = service2.getProjects();
+ assertEquals(1, projects2.size());
+ assertTrue(projects2.contains(project3));
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * Test that when the ECPProjectManagerFactory is asked for
+ * a ECPProjectManager from 2 different sessions, that 2 different
+ * ECPProjectManagers are returned.
+ */
+ @Test
+ public void testDifferentSessionIdsECPProjectManager() {
+ MockSessionProvider.getInstance();
+ MockSessionProvider.
+ setSessionProvider(
+ SessionProviderType.DIFFERENT_SESSION_ID);
+ final BundleContext bundleContext =
+ FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<ECPProjectManager> serviceReference =
+ bundleContext.
+ getServiceReference(ECPProjectManager.class);
+
+ final ECPProjectManager service1 =
+ bundleContext.getService(serviceReference);
+ bundleContext.ungetService(serviceReference);
+
+ final ECPProjectManager service2 =
+ bundleContext.getService(serviceReference);
+ assertNotSame(service1, service2);
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * Test that when the ECPProjectManageractory is asked for
+ * a ECPProjectManager 2 times from the same session,
+ * that the same ECPProjectManager is returned.
+ */
+ @Test
+ public void testSameSessionIdsECPProjectManager() {
+ MockSessionProvider.getInstance();
+ MockSessionProvider.
+ setSessionProvider(SessionProviderType.SAME_SESSION_ID);
+ final BundleContext bundleContext =
+ FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<ECPProjectManager> serviceReference =
+ bundleContext.
+ getServiceReference(ECPProjectManager.class);
+
+ final ECPProjectManager service1 =
+ bundleContext.getService(serviceReference);
+ bundleContext.ungetService(serviceReference);
+
+ final ECPProjectManager service2 =
+ bundleContext.getService(serviceReference);
+ assertSame(service1, service2);
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * Test that when the ECPObserverBusFactory is asked for
+ * a ECPObserverBus from 2 different sessions, that 2 different
+ * ECPObserverBus's are returned.
+ */
+ @Test
+ public final void testDifferentSessionIdsECPObserverBus() {
+ MockSessionProvider.
+ getInstance();
+ MockSessionProvider.
+ setSessionProvider(SessionProviderType.DIFFERENT_SESSION_ID);
+ final BundleContext bundleContext =
+ FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<ECPObserverBus> serviceReference =
+ bundleContext.getServiceReference(ECPObserverBus.class);
+
+ final ECPObserverBus service1 =
+ bundleContext.getService(serviceReference);
+ bundleContext.ungetService(serviceReference);
+
+ final ECPObserverBus service2 =
+ bundleContext.getService(serviceReference);
+ assertNotSame(service1, service2);
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * Test that when the ECPObserverBusFactory is asked for
+ * a ECPObserverBus 2 times from the same session,
+ * that the same ECPObserverBus is returned.
+ */
+ @Test
+ public final void testSameSessionIdsECPObserverBus() {
+ MockSessionProvider.
+ getInstance();
+ MockSessionProvider.
+ setSessionProvider(SessionProviderType.SAME_SESSION_ID);
+ final BundleContext bundleContext =
+ FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<ECPObserverBus> serviceReference =
+ bundleContext.getServiceReference(ECPObserverBus.class);
+
+ final ECPObserverBus service1 =
+ bundleContext.getService(serviceReference);
+ bundleContext.ungetService(serviceReference);
+
+ final ECPObserverBus service2 =
+ bundleContext.getService(serviceReference);
+ assertSame(service1, service2);
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * Test that when the ECPProviderRegistryFactory is asked for
+ * a ECPProviderRegistry from 2 different sessions, that 2 different
+ * ECPProviderRegistry's are returned.
+ */
+ @Test
+ public final void testDifferentSessionIdsECPProviderRegistry() {
+ MockSessionProvider.
+ getInstance();
+ MockSessionProvider.
+ setSessionProvider(SessionProviderType.DIFFERENT_SESSION_ID);
+ final BundleContext bundleContext =
+ FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<ECPProviderRegistry> serviceReference =
+ bundleContext.
+ getServiceReference(ECPProviderRegistry.class);
+
+ final ECPProviderRegistry service1 = bundleContext.
+ getService(serviceReference);
+ bundleContext.ungetService(serviceReference);
+
+ final ECPProviderRegistry service2 =
+ bundleContext.getService(serviceReference);
+ assertNotSame(service1, service2);
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * Test that when the ECPProviderRegistryFactory is asked for
+ * a ECPProviderRegistry 2 times from the same session,
+ * that the same ECPProviderRegistry is returned.
+ */
+ @Test
+ public final void testSameSessionIdsECPProviderRegistry() {
+ MockSessionProvider.
+ getInstance();
+ MockSessionProvider.
+ setSessionProvider(SessionProviderType.SAME_SESSION_ID);
+ final BundleContext bundleContext =
+ FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<ECPProviderRegistry> serviceReference =
+ bundleContext.getServiceReference(ECPProviderRegistry.class);
+
+ final ECPProviderRegistry service1 =
+ bundleContext.getService(serviceReference);
+ bundleContext.ungetService(serviceReference);
+
+ final ECPProviderRegistry service2 =
+ bundleContext.getService(serviceReference);
+ assertSame(service1, service2);
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * Test that when the ECPRepositoryManagerFactory is asked for
+ * a ECPRepositoryManager from 2 different sessions, that 2 different
+ * ECPRepositoryManagers are returned.
+ */
+ @Test
+ public final void testDifferentSessionIdsECPRepositoryManager() {
+ MockSessionProvider.
+ getInstance();
+ MockSessionProvider.
+ setSessionProvider(SessionProviderType.DIFFERENT_SESSION_ID);
+ final BundleContext bundleContext =
+ FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<ECPRepositoryManager> serviceReference =
+ bundleContext.getServiceReference(ECPRepositoryManager.class);
+
+ final ECPRepositoryManager service1 =
+ bundleContext.getService(serviceReference);
+ bundleContext.ungetService(serviceReference);
+
+ final ECPRepositoryManager service2 =
+ bundleContext.getService(serviceReference);
+ assertNotSame(service1, service2);
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * Test that when the ECPRepositoryManagerFactory is asked for
+ * a ECPRepositoryManager 2 times from the same session,
+ * that the same ECPRepositoryManager is returned.
+ */
+ @Test
+ public final void testSameSessionIdsECPRepositoryManager() {
+ MockSessionProvider.
+ getInstance();
+ MockSessionProvider.
+ setSessionProvider(SessionProviderType.SAME_SESSION_ID);
+ final BundleContext bundleContext =
+ FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<ECPRepositoryManager> serviceReference =
+ bundleContext.
+ getServiceReference(ECPRepositoryManager.class);
+
+ final ECPRepositoryManager service1 =
+ bundleContext.getService(serviceReference);
+ bundleContext.ungetService(serviceReference);
+
+ final ECPRepositoryManager service2 =
+ bundleContext.getService(serviceReference);
+ assertSame(service1, service2);
+ bundleContext.ungetService(serviceReference);
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.core.test/AllCoreTests.launch b/tests/org.eclipse.emf.ecp.core.test/AllCoreTests.launch
index ed76f70..2fb9d7d 100644
--- a/tests/org.eclipse.emf.ecp.core.test/AllCoreTests.launch
+++ b/tests/org.eclipse.emf.ecp.core.test/AllCoreTests.launch
@@ -12,7 +12,7 @@
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.common.ui,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.email.renderer,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.databinding,org.eclipse.emf.ecp.view.indexdmr.model,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.databinding,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.model.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui"/>
+<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.common.ui,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.email.renderer,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.model,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.model.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
diff --git a/tests/org.eclipse.emf.ecp.core.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.core.test/META-INF/MANIFEST.MF
index 2269bd4..6a911e8 100644
--- a/tests/org.eclipse.emf.ecp.core.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.core.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Core Test
Bundle-SymbolicName: org.eclipse.emf.ecp.core.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.core;bundle-version="1.4.0"
Bundle-ClassPath: .
Require-Bundle: org.eclipse.ui;bundle-version="3.1.0",
@@ -12,6 +12,6 @@
org.mockito.mockito-all;bundle-version="1.9.5"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.core.test;version="1.5.1";x-intern
+Export-Package: org.eclipse.emf.ecp.core.test;version="1.6.0";x-intern
al:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.ecp.core.test/pom.xml b/tests/org.eclipse.emf.ecp.core.test/pom.xml
index fb9df0a..767ec82 100644
--- a/tests/org.eclipse.emf.ecp.core.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.core.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.core.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,18 +24,26 @@
<configuration>
<useUIHarness>false</useUIHarness>
<useUIThread>false</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.emfstore.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.core.test/src/org/eclipse/emf/ecp/core/test/ECPProject_PTest.java b/tests/org.eclipse.emf.ecp.core.test/src/org/eclipse/emf/ecp/core/test/ECPProject_PTest.java
index dbf1273..2c1d05b 100644
--- a/tests/org.eclipse.emf.ecp.core.test/src/org/eclipse/emf/ecp/core/test/ECPProject_PTest.java
+++ b/tests/org.eclipse.emf.ecp.core.test/src/org/eclipse/emf/ecp/core/test/ECPProject_PTest.java
@@ -224,6 +224,7 @@
/**
* Test save properties.
*/
+ @SuppressWarnings("deprecation")
@Test
public void testSaveProperties() {
project.saveProperties();
diff --git a/tests/org.eclipse.emf.ecp.core.test/src/org/eclipse/emf/ecp/core/test/ECPProvider_PTest.java b/tests/org.eclipse.emf.ecp.core.test/src/org/eclipse/emf/ecp/core/test/ECPProvider_PTest.java
index dd39e95..c78fb7a 100644
--- a/tests/org.eclipse.emf.ecp.core.test/src/org/eclipse/emf/ecp/core/test/ECPProvider_PTest.java
+++ b/tests/org.eclipse.emf.ecp.core.test/src/org/eclipse/emf/ecp/core/test/ECPProvider_PTest.java
@@ -16,8 +16,6 @@
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.fail;
-import java.util.Arrays;
-
import org.eclipse.emf.ecp.core.ECPProject;
import org.eclipse.emf.ecp.core.ECPRepository;
import org.eclipse.emf.ecp.core.exceptions.ECPProjectWithNameExistsException;
@@ -78,7 +76,7 @@
try {
// try to create an offline project;
final ECPProject project = getProjectManager().createProject(getProvider(), "test");
- if (project == null && !Arrays.asList(getProjectManager().getProjects()).contains(project)) {
+ if (project == null && !getProjectManager().getProjects().contains(project)) {
isActuallyPossible = false;
} else {
isActuallyPossible = true;
diff --git a/tests/org.eclipse.emf.ecp.diffmerge.test/.gitignore b/tests/org.eclipse.emf.ecp.diffmerge.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.diffmerge.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.diffmerge.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.diffmerge.test/META-INF/MANIFEST.MF
index 2bd3bda..41799ab 100644
--- a/tests/org.eclipse.emf.ecp.diffmerge.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.diffmerge.test/META-INF/MANIFEST.MF
@@ -2,13 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: Diff Merge Tests
Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Fragment-Host: org.eclipse.emf.ecp.diffmerge.context;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
org.eclipse.emf.ecp.view.table.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.5.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.diffmerge.test;version="1.5.1";x-i
+ org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.diffmerge.test;version="1.6.0";x-i
nternal:=true
diff --git a/tests/org.eclipse.emf.ecp.diffmerge.test/MergeTests.launch b/tests/org.eclipse.emf.ecp.diffmerge.test/MergeTests.launch
index 3d78149..4cc556d 100644
--- a/tests/org.eclipse.emf.ecp.diffmerge.test/MergeTests.launch
+++ b/tests/org.eclipse.emf.ecp.diffmerge.test/MergeTests.launch
@@ -32,8 +32,8 @@
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
<booleanAttribute key="run_in_ui_thread" value="false"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.diffmerge.context@default:default,org.eclipse.emf.ecp.diffmerge.model.edit@default:default,org.eclipse.emf.ecp.diffmerge.model@default:default,org.eclipse.emf.ecp.diffmerge.test@default:false,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:false,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.model@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.diffmerge.context@default:default,org.eclipse.emf.ecp.diffmerge.model.edit@default:default,org.eclipse.emf.ecp.diffmerge.model@default:default,org.eclipse.emf.ecp.diffmerge.test@default:false,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:false,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.diffmerge.test/pom.xml b/tests/org.eclipse.emf.ecp.diffmerge.test/pom.xml
index 17cd363..7f16816 100644
--- a/tests/org.eclipse.emf.ecp.diffmerge.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.diffmerge.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.diffmerge.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -25,43 +25,51 @@
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
<failIfNoTests>false</failIfNoTests>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.diffmerge.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.table.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.horizontal.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.validation.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.diffmerge.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.table.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.horizontal.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.validation.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.emfstore.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.diffmerge.test/src/org/eclipse/emf/ecp/diffmerge/test/Diff_Test.java b/tests/org.eclipse.emf.ecp.diffmerge.test/src/org/eclipse/emf/ecp/diffmerge/test/Diff_Test.java
index 2f3600f..f9650ec 100644
--- a/tests/org.eclipse.emf.ecp.diffmerge.test/src/org/eclipse/emf/ecp/diffmerge/test/Diff_Test.java
+++ b/tests/org.eclipse.emf.ecp.diffmerge.test/src/org/eclipse/emf/ecp/diffmerge/test/Diff_Test.java
@@ -15,6 +15,7 @@
import org.eclipse.emf.ecp.diffmerge.spi.context.DiffMergeContextFactory;
import org.eclipse.emf.ecp.diffmerge.spi.context.DiffMergeModelContext;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
import org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalFactory;
import org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalLayout;
import org.eclipse.emf.ecp.view.spi.model.VControl;
@@ -29,6 +30,8 @@
import org.eclipse.emf.emfstore.bowling.Gender;
import org.eclipse.emf.emfstore.bowling.League;
import org.eclipse.emf.emfstore.bowling.Player;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
/**
@@ -38,6 +41,17 @@
*
*/
public class Diff_Test {
+ private DefaultRealm realm;
+
+ @Before
+ public void setUp() {
+ realm = new DefaultRealm();
+ }
+
+ @After
+ public void tearDown() {
+ realm.dispose();
+ }
@Test
public void testSingleControlViewWithDiff() {
@@ -80,7 +94,7 @@
left.getPlayers().add(left1);
final League right = BowlingFactory.eINSTANCE.createLeague();
final Player right1 = BowlingFactory.eINSTANCE.createPlayer();
- left.setName("b"); //$NON-NLS-1$
+ right1.setName("b"); //$NON-NLS-1$
right.getPlayers().add(right1);
final League target = BowlingFactory.eINSTANCE.createLeague();
final Player target1 = BowlingFactory.eINSTANCE.createPlayer();
diff --git a/tests/org.eclipse.emf.ecp.diffmerge.test/src/org/eclipse/emf/ecp/diffmerge/test/Merge_PTest.java b/tests/org.eclipse.emf.ecp.diffmerge.test/src/org/eclipse/emf/ecp/diffmerge/test/Merge_PTest.java
index a4ad061..7730f2d 100644
--- a/tests/org.eclipse.emf.ecp.diffmerge.test/src/org/eclipse/emf/ecp/diffmerge/test/Merge_PTest.java
+++ b/tests/org.eclipse.emf.ecp.diffmerge.test/src/org/eclipse/emf/ecp/diffmerge/test/Merge_PTest.java
@@ -21,6 +21,7 @@
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecp.diffmerge.spi.context.DefaultMergeUtil;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
@@ -34,6 +35,8 @@
import org.eclipse.emf.emfstore.bowling.Fan;
import org.eclipse.emf.emfstore.bowling.Merchandise;
import org.eclipse.emf.emfstore.bowling.Player;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
/**
@@ -43,6 +46,17 @@
*
*/
public class Merge_PTest {
+ private DefaultRealm realm;
+
+ @Before
+ public void setUp() {
+ realm = new DefaultRealm();
+ }
+
+ @After
+ public void tearDown() {
+ realm.dispose();
+ }
private void addEobjectToResource(EObject eObject) {
final ResourceSet resourceSet = new ResourceSetImpl();
@@ -67,17 +81,14 @@
dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
controlToCopyFrom.setDomainModelReference(dmr);
- dmr.init(player1);
-
final Player player2 = BowlingFactory.eINSTANCE.createPlayer();
addEobjectToResource(player2);
player2.setName("b"); //$NON-NLS-1$
final VFeaturePathDomainModelReference dmr2 = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
dmr2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
controlToCopyTo.setDomainModelReference(dmr2);
- dmr2.init(player2);
- DefaultMergeUtil.copyValues(controlToCopyFrom, controlToCopyTo);
+ DefaultMergeUtil.copyValues(controlToCopyFrom, player1, controlToCopyTo, player2);
assertEquals("a", player2.getName()); //$NON-NLS-1$
}
@@ -94,7 +105,6 @@
final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_EMails());
controlToCopyFrom.setDomainModelReference(dmr);
- dmr.init(player1);
final Player player2 = BowlingFactory.eINSTANCE.createPlayer();
addEobjectToResource(player2);
@@ -103,9 +113,8 @@
final VFeaturePathDomainModelReference dmr2 = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
dmr2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_EMails());
controlToCopyTo.setDomainModelReference(dmr2);
- dmr2.init(player2);
- DefaultMergeUtil.copyValues(controlToCopyFrom, controlToCopyTo);
+ DefaultMergeUtil.copyValues(controlToCopyFrom, player1, controlToCopyTo, player2);
assertEquals(2, player2.getEMails().size());
assertEquals("a", player2.getEMails().get(0)); //$NON-NLS-1$
@@ -126,7 +135,6 @@
dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
dmr.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
controlToCopyFrom.setDomainModelReference(dmr);
- dmr.init(fan1);
final Fan fan2 = BowlingFactory.eINSTANCE.createFan();
fan2.setFavouriteMerchandise(BowlingFactory.eINSTANCE.createMerchandise());
@@ -136,9 +144,8 @@
dmr2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
dmr2.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
controlToCopyTo.setDomainModelReference(dmr2);
- dmr2.init(fan2);
- DefaultMergeUtil.copyValues(controlToCopyFrom, controlToCopyTo);
+ DefaultMergeUtil.copyValues(controlToCopyFrom, fan1, controlToCopyTo, fan2);
assertNotEquals(fan1.getFavouriteMerchandise(), fan2.getFavouriteMerchandise());
assertEquals("a", fan2.getFavouriteMerchandise().getName()); //$NON-NLS-1$
@@ -166,7 +173,6 @@
.createTableDomainModelReference();
dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_FanMerchandise());
controlToCopyFrom.setDomainModelReference(dmr);
- dmr.init(fan1);
}
final Fan fan2 = BowlingFactory.eINSTANCE.createFan();
@@ -182,10 +188,9 @@
.createTableDomainModelReference();
dmr2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_FanMerchandise());
controlToCopyTo.setDomainModelReference(dmr2);
- dmr2.init(fan2);
}
- DefaultMergeUtil.copyValues(controlToCopyFrom, controlToCopyTo);
+ DefaultMergeUtil.copyValues(controlToCopyFrom, fan1, controlToCopyTo, fan2);
assertEquals(fan1.getFanMerchandise().size(), fan2.getFanMerchandise().size());
assertNotEquals(fan1.getFanMerchandise().get(0), fan2.getFanMerchandise().get(0));
diff --git a/tests/org.eclipse.emf.ecp.diffmerge.test/src/org/eclipse/emf/ecp/diffmerge/test/SaveLoad_PTest.java b/tests/org.eclipse.emf.ecp.diffmerge.test/src/org/eclipse/emf/ecp/diffmerge/test/SaveLoad_PTest.java
index a226edc..ffb0895 100644
--- a/tests/org.eclipse.emf.ecp.diffmerge.test/src/org/eclipse/emf/ecp/diffmerge/test/SaveLoad_PTest.java
+++ b/tests/org.eclipse.emf.ecp.diffmerge.test/src/org/eclipse/emf/ecp/diffmerge/test/SaveLoad_PTest.java
@@ -24,6 +24,7 @@
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecp.diffmerge.spi.context.DiffMergeContextFactory;
import org.eclipse.emf.ecp.diffmerge.spi.context.DiffMergeModelContext;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
@@ -37,6 +38,8 @@
import org.eclipse.emf.emfstore.bowling.Gender;
import org.eclipse.emf.emfstore.bowling.League;
import org.eclipse.emf.emfstore.bowling.Player;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
/**
@@ -44,6 +47,17 @@
*
*/
public class SaveLoad_PTest {
+ private DefaultRealm realm;
+
+ @Before
+ public void setUp() {
+ realm = new DefaultRealm();
+ }
+
+ @After
+ public void tearDown() {
+ realm.dispose();
+ }
/**
* Round trip test.
diff --git a/tests/org.eclipse.emf.ecp.ecore.editor.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ecore.editor.test/META-INF/MANIFEST.MF
index a261be2..9fa3c1d 100644
--- a/tests/org.eclipse.emf.ecp.ecore.editor.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ecore.editor.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECore GenModel Test
Bundle-SymbolicName: org.eclipse.emf.ecp.ecore.editor.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Require-Bundle: org.junit;bundle-version="4.0.0",
org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
diff --git a/tests/org.eclipse.emf.ecp.ecore.editor.test/pom.xml b/tests/org.eclipse.emf.ecp.ecore.editor.test/pom.xml
index 643bdde..29f3b5d 100644
--- a/tests/org.eclipse.emf.ecp.ecore.editor.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ecore.editor.test/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ecore.editor.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/tests/org.eclipse.emf.ecp.edit.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.edit.swt.test/META-INF/MANIFEST.MF
index 51eca8d..28bf3e4 100644
--- a/tests/org.eclipse.emf.ecp.edit.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.edit.swt.test/META-INF/MANIFEST.MF
@@ -2,10 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: Test
Bundle-SymbolicName: org.eclipse.emf.ecp.edit.swt.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Fragment-Host: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)"
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.10.2,3.0.0)",
+ org.eclipse.emf.ecp.test.model;bundle-version="[1.6.0,2.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)"
Export-Package: org.eclipse.emf.ecp.edit.internal.swt.util;version="1.
- 5.1";x-internal:=true
+ 6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.edit.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.edit.swt.test/pom.xml
index 351d6de..7f20b3b 100644
--- a/tests/org.eclipse.emf.ecp.edit.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.edit.swt.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.edit.swt.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<!-- When signing bundles we get a security exception using maven-surefire.
diff --git a/tests/org.eclipse.emf.ecp.edit.swt.test/src/org/eclipse/emf/ecp/edit/internal/swt/util/EMFDeleteSerivceImpl_PTest.java b/tests/org.eclipse.emf.ecp.edit.swt.test/src/org/eclipse/emf/ecp/edit/internal/swt/util/EMFDeleteSerivceImpl_PTest.java
new file mode 100644
index 0000000..bb11c69
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.edit.swt.test/src/org/eclipse/emf/ecp/edit/internal/swt/util/EMFDeleteSerivceImpl_PTest.java
@@ -0,0 +1,144 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * jfaltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.edit.internal.swt.util;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Arrays;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.util.URI;
+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 org.eclipse.emf.ecp.edit.spi.DeleteService;
+import org.eclipse.emf.ecp.edit.spi.EMFDeleteServiceImpl;
+import org.eclipse.emf.ecp.test.university.Address;
+import org.eclipse.emf.ecp.test.university.Professor;
+import org.eclipse.emf.ecp.test.university.UniversityFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.emfstore.bowling.BowlingFactory;
+import org.eclipse.emf.emfstore.bowling.Game;
+import org.eclipse.emf.emfstore.bowling.League;
+import org.eclipse.emf.emfstore.bowling.Player;
+import org.eclipse.emf.emfstore.bowling.Tournament;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * @author jfaltermeier
+ *
+ */
+public class EMFDeleteSerivceImpl_PTest {
+
+ private DeleteService deleteService;
+ private AdapterFactoryEditingDomain domain;
+ private Resource resource;
+ private League league;
+ private Game game;
+ private Player player1;
+ private Player player2;
+ private Player player3;
+ private Tournament tournament;
+
+ @Before
+ public void setUp() {
+ final ResourceSet resourceSet = new ResourceSetImpl();
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", new XMIResourceFactoryImpl()); //$NON-NLS-1$
+ domain = new AdapterFactoryEditingDomain(
+ new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
+ new BasicCommandStack(), resourceSet);
+ resourceSet.eAdapters().add(new AdapterFactoryEditingDomain.EditingDomainProvider(domain));
+ resource = resourceSet.createResource(URI.createURI("VIRTUAL_URI")); //$NON-NLS-1$
+
+ league = BowlingFactory.eINSTANCE.createLeague();
+ game = BowlingFactory.eINSTANCE.createGame();
+ tournament = BowlingFactory.eINSTANCE.createTournament();
+
+ resource.getContents().add(league);
+ resource.getContents().add(game);
+ resource.getContents().add(tournament);
+
+ player1 = BowlingFactory.eINSTANCE.createPlayer();
+ player2 = BowlingFactory.eINSTANCE.createPlayer();
+ player3 = BowlingFactory.eINSTANCE.createPlayer();
+ league.getPlayers().add(player1);
+ league.getPlayers().add(player2);
+ league.getPlayers().add(player3);
+ tournament.getPlayers().add(player1);
+ tournament.getPlayers().add(player2);
+ tournament.getPlayers().add(player3);
+
+ game.setPlayer(player1);
+
+ deleteService = new EMFDeleteServiceImpl();
+ final ViewModelContext context = mock(ViewModelContext.class);
+ when(context.getDomainModel()).thenReturn(league);
+ deleteService.instantiate(context);
+ }
+
+ @Test
+ public void testDeleteElements() {
+ /* act */
+ deleteService.deleteElements(Arrays.asList(Object.class.cast(player1), player2));
+
+ /* assert */
+ assertEquals(1, league.getPlayers().size());
+ assertTrue(league.getPlayers().contains(player3));
+ assertEquals(1, tournament.getPlayers().size());
+ assertTrue(tournament.getPlayers().contains(player3));
+ assertNull(game.getPlayer());
+
+ }
+
+ @Test
+ public void testDeleteElement() {
+ /* act */
+ deleteService.deleteElement(player1);
+
+ /* assert */
+ assertEquals(2, league.getPlayers().size());
+ assertTrue(league.getPlayers().contains(player2));
+ assertTrue(league.getPlayers().contains(player3));
+ assertEquals(2, tournament.getPlayers().size());
+ assertTrue(tournament.getPlayers().contains(player2));
+ assertTrue(tournament.getPlayers().contains(player3));
+ assertNull(game.getPlayer());
+ }
+
+ @Test
+ public void testDeleteElementNoChildOfParentReference() {
+ // setup
+ final Professor professor = UniversityFactory.eINSTANCE.createProfessor();
+ final Address address1 = UniversityFactory.eINSTANCE.createAddress();
+ final Address address2 = UniversityFactory.eINSTANCE.createAddress();
+ professor.getAddresses().add(address1);
+ professor.getAddresses().add(address2);
+ resource.getContents().add(professor);
+
+ // act
+ deleteService.deleteElement(address2);
+
+ // assert
+ assertEquals(1, professor.getAddresses().size());
+ assertSame(address1, professor.getAddresses().get(0));
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.ide.util.test/.gitignore b/tests/org.eclipse.emf.ecp.ide.util.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.ide.util.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.ide.util.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ide.util.test/META-INF/MANIFEST.MF
index 5fc3330..a58e296 100644
--- a/tests/org.eclipse.emf.ecp.ide.util.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ide.util.test/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: Test
Bundle-SymbolicName: org.eclipse.emf.ecp.ide.util.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.ide.util.test.Activator
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.ui;bundle-version="[3.106.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.junit;bundle-version="[4.11.0,5.0.0)",
org.eclipse.emf.common;bundle-version="[2.10.0,3.0.0)",
- org.eclipse.emf.ecore;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)",
org.eclipse.emf.common.ui;bundle-version="[2.9.0,3.0.0)",
@@ -17,5 +17,5 @@
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.ide.util.test;version="1.5.1";x-in
+Export-Package: org.eclipse.emf.ecp.ide.util.test;version="1.6.0";x-in
ternal:=true
diff --git a/tests/org.eclipse.emf.ecp.ide.util.test/pom.xml b/tests/org.eclipse.emf.ecp.ide.util.test/pom.xml
index 787404f..eda4157 100644
--- a/tests/org.eclipse.emf.ecp.ide.util.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ide.util.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ide.util.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -19,16 +19,17 @@
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
+ <artifactId>target-platform-configuration</artifactId>
<configuration>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfforms.sdk.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.emfforms.sdk.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.ide.util.test/resources/TestEcoreHelperProjectResources/testSubpackages1.ecore b/tests/org.eclipse.emf.ecp.ide.util.test/resources/TestEcoreHelperProjectResources/testSubpackages1.ecore
new file mode 100644
index 0000000..4e8487f
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.ide.util.test/resources/TestEcoreHelperProjectResources/testSubpackages1.ecore
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="testSubpackages1_root" nsURI="http://testSubpackages1_root"
+ nsPrefix="testSubpackages1_root">
+ <eClassifiers xsi:type="ecore:EClass" name="class1">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="a" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ref_class3" eType="#//testSubpackages1_subpackage2/class3"/>
+ </eClassifiers>
+ <eSubpackages name="testSubpackages1_subpackage1" nsURI="http://testSubpackages1_subpackage1"
+ nsPrefix="testSubpackages1_subpackage1">
+ <eClassifiers xsi:type="ecore:EClass" name="class2"/>
+ <eSubpackages name="testSubpackages1_subpackage3" nsURI="http://testSubpackages1_subpackage3"
+ nsPrefix="testSubpackages1_subpackage3">
+ <eClassifiers xsi:type="ecore:EClass" name="class4"/>
+ </eSubpackages>
+ </eSubpackages>
+ <eSubpackages name="testSubpackages1_subpackage2" nsURI="http://testSubpackages1_subpackage2"
+ nsPrefix="testSubpackages1_subpackage2">
+ <eClassifiers xsi:type="ecore:EClass" name="class3"/>
+ </eSubpackages>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.emf.ecp.ide.util.test/resources/TestEcoreHelperProjectResources/testSubpackages2.ecore b/tests/org.eclipse.emf.ecp.ide.util.test/resources/TestEcoreHelperProjectResources/testSubpackages2.ecore
new file mode 100644
index 0000000..cfdeafd
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.ide.util.test/resources/TestEcoreHelperProjectResources/testSubpackages2.ecore
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="testSubpackages2_root" nsURI="http://testSubpackages2_root"
+ nsPrefix="testSubpackages2_root">
+ <eClassifiers xsi:type="ecore:EClass" name="class2">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="refClass4" eType="ecore:EClass testSubpackages1.ecore#//testSubpackages1_subpackage1/testSubpackages1_subpackage3/class4"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.emf.ecp.ide.util.test/src/org/eclipse/emf/ecp/ide/util/test/AllTests.java b/tests/org.eclipse.emf.ecp.ide.util.test/src/org/eclipse/emf/ecp/ide/util/test/AllTests.java
index 0f18ecb..8bb0067 100644
--- a/tests/org.eclipse.emf.ecp.ide.util.test/src/org/eclipse/emf/ecp/ide/util/test/AllTests.java
+++ b/tests/org.eclipse.emf.ecp.ide.util.test/src/org/eclipse/emf/ecp/ide/util/test/AllTests.java
@@ -10,8 +10,8 @@
EcoreHelperNoDependencies_PTest.class,
EcoreHelperOneDependency_PTest.class,
EcoreHelperTwoDependencies_PTest.class,
- EcoreHelperCyclicDependencies_PTest.class
-})
+ EcoreHelperCyclicDependencies_PTest.class,
+ EcoreHelperSubpackages_PTest.class })
public class AllTests {
}
diff --git a/tests/org.eclipse.emf.ecp.ide.util.test/src/org/eclipse/emf/ecp/ide/util/test/EcoreHelperSubpackages_PTest.java b/tests/org.eclipse.emf.ecp.ide.util.test/src/org/eclipse/emf/ecp/ide/util/test/EcoreHelperSubpackages_PTest.java
new file mode 100644
index 0000000..39cc4f5
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.ide.util.test/src/org/eclipse/emf/ecp/ide/util/test/EcoreHelperSubpackages_PTest.java
@@ -0,0 +1,202 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alexandra Buzila - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.ide.util.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EPackage.Registry;
+import org.eclipse.emf.ecp.internal.ide.util.EcoreHelper;
+import org.junit.After;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @author Alexandra Buzila
+ *
+ */
+public class EcoreHelperSubpackages_PTest {
+ private final Registry packageRegistry = EPackage.Registry.INSTANCE;
+ private static final String ECORE_1_PATH = "/TestEcoreHelperProjectResources/testSubpackages1.ecore";
+ private static final String ECORE_2_PATH = "/TestEcoreHelperProjectResources/testSubpackages2.ecore";
+ private static final String ROOT_1_NS_URI = "http://testSubpackages1_root";
+ private static final String ROOT_2_NS_URI = "http://testSubpackages2_root";
+ private static final String SUBPACKAGE1_1_NS_URI = "http://testSubpackages1_subpackage1";
+ private static final String SUBPACKAGE1_2_NS_URI = "http://testSubpackages1_subpackage2";
+ private static final String SUBPACKAGE1_3_NS_URI = "http://testSubpackages1_subpackage3";
+
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ final IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+ final IProject project = root.getProject("TestEcoreHelperProjectResources");
+ // create resources to register and unregister
+ if (!project.exists()) {
+ installResourcesProject();
+ }
+ }
+
+ private static void installResourcesProject() throws Exception {
+ final ProjectInstallerWizard wiz = new ProjectInstallerWizard();
+ wiz.installExample(new NullProgressMonitor());
+ }
+
+ @Test
+ public void testRegisteringRootPackage() throws IOException {
+ // check initial state
+ assertFalse("Root Package is already in the registry!",
+ packageRegistry.containsKey(ROOT_1_NS_URI));
+ assertFalse("Subpackage 1 is already in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
+ assertFalse("Subpackage 2 is already in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
+ assertFalse("Subpackage 3 is already in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
+
+ EcoreHelper.registerEcore(ECORE_1_PATH);
+
+ assertTrue("Root Package is not in the registry!",
+ packageRegistry.containsKey(ROOT_1_NS_URI));
+ assertTrue("Subpackage 1 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
+ assertTrue("Subpackage 2 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
+ assertTrue("Subpackage 3 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
+
+ }
+
+ @Test
+ public void testRegisteringUnregisteringViaReference() throws IOException {
+ // check initial state
+ assertFalse("Root Package is already in the registry!",
+ packageRegistry.containsKey(ROOT_1_NS_URI));
+ assertFalse("Root Package is already in the registry!",
+ packageRegistry.containsKey(ROOT_2_NS_URI));
+ assertFalse("Subpackage 1 is already in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
+ assertFalse("Subpackage 2 is already in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
+ assertFalse("Subpackage 3 is already in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
+
+ EcoreHelper.registerEcore(ECORE_2_PATH);
+
+ assertTrue("Root Package is not in the registry!",
+ packageRegistry.containsKey(ROOT_1_NS_URI));
+ assertTrue("Root Package is not in the registry!",
+ packageRegistry.containsKey(ROOT_2_NS_URI));
+ assertTrue("Subpackage 1 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
+ assertTrue("Subpackage 2 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
+ assertTrue("Subpackage 3 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
+
+ EcoreHelper.registerEcore(ECORE_1_PATH);
+
+ EcoreHelper.unregisterEcore(ECORE_2_PATH);
+
+ assertTrue("Root Package 1 is not in the registry!",
+ packageRegistry.containsKey(ROOT_1_NS_URI));
+ assertFalse("Root Package 2 is still in the registry!",
+ packageRegistry.containsKey(ROOT_2_NS_URI));
+ assertTrue("Subpackage 1 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
+ assertTrue("Subpackage 2 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
+ assertTrue("Subpackage 3 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
+
+ EcoreHelper.unregisterEcore(ECORE_1_PATH);
+
+ assertFalse("Root Package 1 is still in the registry!",
+ packageRegistry.containsKey(ROOT_1_NS_URI));
+ assertFalse("Root Package 2 is still in the registry!",
+ packageRegistry.containsKey(ROOT_2_NS_URI));
+ assertFalse("Subpackage 1 is still in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
+ assertFalse("Subpackage 2 is still in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
+ assertFalse("Subpackage 3 is still in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
+ }
+
+ @Test
+ public void testRegisteringUnregisteringViaReference_DifferentOrder() throws IOException {
+ // check initial state
+ assertFalse("Root Package is already in the registry!",
+ packageRegistry.containsKey(ROOT_1_NS_URI));
+ assertFalse("Root Package is already in the registry!",
+ packageRegistry.containsKey(ROOT_2_NS_URI));
+ assertFalse("Subpackage 1 is already in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
+ assertFalse("Subpackage 2 is already in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
+ assertFalse("Subpackage 3 is already in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
+
+ EcoreHelper.registerEcore(ECORE_2_PATH);
+
+ assertTrue("Root Package is not in the registry!",
+ packageRegistry.containsKey(ROOT_1_NS_URI));
+ assertTrue("Root Package is not in the registry!",
+ packageRegistry.containsKey(ROOT_2_NS_URI));
+ assertTrue("Subpackage 1 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
+ assertTrue("Subpackage 2 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
+ assertTrue("Subpackage 3 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
+
+ EcoreHelper.registerEcore(ECORE_1_PATH);
+
+ EcoreHelper.unregisterEcore(ECORE_1_PATH);
+
+ assertTrue("Root Package 1 is not in the registry!",
+ packageRegistry.containsKey(ROOT_1_NS_URI));
+ assertTrue("Root Package 2 is not in the registry!",
+ packageRegistry.containsKey(ROOT_2_NS_URI));
+ assertTrue("Subpackage 1 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
+ assertTrue("Subpackage 2 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
+ assertTrue("Subpackage 3 is not in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
+
+ EcoreHelper.unregisterEcore(ECORE_2_PATH);
+
+ assertFalse("Root Package 1 is still in the registry!",
+ packageRegistry.containsKey(ROOT_1_NS_URI));
+ assertFalse("Root Package 2 is still in the registry!",
+ packageRegistry.containsKey(ROOT_2_NS_URI));
+ assertFalse("Subpackage 1 is still in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_1_NS_URI));
+ assertFalse("Subpackage 2 is still in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_2_NS_URI));
+ assertFalse("Subpackage 3 is still in the registry!",
+ packageRegistry.containsKey(SUBPACKAGE1_3_NS_URI));
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ EcoreHelper.unregisterEcore(ECORE_1_PATH);
+ EcoreHelper.unregisterEcore(ECORE_2_PATH);
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.ide.view.service.test/.gitignore b/tests/org.eclipse.emf.ecp.ide.view.service.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.ide.view.service.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.ide.view.service.test/IDEViewModelRegistry_PTest.launch b/tests/org.eclipse.emf.ecp.ide.view.service.test/IDEViewModelRegistry_PTest.launch
index dd498a2..3fc0ad6 100644
--- a/tests/org.eclipse.emf.ecp.ide.view.service.test/IDEViewModelRegistry_PTest.launch
+++ b/tests/org.eclipse.emf.ecp.ide.view.service.test/IDEViewModelRegistry_PTest.launch
@@ -12,7 +12,7 @@
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.common,org.eclipse.emf.ecp.common.test.fx,org.eclipse.emf.ecp.core,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.core,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.emailControlRenderer,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.util.e4.fx,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.databinding,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.viewmodel.fx,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.fx.util"/>
+<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.common,org.eclipse.emf.ecp.common.test.fx,org.eclipse.emf.ecp.core,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.core,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.emailControlRenderer,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.util.e4.fx,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.viewmodel.fx,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.fx.util"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
diff --git a/tests/org.eclipse.emf.ecp.ide.view.service.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ide.view.service.test/META-INF/MANIFEST.MF
index 01d2cb3..bf09b0e 100644
--- a/tests/org.eclipse.emf.ecp.ide.view.service.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ide.view.service.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: IDEViewModelRegistry Test
Bundle-SymbolicName: org.eclipse.emf.ecp.ide.view.service.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.5.0,2.0.0)",
@@ -13,5 +13,5 @@
org.eclipse.emf.ecore.xmi;bundle-version="[2.0.0,3.0.0)",
org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.common.ui;bundle-version="[2.7.0,3.0.0)"
-Export-Package: org.eclipse.emf.ecp.ide.view.service.test;version="1.5
- .1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ide.view.service.test;version="1.6
+ .0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.ide.view.service.test/pom.xml b/tests/org.eclipse.emf.ecp.ide.view.service.test/pom.xml
index d101391..4bd19d0 100644
--- a/tests/org.eclipse.emf.ecp.ide.view.service.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ide.view.service.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ide.view.service.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,13 +24,21 @@
<configuration>
<useUIHarness>false</useUIHarness>
<useUIThread>false</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfforms.sdk.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.emfforms.sdk.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.integrationtest/.gitignore b/tests/org.eclipse.emf.ecp.integrationtest/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.integrationtest/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.integrationtest/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.integrationtest/META-INF/MANIFEST.MF
index 8a8c9e9..28ff3be 100644
--- a/tests/org.eclipse.emf.ecp.integrationtest/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.integrationtest/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: Integrationtest
Bundle-SymbolicName: org.eclipse.emf.ecp.integrationtest
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
org.eclipse.osgi;bundle-version="[3.7.0,4.0.0)"
Bundle-Activator: org.eclipse.emf.ecp.integrationtest.Activator
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.integrationtest;version="1.5.1";x-
+Export-Package: org.eclipse.emf.ecp.integrationtest;version="1.6.0";x-
internal:=true
diff --git a/tests/org.eclipse.emf.ecp.integrationtest/pom.xml b/tests/org.eclipse.emf.ecp.integrationtest/pom.xml
index 21595d7..7434344 100644
--- a/tests/org.eclipse.emf.ecp.integrationtest/pom.xml
+++ b/tests/org.eclipse.emf.ecp.integrationtest/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.integrationtest</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -22,25 +22,24 @@
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
- <useUIHarness>false</useUIHarness>
- <useUIThread>false</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.sdk.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ <useUIHarness>false</useUIHarness>
+ <useUIThread>false</useUIThread>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.quickfix.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.quickfix.test/META-INF/MANIFEST.MF
index 0056c77..450dd87 100644
--- a/tests/org.eclipse.emf.ecp.quickfix.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.quickfix.test/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
Bundle-ManifestVersion: 2
Bundle-Name: Model Quick Fix Test
Bundle-SymbolicName: org.eclipse.emf.ecp.quickfix.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
-Fragment-Host: org.eclipse.emf.ecp.quickfix;bundle-version="1.5.0"
+Fragment-Host: org.eclipse.emf.ecp.quickfix;bundle-version="[1.6.0,2.0.0)"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Import-Package: org.junit;version="[4.0.0,5.0.0)"
-Export-Package: org.eclipse.emf.ecp.ui.quickfix.test;version="1.5.1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ui.quickfix.test;version="1.5.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.quickfix.test/ModelQuickFixRegistry_ITest.launch b/tests/org.eclipse.emf.ecp.quickfix.test/ModelQuickFixRegistry_ITest.launch
index b810f84..e66a059 100644
--- a/tests/org.eclipse.emf.ecp.quickfix.test/ModelQuickFixRegistry_ITest.launch
+++ b/tests/org.eclipse.emf.ecp.quickfix.test/ModelQuickFixRegistry_ITest.launch
@@ -12,7 +12,7 @@
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.application.e4.fx,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.common,org.eclipse.emf.ecp.common.test.fx,org.eclipse.emf.ecp.common.ui,org.eclipse.emf.ecp.controls.fx,org.eclipse.emf.ecp.controls.fx.test,org.eclipse.emf.ecp.core,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.core,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.e4.fx,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.application.sample.fx,org.eclipse.emf.ecp.makeithappen.application.sample.rap,org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.email.renderer,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.rap,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rap,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.util.e4.fx,org.eclipse.emf.ecp.util.fx,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.fx,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.fx,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.model,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.fx,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.databinding,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.fx,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.model.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.fx,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.util.swt.rap,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.fx,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.viewmodel.fx,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.fx.projects,org.eclipse.emf.emfstore.fx.util"/>
+<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.application.e4.fx,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.common,org.eclipse.emf.ecp.common.test.fx,org.eclipse.emf.ecp.common.ui,org.eclipse.emf.ecp.controls.fx,org.eclipse.emf.ecp.controls.fx.test,org.eclipse.emf.ecp.core,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.core,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.e4.fx,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.application.sample.fx,org.eclipse.emf.ecp.makeithappen.application.sample.rap,org.eclipse.emf.ecp.makeithappen.application.sample.rap.j2ee,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.email.renderer,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.rap,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rap,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.util.e4.fx,org.eclipse.emf.ecp.util.fx,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.fx,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.fx,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.model,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.fx,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.fx,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.model.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.fx,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.util.swt.rap,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.fx,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.viewmodel.fx,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.fx.projects,org.eclipse.emf.emfstore.fx.util"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
diff --git a/tests/org.eclipse.emf.ecp.quickfix.test/pom.xml b/tests/org.eclipse.emf.ecp.quickfix.test/pom.xml
index 4f177aa..43f8a8b 100644
--- a/tests/org.eclipse.emf.ecp.quickfix.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.quickfix.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.quickfix.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,13 +24,21 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-plugin</type>
- <artifactId>org.eclipse.emf.ecp.quickfix</artifactId>
- <version>1.5.1</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-plugin</type>
+ <id>org.eclipse.emf.ecp.quickfix</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.ecp.test.model.edit/.settings/org.eclipse.jdt.core.prefs
index edbd6f6..edc0222 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/.settings/org.eclipse.jdt.core.prefs
@@ -25,6 +25,7 @@
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.5
@@ -96,7 +97,7 @@
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
@@ -118,6 +119,7 @@
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.test.model.edit/META-INF/MANIFEST.MF
index 69a6f64..eff5b5f 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/META-INF/MANIFEST.MF
@@ -2,15 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Test Model Edit Plugin
Bundle-SymbolicName: org.eclipse.emf.ecp.test.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.test.university.provider.UniversityEditPlugin$Implementation
Bundle-Vendor: Eclipse Modeling Project
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.emf.ecp.test.university.provider;version="
- 1.5.1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.test.university.provider;version="1.6.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.test.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.edit;bundle-version="[2.9.0,3.0.0)";visibility:=reexport
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport
Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/icons/full/obj16/Address.gif b/tests/org.eclipse.emf.ecp.test.model.edit/icons/full/obj16/Address.gif
new file mode 100644
index 0000000..30f0c48
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/icons/full/obj16/Address.gif
Binary files differ
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/plugin.properties b/tests/org.eclipse.emf.ecp.test.model.edit/plugin.properties
index 08dcd2e..6a2bc0d 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/plugin.properties
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/plugin.properties
@@ -9,7 +9,7 @@
# EclipseSource - Generated code
pluginName = University Edit Support
-providerName = www.example.org
+providerName = Eclipse Modeling Project
_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
@@ -40,3 +40,5 @@
_UI_Staff_assistants_feature = Assistants
_UI_Staff_staff_feature = Staff
_UI_Person_name_feature = Name
+_UI_Address_type = Address
+_UI_Person_addresses_feature = Addresses
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/pom.xml b/tests/org.eclipse.emf.ecp.test.model.edit/pom.xml
index d613769..1930745 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/pom.xml
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.test.model.edit</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/AddressItemProvider.java b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/AddressItemProvider.java
new file mode 100644
index 0000000..c4442a1
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/AddressItemProvider.java
@@ -0,0 +1,133 @@
+/**
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - Generated code
+ */
+package org.eclipse.emf.ecp.test.university.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.ecp.test.university.Address} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AddressItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AddressItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns Address.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Address")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Address_type"); //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return UniversityEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/AssistantItemProvider.java b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/AssistantItemProvider.java
index b6983d5..d532a8d 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/AssistantItemProvider.java
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/AssistantItemProvider.java
@@ -24,6 +24,7 @@
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
@@ -39,9 +40,8 @@
public class AssistantItemProvider
extends ItemProviderAdapter
implements
- IEditingDomainItemProvider, ITreeItemContentProvider, IItemLabelProvider,
- IItemPropertySource
-{
+ IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider,
+ IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
@@ -49,8 +49,7 @@
*
* @generated
*/
- public AssistantItemProvider(AdapterFactory adapterFactory)
- {
+ public AssistantItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
@@ -62,10 +61,8 @@
* @generated
*/
@Override
- public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
- {
- if (itemPropertyDescriptors == null)
- {
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addNamePropertyDescriptor(object);
@@ -80,11 +77,9 @@
*
* @generated
*/
- protected void addNamePropertyDescriptor(Object object)
- {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Person_name_feature"), //$NON-NLS-1$
getString("_UI_PropertyDescriptor_description", "_UI_Person_name_feature", "_UI_Person_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -105,8 +100,7 @@
* @generated
*/
@Override
- public Object getImage(Object object)
- {
+ public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/Assistant")); //$NON-NLS-1$
}
@@ -118,12 +112,10 @@
* @generated
*/
@Override
- public String getText(Object object)
- {
+ public String getText(Object object) {
final String label = ((Assistant) object).getName();
- return label == null || label.length() == 0 ?
- getString("_UI_Assistant_type") : //$NON-NLS-1$
- getString("_UI_Assistant_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ return label == null || label.length() == 0 ? getString("_UI_Assistant_type") //$NON-NLS-1$
+ : getString("_UI_Assistant_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
}
/**
@@ -135,13 +127,12 @@
* @generated
*/
@Override
- public void notifyChanged(Notification notification)
- {
+ public void notifyChanged(Notification notification) {
updateChildren(notification);
- switch (notification.getFeatureID(Assistant.class))
- {
+ switch (notification.getFeatureID(Assistant.class)) {
case UniversityPackage.ASSISTANT__NAME:
+ case UniversityPackage.ASSISTANT__ADDRESSES:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
@@ -157,8 +148,7 @@
* @generated
*/
@Override
- protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
- {
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
@@ -170,8 +160,7 @@
* @generated
*/
@Override
- public ResourceLocator getResourceLocator()
- {
+ public ResourceLocator getResourceLocator() {
return UniversityEditPlugin.INSTANCE;
}
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/CourseCatalogItemProvider.java b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/CourseCatalogItemProvider.java
index eb0f0ff..e5d6af3 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/CourseCatalogItemProvider.java
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/CourseCatalogItemProvider.java
@@ -24,6 +24,7 @@
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
@@ -35,7 +36,7 @@
* @generated
*/
public class CourseCatalogItemProvider extends ItemProviderAdapter implements
- IEditingDomainItemProvider, ITreeItemContentProvider, IItemLabelProvider,
+ IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider,
IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
@@ -57,8 +58,7 @@
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
- if (itemPropertyDescriptors == null)
- {
+ if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addCoursesPropertyDescriptor(object);
@@ -75,13 +75,11 @@
*/
protected void addCoursesPropertyDescriptor(Object object) {
itemPropertyDescriptors
- .add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_CourseCatalog_courses_feature"), //$NON-NLS-1$
- getString(
- "_UI_PropertyDescriptor_description", "_UI_CourseCatalog_courses_feature", "_UI_CourseCatalog_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ getString("_UI_PropertyDescriptor_description", "_UI_CourseCatalog_courses_feature", //$NON-NLS-1$//$NON-NLS-2$
+ "_UI_CourseCatalog_type"), //$NON-NLS-1$
UniversityPackage.Literals.COURSE_CATALOG__COURSES,
true,
false,
@@ -101,10 +99,8 @@
* @generated
*/
@Override
- public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
- {
- if (childrenFeatures == null)
- {
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
super.getChildrenFeatures(object);
childrenFeatures.add(UniversityPackage.Literals.COURSE_CATALOG__COURSES);
}
@@ -118,8 +114,7 @@
* @generated
*/
@Override
- protected EStructuralFeature getChildFeature(Object object, Object child)
- {
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
// Check the type of the specified child object and return the proper feature to use for
// adding (see {@link AddCommand}) it as a child.
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/CourseItemProvider.java b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/CourseItemProvider.java
index e371126..f82b49b 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/CourseItemProvider.java
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/CourseItemProvider.java
@@ -24,6 +24,7 @@
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
@@ -37,7 +38,7 @@
* @generated
*/
public class CourseItemProvider extends ItemProviderAdapter implements
- IEditingDomainItemProvider, ITreeItemContentProvider, IItemLabelProvider,
+ IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider,
IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
@@ -59,8 +60,7 @@
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
- if (itemPropertyDescriptors == null)
- {
+ if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addIdPropertyDescriptor(object);
@@ -78,9 +78,8 @@
* @generated
*/
protected void addIdPropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Course_id_feature"), //$NON-NLS-1$
getString("_UI_PropertyDescriptor_description", "_UI_Course_id_feature", "_UI_Course_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -101,9 +100,8 @@
* @generated
*/
protected void addNamePropertyDescriptor(Object object) {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Course_name_feature"), //$NON-NLS-1$
getString("_UI_PropertyDescriptor_description", "_UI_Course_name_feature", "_UI_Course_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -123,11 +121,9 @@
*
* @generated
*/
- protected void addEtcsPropertyDescriptor(Object object)
- {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ protected void addEtcsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Course_etcs_feature"), //$NON-NLS-1$
getString("_UI_PropertyDescriptor_description", "_UI_Course_etcs_feature", "_UI_Course_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -162,9 +158,8 @@
@Override
public String getText(Object object) {
final String label = ((Course) object).getName();
- return label == null || label.length() == 0 ?
- getString("_UI_Course_type") : //$NON-NLS-1$
- getString("_UI_Course_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ return label == null || label.length() == 0 ? getString("_UI_Course_type") //$NON-NLS-1$
+ : getString("_UI_Course_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
}
/**
@@ -179,8 +174,7 @@
public void notifyChanged(Notification notification) {
updateChildren(notification);
- switch (notification.getFeatureID(Course.class))
- {
+ switch (notification.getFeatureID(Course.class)) {
case UniversityPackage.COURSE__ID:
case UniversityPackage.COURSE__NAME:
case UniversityPackage.COURSE__ETCS:
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/ProfessorItemProvider.java b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/ProfessorItemProvider.java
index ed5bb18..3a6652b 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/ProfessorItemProvider.java
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/ProfessorItemProvider.java
@@ -24,6 +24,7 @@
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
@@ -39,9 +40,8 @@
public class ProfessorItemProvider
extends ItemProviderAdapter
implements
- IEditingDomainItemProvider, ITreeItemContentProvider, IItemLabelProvider,
- IItemPropertySource
-{
+ IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider,
+ IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
@@ -49,8 +49,7 @@
*
* @generated
*/
- public ProfessorItemProvider(AdapterFactory adapterFactory)
- {
+ public ProfessorItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
@@ -62,10 +61,8 @@
* @generated
*/
@Override
- public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
- {
- if (itemPropertyDescriptors == null)
- {
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addNamePropertyDescriptor(object);
@@ -80,11 +77,9 @@
*
* @generated
*/
- protected void addNamePropertyDescriptor(Object object)
- {
- itemPropertyDescriptors.add
- (createItemPropertyDescriptor
- (((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Person_name_feature"), //$NON-NLS-1$
getString("_UI_PropertyDescriptor_description", "_UI_Person_name_feature", "_UI_Person_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -105,8 +100,7 @@
* @generated
*/
@Override
- public Object getImage(Object object)
- {
+ public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/Professor")); //$NON-NLS-1$
}
@@ -118,12 +112,10 @@
* @generated
*/
@Override
- public String getText(Object object)
- {
+ public String getText(Object object) {
final String label = ((Professor) object).getName();
- return label == null || label.length() == 0 ?
- getString("_UI_Professor_type") : //$NON-NLS-1$
- getString("_UI_Professor_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ return label == null || label.length() == 0 ? getString("_UI_Professor_type") //$NON-NLS-1$
+ : getString("_UI_Professor_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
}
/**
@@ -135,13 +127,12 @@
* @generated
*/
@Override
- public void notifyChanged(Notification notification)
- {
+ public void notifyChanged(Notification notification) {
updateChildren(notification);
- switch (notification.getFeatureID(Professor.class))
- {
+ switch (notification.getFeatureID(Professor.class)) {
case UniversityPackage.PROFESSOR__NAME:
+ case UniversityPackage.PROFESSOR__ADDRESSES:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
@@ -157,8 +148,7 @@
* @generated
*/
@Override
- protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
- {
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
@@ -170,8 +160,7 @@
* @generated
*/
@Override
- public ResourceLocator getResourceLocator()
- {
+ public ResourceLocator getResourceLocator() {
return UniversityEditPlugin.INSTANCE;
}
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/StaffItemProvider.java b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/StaffItemProvider.java
index d44befd..c9029ca 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/StaffItemProvider.java
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/StaffItemProvider.java
@@ -24,6 +24,7 @@
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
@@ -38,9 +39,8 @@
public class StaffItemProvider
extends ItemProviderAdapter
implements
- IEditingDomainItemProvider, ITreeItemContentProvider, IItemLabelProvider,
- IItemPropertySource
-{
+ IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider,
+ IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
@@ -48,8 +48,7 @@
*
* @generated
*/
- public StaffItemProvider(AdapterFactory adapterFactory)
- {
+ public StaffItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
@@ -61,10 +60,8 @@
* @generated
*/
@Override
- public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
- {
- if (itemPropertyDescriptors == null)
- {
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
}
@@ -81,10 +78,8 @@
* @generated
*/
@Override
- public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
- {
- if (childrenFeatures == null)
- {
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
super.getChildrenFeatures(object);
childrenFeatures.add(UniversityPackage.Literals.STAFF__STAFF);
}
@@ -98,8 +93,7 @@
* @generated
*/
@Override
- protected EStructuralFeature getChildFeature(Object object, Object child)
- {
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
// Check the type of the specified child object and return the proper feature to use for
// adding (see {@link AddCommand}) it as a child.
@@ -114,8 +108,7 @@
* @generated
*/
@Override
- public Object getImage(Object object)
- {
+ public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/Staff")); //$NON-NLS-1$
}
@@ -127,8 +120,7 @@
* @generated
*/
@Override
- public String getText(Object object)
- {
+ public String getText(Object object) {
return getString("_UI_Staff_type"); //$NON-NLS-1$
}
@@ -141,12 +133,10 @@
* @generated
*/
@Override
- public void notifyChanged(Notification notification)
- {
+ public void notifyChanged(Notification notification) {
updateChildren(notification);
- switch (notification.getFeatureID(Staff.class))
- {
+ switch (notification.getFeatureID(Staff.class)) {
case UniversityPackage.STAFF__STAFF:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
@@ -163,8 +153,7 @@
* @generated
*/
@Override
- protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
- {
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
@@ -176,8 +165,7 @@
* @generated
*/
@Override
- public ResourceLocator getResourceLocator()
- {
+ public ResourceLocator getResourceLocator() {
return UniversityEditPlugin.INSTANCE;
}
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/UniversityEditPlugin.java b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/UniversityEditPlugin.java
index 6fb05b5..2705b58 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/UniversityEditPlugin.java
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/UniversityEditPlugin.java
@@ -48,9 +48,7 @@
* @generated
*/
public UniversityEditPlugin() {
- super(new ResourceLocator[]
- {
- });
+ super(new ResourceLocator[] {});
}
/**
diff --git a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/UniversityItemProviderAdapterFactory.java b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/UniversityItemProviderAdapterFactory.java
index 5e3a4ac..bbfa549 100644
--- a/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/UniversityItemProviderAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.test.model.edit/src/org/eclipse/emf/ecp/test/university/provider/UniversityItemProviderAdapterFactory.java
@@ -105,8 +105,7 @@
*/
@Override
public Adapter createCourseCatalogAdapter() {
- if (courseCatalogItemProvider == null)
- {
+ if (courseCatalogItemProvider == null) {
courseCatalogItemProvider = new CourseCatalogItemProvider(this);
}
@@ -131,8 +130,7 @@
*/
@Override
public Adapter createCourseAdapter() {
- if (courseItemProvider == null)
- {
+ if (courseItemProvider == null) {
courseItemProvider = new CourseItemProvider(this);
}
@@ -156,10 +154,8 @@
* @generated
*/
@Override
- public Adapter createStaffAdapter()
- {
- if (staffItemProvider == null)
- {
+ public Adapter createStaffAdapter() {
+ if (staffItemProvider == null) {
staffItemProvider = new StaffItemProvider(this);
}
@@ -183,10 +179,8 @@
* @generated
*/
@Override
- public Adapter createProfessorAdapter()
- {
- if (professorItemProvider == null)
- {
+ public Adapter createProfessorAdapter() {
+ if (professorItemProvider == null) {
professorItemProvider = new ProfessorItemProvider(this);
}
@@ -210,10 +204,8 @@
* @generated
*/
@Override
- public Adapter createAssistantAdapter()
- {
- if (assistantItemProvider == null)
- {
+ public Adapter createAssistantAdapter() {
+ if (assistantItemProvider == null) {
assistantItemProvider = new AssistantItemProvider(this);
}
@@ -221,6 +213,31 @@
}
/**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.ecp.test.university.Address} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AddressItemProvider addressItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.ecp.test.university.Address}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createAddressAdapter() {
+ if (addressItemProvider == null) {
+ addressItemProvider = new AddressItemProvider(this);
+ }
+
+ return addressItemProvider;
+ }
+
+ /**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -274,11 +291,9 @@
*/
@Override
public Object adapt(Object object, Object type) {
- if (isFactoryForType(type))
- {
+ if (isFactoryForType(type)) {
final Object adapter = super.adapt(object, type);
- if (!(type instanceof Class<?>) || ((Class<?>) type).isInstance(adapter))
- {
+ if (!(type instanceof Class<?>) || ((Class<?>) type).isInstance(adapter)) {
return adapter;
}
}
@@ -318,8 +333,7 @@
public void fireNotifyChanged(Notification notification) {
changeNotifier.fireNotifyChanged(notification);
- if (parentAdapterFactory != null)
- {
+ if (parentAdapterFactory != null) {
parentAdapterFactory.fireNotifyChanged(notification);
}
}
@@ -347,6 +361,9 @@
if (assistantItemProvider != null) {
assistantItemProvider.dispose();
}
+ if (addressItemProvider != null) {
+ addressItemProvider.dispose();
+ }
}
}
diff --git a/tests/org.eclipse.emf.ecp.test.model.feature/feature.xml b/tests/org.eclipse.emf.ecp.test.model.feature/feature.xml
index 65c2a52..900bda7 100644
--- a/tests/org.eclipse.emf.ecp.test.model.feature/feature.xml
+++ b/tests/org.eclipse.emf.ecp.test.model.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.emf.ecp.test.model.feature"
label="ECP Test Model Feature"
- version="1.5.1.qualifier">
+ version="1.6.0.qualifier">
<description url="http://www.example.com/description">
[Enter Feature Description here.]
diff --git a/tests/org.eclipse.emf.ecp.test.model.feature/pom.xml b/tests/org.eclipse.emf.ecp.test.model.feature/pom.xml
index 40c05a8..465da87 100644
--- a/tests/org.eclipse.emf.ecp.test.model.feature/pom.xml
+++ b/tests/org.eclipse.emf.ecp.test.model.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.test.model.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/tests/org.eclipse.emf.ecp.test.model/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.test.model/META-INF/MANIFEST.MF
index d729c2c..8007f10 100644
--- a/tests/org.eclipse.emf.ecp.test.model/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.test.model/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Test Model Plugin
Bundle-SymbolicName: org.eclipse.emf.ecp.test.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.emf.ecp.test.university;version="1.5.1",or
- g.eclipse.emf.ecp.test.university.impl;version="1.5.1",org.eclipse.em
- f.ecp.test.university.util;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.test.university;version="1.6.0",
+ org.eclipse.emf.ecp.test.university.impl;version="1.6.0",
+ org.eclipse.emf.ecp.test.university.util;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecp.view.validation;bundle-version="[1.5.0,2.0.0)",
diff --git a/tests/org.eclipse.emf.ecp.test.model/model/university.ecore b/tests/org.eclipse.emf.ecp.test.model/model/university.ecore
index 62083f4..71f5c50 100644
--- a/tests/org.eclipse.emf.ecp.test.model/model/university.ecore
+++ b/tests/org.eclipse.emf.ecp.test.model/model/university.ecore
@@ -38,5 +38,8 @@
<eClassifiers xsi:type="ecore:EClass" name="Assistant" eSuperTypes="#//Person"/>
<eClassifiers xsi:type="ecore:EClass" name="Person" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="addresses" upperBound="-1"
+ eType="#//Address" containment="true"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Address"/>
</ecore:EPackage>
diff --git a/tests/org.eclipse.emf.ecp.test.model/model/university.genmodel b/tests/org.eclipse.emf.ecp.test.model/model/university.genmodel
index 671e706..0fd12c0 100644
--- a/tests/org.eclipse.emf.ecp.test.model/model/university.genmodel
+++ b/tests/org.eclipse.emf.ecp.test.model/model/university.genmodel
@@ -24,6 +24,10 @@
</genClasses>
<genClasses ecoreClass="university.ecore#//Professor"/>
<genClasses ecoreClass="university.ecore#//Assistant"/>
- <genClasses image="false" ecoreClass="university.ecore#//Person"/>
+ <genClasses image="false" ecoreClass="university.ecore#//Person">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute university.ecore#//Person/name"/>
+ <genFeatures property="None" createChild="false" ecoreFeature="ecore:EReference university.ecore#//Person/addresses"/>
+ </genClasses>
+ <genClasses ecoreClass="university.ecore#//Address"/>
</genPackages>
</genmodel:GenModel>
diff --git a/tests/org.eclipse.emf.ecp.test.model/plugin.properties b/tests/org.eclipse.emf.ecp.test.model/plugin.properties
index b3e0625..6b15153 100644
--- a/tests/org.eclipse.emf.ecp.test.model/plugin.properties
+++ b/tests/org.eclipse.emf.ecp.test.model/plugin.properties
@@ -9,4 +9,4 @@
# EclipseSource - Generated code
pluginName = University Model
-providerName = www.example.org
+providerName = Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.ecp.test.model/pom.xml b/tests/org.eclipse.emf.ecp.test.model/pom.xml
index a12f7af..f9389bd 100644
--- a/tests/org.eclipse.emf.ecp.test.model/pom.xml
+++ b/tests/org.eclipse.emf.ecp.test.model/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.test.model</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Address.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Address.java
new file mode 100644
index 0000000..437dd45
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Address.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - Generated code
+ */
+package org.eclipse.emf.ecp.test.university;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Address</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.ecp.test.university.UniversityPackage#getAddress()
+ * @model
+ * @generated
+ */
+public interface Address extends EObject {
+} // Address
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Assistant.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Assistant.java
index d8ea96c..0c21e34 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Assistant.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Assistant.java
@@ -21,6 +21,5 @@
* @model
* @generated
*/
-public interface Assistant extends Person
-{
+public interface Assistant extends Person {
} // Assistant
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Course.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Course.java
index e95936d..40e944d 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Course.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Course.java
@@ -20,19 +20,18 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.test.university.Course#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.emf.ecp.test.university.Course#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.emf.ecp.test.university.Course#getEtcs <em>Etcs</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.emf.ecp.test.university.UniversityPackage#getCourse()
* @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='UniqueItemById NameNotEmpty'"
* @generated
*/
-public interface Course extends EObject
-{
+public interface Course extends EObject {
/**
* Returns the value of the '<em><b>Id</b></em>' attribute.
* <!-- begin-user-doc -->
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/CourseCatalog.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/CourseCatalog.java
index 7e8ffb7..2762bd5 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/CourseCatalog.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/CourseCatalog.java
@@ -21,17 +21,16 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.test.university.CourseCatalog#getCourses <em>Courses</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.emf.ecp.test.university.UniversityPackage#getCourseCatalog()
* @model
* @generated
*/
-public interface CourseCatalog extends EObject
-{
+public interface CourseCatalog extends EObject {
/**
* Returns the value of the '<em><b>Courses</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.emf.ecp.test.university.Course}.
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Person.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Person.java
index a8b9574..dc94e44 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Person.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Person.java
@@ -11,6 +11,7 @@
*/
package org.eclipse.emf.ecp.test.university;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
@@ -20,17 +21,17 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.test.university.Person#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.test.university.Person#getAddresses <em>Addresses</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.emf.ecp.test.university.UniversityPackage#getPerson()
* @model interface="true" abstract="true"
* @generated
*/
-public interface Person extends EObject
-{
+public interface Person extends EObject {
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
@@ -58,4 +59,21 @@
* @generated
*/
void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Addresses</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.ecp.test.university.Address}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Addresses</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Addresses</em>' containment reference list.
+ * @see org.eclipse.emf.ecp.test.university.UniversityPackage#getPerson_Addresses()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Address> getAddresses();
} // Person
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Professor.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Professor.java
index e93adf2..6a3c49b 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Professor.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Professor.java
@@ -21,6 +21,5 @@
* @model
* @generated
*/
-public interface Professor extends Person
-{
+public interface Professor extends Person {
} // Professor
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Staff.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Staff.java
index e53d664..4ec6b92 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Staff.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/Staff.java
@@ -22,19 +22,18 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.test.university.Staff#getProfessors <em>Professors</em>}</li>
* <li>{@link org.eclipse.emf.ecp.test.university.Staff#getAssistants <em>Assistants</em>}</li>
* <li>{@link org.eclipse.emf.ecp.test.university.Staff#getStaff <em>Staff</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.emf.ecp.test.university.UniversityPackage#getStaff()
* @model
* @generated
*/
-public interface Staff extends EObject
-{
+public interface Staff extends EObject {
/**
* Returns the value of the '<em><b>Professors</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.emf.ecp.test.university.Professor}.
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/UniversityFactory.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/UniversityFactory.java
index 87d58e7..844e1d5 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/UniversityFactory.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/UniversityFactory.java
@@ -22,8 +22,7 @@
* @see org.eclipse.emf.ecp.test.university.UniversityPackage
* @generated
*/
-public interface UniversityFactory extends EFactory
-{
+public interface UniversityFactory extends EFactory {
/**
* The singleton instance of the factory.
* <!-- begin-user-doc -->
@@ -84,6 +83,16 @@
Assistant createAssistant();
/**
+ * Returns a new object of class '<em>Address</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Address</em>'.
+ * @generated
+ */
+ Address createAddress();
+
+ /**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/UniversityPackage.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/UniversityPackage.java
index 50712d7..80bc3f3 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/UniversityPackage.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/UniversityPackage.java
@@ -33,8 +33,7 @@
* @model kind="package"
* @generated
*/
-public interface UniversityPackage extends EPackage
-{
+public interface UniversityPackage extends EPackage {
/**
* The package name.
* <!-- begin-user-doc -->
@@ -257,6 +256,16 @@
int PERSON__NAME = 0;
/**
+ * The feature id for the '<em><b>Addresses</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PERSON__ADDRESSES = 1;
+
+ /**
* The number of structural features of the '<em>Person</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -264,7 +273,7 @@
* @generated
* @ordered
*/
- int PERSON_FEATURE_COUNT = 1;
+ int PERSON_FEATURE_COUNT = 2;
/**
* The number of operations of the '<em>Person</em>' class.
@@ -299,6 +308,16 @@
int PROFESSOR__NAME = PERSON__NAME;
/**
+ * The feature id for the '<em><b>Addresses</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROFESSOR__ADDRESSES = PERSON__ADDRESSES;
+
+ /**
* The number of structural features of the '<em>Professor</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -341,6 +360,16 @@
int ASSISTANT__NAME = PERSON__NAME;
/**
+ * The feature id for the '<em><b>Addresses</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSISTANT__ADDRESSES = PERSON__ADDRESSES;
+
+ /**
* The number of structural features of the '<em>Assistant</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -361,6 +390,37 @@
int ASSISTANT_OPERATION_COUNT = PERSON_OPERATION_COUNT + 0;
/**
+ * The meta object id for the '{@link org.eclipse.emf.ecp.test.university.impl.AddressImpl <em>Address</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecp.test.university.impl.AddressImpl
+ * @see org.eclipse.emf.ecp.test.university.impl.UniversityPackageImpl#getAddress()
+ * @generated
+ */
+ int ADDRESS = 6;
+
+ /**
+ * The number of structural features of the '<em>Address</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDRESS_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Address</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ADDRESS_OPERATION_COUNT = 0;
+
+ /**
* Returns the meta object for class '{@link org.eclipse.emf.ecp.test.university.CourseCatalog
* <em>Course Catalog</em>}'.
* <!-- begin-user-doc -->
@@ -531,6 +591,30 @@
EAttribute getPerson_Name();
/**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.emf.ecp.test.university.Person#getAddresses <em>Addresses</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Addresses</em>'.
+ * @see org.eclipse.emf.ecp.test.university.Person#getAddresses()
+ * @see #getPerson()
+ * @generated
+ */
+ EReference getPerson_Addresses();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.ecp.test.university.Address <em>Address</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Address</em>'.
+ * @see org.eclipse.emf.ecp.test.university.Address
+ * @generated
+ */
+ EClass getAddress();
+
+ /**
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -554,8 +638,7 @@
*
* @generated
*/
- interface Literals
- {
+ interface Literals {
/**
* The meta object literal for the '{@link org.eclipse.emf.ecp.test.university.impl.CourseCatalogImpl
* <em>Course Catalog</em>}' class.
@@ -699,6 +782,27 @@
*/
EAttribute PERSON__NAME = eINSTANCE.getPerson_Name();
+ /**
+ * The meta object literal for the '<em><b>Addresses</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference PERSON__ADDRESSES = eINSTANCE.getPerson_Addresses();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.ecp.test.university.impl.AddressImpl <em>Address</em>
+ * }' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecp.test.university.impl.AddressImpl
+ * @see org.eclipse.emf.ecp.test.university.impl.UniversityPackageImpl#getAddress()
+ * @generated
+ */
+ EClass ADDRESS = eINSTANCE.getAddress();
+
}
} // UniversityPackage
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/AddressImpl.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/AddressImpl.java
new file mode 100644
index 0000000..bfe8586
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/AddressImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource - Generated code
+ */
+package org.eclipse.emf.ecp.test.university.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecp.test.university.Address;
+import org.eclipse.emf.ecp.test.university.UniversityPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Address</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AddressImpl extends MinimalEObjectImpl.Container implements Address {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AddressImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UniversityPackage.Literals.ADDRESS;
+ }
+
+} // AddressImpl
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/AssistantImpl.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/AssistantImpl.java
index 1b5c4a5..52735c0 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/AssistantImpl.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/AssistantImpl.java
@@ -11,10 +11,18 @@
*/
package org.eclipse.emf.ecp.test.university.impl;
+import java.util.Collection;
+
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.ecp.test.university.Address;
import org.eclipse.emf.ecp.test.university.Assistant;
import org.eclipse.emf.ecp.test.university.UniversityPackage;
@@ -24,15 +32,15 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.test.university.impl.AssistantImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.test.university.impl.AssistantImpl#getAddresses <em>Addresses</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
-public class AssistantImpl extends MinimalEObjectImpl.Container implements Assistant
-{
+public class AssistantImpl extends MinimalEObjectImpl.Container implements Assistant {
/**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
@@ -55,13 +63,23 @@
protected String name = NAME_EDEFAULT;
/**
+ * The cached value of the '{@link #getAddresses() <em>Addresses</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getAddresses()
+ * @generated
+ * @ordered
+ */
+ protected EList<Address> addresses;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
* @generated
*/
- protected AssistantImpl()
- {
+ protected AssistantImpl() {
super();
}
@@ -72,8 +90,7 @@
* @generated
*/
@Override
- protected EClass eStaticClass()
- {
+ protected EClass eStaticClass() {
return UniversityPackage.Literals.ASSISTANT;
}
@@ -83,8 +100,7 @@
*
* @generated
*/
- public String getName()
- {
+ public String getName() {
return name;
}
@@ -94,8 +110,7 @@
*
* @generated
*/
- public void setName(String newName)
- {
+ public void setName(String newName) {
final String oldName = name;
name = newName;
if (eNotificationRequired()) {
@@ -109,13 +124,42 @@
*
* @generated
*/
+ public EList<Address> getAddresses() {
+ if (addresses == null) {
+ addresses = new EObjectContainmentEList<Address>(Address.class, this,
+ UniversityPackage.ASSISTANT__ADDRESSES);
+ }
+ return addresses;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
@Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UniversityPackage.ASSISTANT__ADDRESSES:
+ return ((InternalEList<?>) getAddresses()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
case UniversityPackage.ASSISTANT__NAME:
return getName();
+ case UniversityPackage.ASSISTANT__ADDRESSES:
+ return getAddresses();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -126,14 +170,17 @@
*
* @generated
*/
+ @SuppressWarnings("unchecked")
@Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
case UniversityPackage.ASSISTANT__NAME:
setName((String) newValue);
return;
+ case UniversityPackage.ASSISTANT__ADDRESSES:
+ getAddresses().clear();
+ getAddresses().addAll((Collection<? extends Address>) newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -145,13 +192,14 @@
* @generated
*/
@Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
+ public void eUnset(int featureID) {
+ switch (featureID) {
case UniversityPackage.ASSISTANT__NAME:
setName(NAME_EDEFAULT);
return;
+ case UniversityPackage.ASSISTANT__ADDRESSES:
+ getAddresses().clear();
+ return;
}
super.eUnset(featureID);
}
@@ -163,12 +211,12 @@
* @generated
*/
@Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
case UniversityPackage.ASSISTANT__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case UniversityPackage.ASSISTANT__ADDRESSES:
+ return addresses != null && !addresses.isEmpty();
}
return super.eIsSet(featureID);
}
@@ -180,8 +228,7 @@
* @generated
*/
@Override
- public String toString()
- {
+ public String toString() {
if (eIsProxy()) {
return super.toString();
}
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/CourseCatalogImpl.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/CourseCatalogImpl.java
index 6ccfb6c..2551c09 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/CourseCatalogImpl.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/CourseCatalogImpl.java
@@ -30,15 +30,14 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.test.university.impl.CourseCatalogImpl#getCourses <em>Courses</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
-public class CourseCatalogImpl extends MinimalEObjectImpl.Container implements CourseCatalog
-{
+public class CourseCatalogImpl extends MinimalEObjectImpl.Container implements CourseCatalog {
/**
* The cached value of the '{@link #getCourses() <em>Courses</em>}' containment reference list.
* <!-- begin-user-doc -->
@@ -56,8 +55,7 @@
*
* @generated
*/
- protected CourseCatalogImpl()
- {
+ protected CourseCatalogImpl() {
super();
}
@@ -68,8 +66,7 @@
* @generated
*/
@Override
- protected EClass eStaticClass()
- {
+ protected EClass eStaticClass() {
return UniversityPackage.Literals.COURSE_CATALOG;
}
@@ -79,11 +76,10 @@
*
* @generated
*/
- public EList<Course> getCourses()
- {
- if (courses == null)
- {
- courses = new EObjectContainmentEList<Course>(Course.class, this, UniversityPackage.COURSE_CATALOG__COURSES);
+ public EList<Course> getCourses() {
+ if (courses == null) {
+ courses = new EObjectContainmentEList<Course>(Course.class, this,
+ UniversityPackage.COURSE_CATALOG__COURSES);
}
return courses;
}
@@ -95,10 +91,8 @@
* @generated
*/
@Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
- {
- switch (featureID)
- {
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
case UniversityPackage.COURSE_CATALOG__COURSES:
return ((InternalEList<?>) getCourses()).basicRemove(otherEnd, msgs);
}
@@ -112,10 +106,8 @@
* @generated
*/
@Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
case UniversityPackage.COURSE_CATALOG__COURSES:
return getCourses();
}
@@ -130,10 +122,8 @@
*/
@SuppressWarnings("unchecked")
@Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
case UniversityPackage.COURSE_CATALOG__COURSES:
getCourses().clear();
getCourses().addAll((Collection<? extends Course>) newValue);
@@ -149,10 +139,8 @@
* @generated
*/
@Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
+ public void eUnset(int featureID) {
+ switch (featureID) {
case UniversityPackage.COURSE_CATALOG__COURSES:
getCourses().clear();
return;
@@ -167,10 +155,8 @@
* @generated
*/
@Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
case UniversityPackage.COURSE_CATALOG__COURSES:
return courses != null && !courses.isEmpty();
}
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/CourseImpl.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/CourseImpl.java
index d09bfac..c23e310 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/CourseImpl.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/CourseImpl.java
@@ -24,17 +24,16 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.test.university.impl.CourseImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.emf.ecp.test.university.impl.CourseImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.emf.ecp.test.university.impl.CourseImpl#getEtcs <em>Etcs</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
-public class CourseImpl extends MinimalEObjectImpl.Container implements Course
-{
+public class CourseImpl extends MinimalEObjectImpl.Container implements Course {
/**
* The default value of the '{@link #getId() <em>Id</em>}' attribute.
* <!-- begin-user-doc -->
@@ -107,8 +106,7 @@
*
* @generated
*/
- protected CourseImpl()
- {
+ protected CourseImpl() {
super();
}
@@ -119,8 +117,7 @@
* @generated
*/
@Override
- protected EClass eStaticClass()
- {
+ protected EClass eStaticClass() {
return UniversityPackage.Literals.COURSE;
}
@@ -130,8 +127,7 @@
*
* @generated
*/
- public String getId()
- {
+ public String getId() {
return id;
}
@@ -141,8 +137,7 @@
*
* @generated
*/
- public void setId(String newId)
- {
+ public void setId(String newId) {
final String oldId = id;
id = newId;
if (eNotificationRequired()) {
@@ -156,8 +151,7 @@
*
* @generated
*/
- public String getName()
- {
+ public String getName() {
return name;
}
@@ -167,8 +161,7 @@
*
* @generated
*/
- public void setName(String newName)
- {
+ public void setName(String newName) {
final String oldName = name;
name = newName;
if (eNotificationRequired()) {
@@ -182,8 +175,7 @@
*
* @generated
*/
- public int getEtcs()
- {
+ public int getEtcs() {
return etcs;
}
@@ -193,8 +185,7 @@
*
* @generated
*/
- public void setEtcs(int newEtcs)
- {
+ public void setEtcs(int newEtcs) {
final int oldEtcs = etcs;
etcs = newEtcs;
if (eNotificationRequired()) {
@@ -209,10 +200,8 @@
* @generated
*/
@Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
case UniversityPackage.COURSE__ID:
return getId();
case UniversityPackage.COURSE__NAME:
@@ -230,10 +219,8 @@
* @generated
*/
@Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
case UniversityPackage.COURSE__ID:
setId((String) newValue);
return;
@@ -254,10 +241,8 @@
* @generated
*/
@Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
+ public void eUnset(int featureID) {
+ switch (featureID) {
case UniversityPackage.COURSE__ID:
setId(ID_EDEFAULT);
return;
@@ -278,10 +263,8 @@
* @generated
*/
@Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
case UniversityPackage.COURSE__ID:
return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
case UniversityPackage.COURSE__NAME:
@@ -299,8 +282,7 @@
* @generated
*/
@Override
- public String toString()
- {
+ public String toString() {
if (eIsProxy()) {
return super.toString();
}
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/ProfessorImpl.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/ProfessorImpl.java
index 582f580..bfea208 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/ProfessorImpl.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/ProfessorImpl.java
@@ -11,10 +11,18 @@
*/
package org.eclipse.emf.ecp.test.university.impl;
+import java.util.Collection;
+
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.ecp.test.university.Address;
import org.eclipse.emf.ecp.test.university.Professor;
import org.eclipse.emf.ecp.test.university.UniversityPackage;
@@ -24,15 +32,15 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.test.university.impl.ProfessorImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.test.university.impl.ProfessorImpl#getAddresses <em>Addresses</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
-public class ProfessorImpl extends MinimalEObjectImpl.Container implements Professor
-{
+public class ProfessorImpl extends MinimalEObjectImpl.Container implements Professor {
/**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
@@ -55,13 +63,23 @@
protected String name = NAME_EDEFAULT;
/**
+ * The cached value of the '{@link #getAddresses() <em>Addresses</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getAddresses()
+ * @generated
+ * @ordered
+ */
+ protected EList<Address> addresses;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
* @generated
*/
- protected ProfessorImpl()
- {
+ protected ProfessorImpl() {
super();
}
@@ -72,8 +90,7 @@
* @generated
*/
@Override
- protected EClass eStaticClass()
- {
+ protected EClass eStaticClass() {
return UniversityPackage.Literals.PROFESSOR;
}
@@ -83,8 +100,7 @@
*
* @generated
*/
- public String getName()
- {
+ public String getName() {
return name;
}
@@ -94,8 +110,7 @@
*
* @generated
*/
- public void setName(String newName)
- {
+ public void setName(String newName) {
final String oldName = name;
name = newName;
if (eNotificationRequired()) {
@@ -109,13 +124,42 @@
*
* @generated
*/
+ public EList<Address> getAddresses() {
+ if (addresses == null) {
+ addresses = new EObjectContainmentEList<Address>(Address.class, this,
+ UniversityPackage.PROFESSOR__ADDRESSES);
+ }
+ return addresses;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
@Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UniversityPackage.PROFESSOR__ADDRESSES:
+ return ((InternalEList<?>) getAddresses()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
case UniversityPackage.PROFESSOR__NAME:
return getName();
+ case UniversityPackage.PROFESSOR__ADDRESSES:
+ return getAddresses();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -126,14 +170,17 @@
*
* @generated
*/
+ @SuppressWarnings("unchecked")
@Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
case UniversityPackage.PROFESSOR__NAME:
setName((String) newValue);
return;
+ case UniversityPackage.PROFESSOR__ADDRESSES:
+ getAddresses().clear();
+ getAddresses().addAll((Collection<? extends Address>) newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -145,13 +192,14 @@
* @generated
*/
@Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
+ public void eUnset(int featureID) {
+ switch (featureID) {
case UniversityPackage.PROFESSOR__NAME:
setName(NAME_EDEFAULT);
return;
+ case UniversityPackage.PROFESSOR__ADDRESSES:
+ getAddresses().clear();
+ return;
}
super.eUnset(featureID);
}
@@ -163,12 +211,12 @@
* @generated
*/
@Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
case UniversityPackage.PROFESSOR__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case UniversityPackage.PROFESSOR__ADDRESSES:
+ return addresses != null && !addresses.isEmpty();
}
return super.eIsSet(featureID);
}
@@ -180,8 +228,7 @@
* @generated
*/
@Override
- public String toString()
- {
+ public String toString() {
if (eIsProxy()) {
return super.toString();
}
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/StaffImpl.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/StaffImpl.java
index 74ab852..af1f7b5 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/StaffImpl.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/StaffImpl.java
@@ -32,17 +32,16 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.test.university.impl.StaffImpl#getProfessors <em>Professors</em>}</li>
* <li>{@link org.eclipse.emf.ecp.test.university.impl.StaffImpl#getAssistants <em>Assistants</em>}</li>
* <li>{@link org.eclipse.emf.ecp.test.university.impl.StaffImpl#getStaff <em>Staff</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
-public class StaffImpl extends MinimalEObjectImpl.Container implements Staff
-{
+public class StaffImpl extends MinimalEObjectImpl.Container implements Staff {
/**
* The cached value of the '{@link #getStaff() <em>Staff</em>}' attribute list.
* <!-- begin-user-doc -->
@@ -60,8 +59,7 @@
*
* @generated
*/
- protected StaffImpl()
- {
+ protected StaffImpl() {
super();
}
@@ -72,8 +70,7 @@
* @generated
*/
@Override
- protected EClass eStaticClass()
- {
+ protected EClass eStaticClass() {
return UniversityPackage.Literals.STAFF;
}
@@ -83,8 +80,7 @@
*
* @generated
*/
- public EList<Professor> getProfessors()
- {
+ public EList<Professor> getProfessors() {
return getStaff().list(UniversityPackage.Literals.STAFF__PROFESSORS);
}
@@ -94,8 +90,7 @@
*
* @generated
*/
- public EList<Assistant> getAssistants()
- {
+ public EList<Assistant> getAssistants() {
return getStaff().list(UniversityPackage.Literals.STAFF__ASSISTANTS);
}
@@ -105,10 +100,8 @@
*
* @generated
*/
- public FeatureMap getStaff()
- {
- if (staff == null)
- {
+ public FeatureMap getStaff() {
+ if (staff == null) {
staff = new BasicFeatureMap(this, UniversityPackage.STAFF__STAFF);
}
return staff;
@@ -121,10 +114,8 @@
* @generated
*/
@Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
- {
- switch (featureID)
- {
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
case UniversityPackage.STAFF__PROFESSORS:
return ((InternalEList<?>) getProfessors()).basicRemove(otherEnd, msgs);
case UniversityPackage.STAFF__ASSISTANTS:
@@ -142,10 +133,8 @@
* @generated
*/
@Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
case UniversityPackage.STAFF__PROFESSORS:
return getProfessors();
case UniversityPackage.STAFF__ASSISTANTS:
@@ -167,10 +156,8 @@
*/
@SuppressWarnings("unchecked")
@Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
case UniversityPackage.STAFF__PROFESSORS:
getProfessors().clear();
getProfessors().addAll((Collection<? extends Professor>) newValue);
@@ -193,10 +180,8 @@
* @generated
*/
@Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
+ public void eUnset(int featureID) {
+ switch (featureID) {
case UniversityPackage.STAFF__PROFESSORS:
getProfessors().clear();
return;
@@ -217,10 +202,8 @@
* @generated
*/
@Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
case UniversityPackage.STAFF__PROFESSORS:
return !getProfessors().isEmpty();
case UniversityPackage.STAFF__ASSISTANTS:
@@ -238,8 +221,7 @@
* @generated
*/
@Override
- public String toString()
- {
+ public String toString() {
if (eIsProxy()) {
return super.toString();
}
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/UniversityFactoryImpl.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/UniversityFactoryImpl.java
index e6a897a..8b5b121 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/UniversityFactoryImpl.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/UniversityFactoryImpl.java
@@ -16,6 +16,7 @@
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecp.test.university.Address;
import org.eclipse.emf.ecp.test.university.Assistant;
import org.eclipse.emf.ecp.test.university.Course;
import org.eclipse.emf.ecp.test.university.CourseCatalog;
@@ -31,8 +32,7 @@
*
* @generated
*/
-public class UniversityFactoryImpl extends EFactoryImpl implements UniversityFactory
-{
+public class UniversityFactoryImpl extends EFactoryImpl implements UniversityFactory {
/**
* Creates the default factory implementation.
* <!-- begin-user-doc -->
@@ -40,18 +40,14 @@
*
* @generated
*/
- public static UniversityFactory init()
- {
- try
- {
+ public static UniversityFactory init() {
+ try {
final UniversityFactory theUniversityFactory = (UniversityFactory) EPackage.Registry.INSTANCE
.getEFactory(UniversityPackage.eNS_URI);
- if (theUniversityFactory != null)
- {
+ if (theUniversityFactory != null) {
return theUniversityFactory;
}
- } catch (final Exception exception)
- {
+ } catch (final Exception exception) {
EcorePlugin.INSTANCE.log(exception);
}
return new UniversityFactoryImpl();
@@ -64,8 +60,7 @@
*
* @generated
*/
- public UniversityFactoryImpl()
- {
+ public UniversityFactoryImpl() {
super();
}
@@ -76,10 +71,8 @@
* @generated
*/
@Override
- public EObject create(EClass eClass)
- {
- switch (eClass.getClassifierID())
- {
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
case UniversityPackage.COURSE_CATALOG:
return createCourseCatalog();
case UniversityPackage.COURSE:
@@ -90,6 +83,8 @@
return createProfessor();
case UniversityPackage.ASSISTANT:
return createAssistant();
+ case UniversityPackage.ADDRESS:
+ return createAddress();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
}
@@ -101,8 +96,7 @@
*
* @generated
*/
- public CourseCatalog createCourseCatalog()
- {
+ public CourseCatalog createCourseCatalog() {
final CourseCatalogImpl courseCatalog = new CourseCatalogImpl();
return courseCatalog;
}
@@ -113,8 +107,7 @@
*
* @generated
*/
- public Course createCourse()
- {
+ public Course createCourse() {
final CourseImpl course = new CourseImpl();
return course;
}
@@ -125,8 +118,7 @@
*
* @generated
*/
- public Staff createStaff()
- {
+ public Staff createStaff() {
final StaffImpl staff = new StaffImpl();
return staff;
}
@@ -137,8 +129,7 @@
*
* @generated
*/
- public Professor createProfessor()
- {
+ public Professor createProfessor() {
final ProfessorImpl professor = new ProfessorImpl();
return professor;
}
@@ -149,8 +140,7 @@
*
* @generated
*/
- public Assistant createAssistant()
- {
+ public Assistant createAssistant() {
final AssistantImpl assistant = new AssistantImpl();
return assistant;
}
@@ -161,8 +151,18 @@
*
* @generated
*/
- public UniversityPackage getUniversityPackage()
- {
+ public Address createAddress() {
+ final AddressImpl address = new AddressImpl();
+ return address;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public UniversityPackage getUniversityPackage() {
return (UniversityPackage) getEPackage();
}
@@ -174,8 +174,7 @@
* @generated
*/
@Deprecated
- public static UniversityPackage getPackage()
- {
+ public static UniversityPackage getPackage() {
return UniversityPackage.eINSTANCE;
}
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/UniversityPackageImpl.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/UniversityPackageImpl.java
index 8258a77..2d948f6 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/UniversityPackageImpl.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/impl/UniversityPackageImpl.java
@@ -17,6 +17,7 @@
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EValidator;
import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.ecp.test.university.Address;
import org.eclipse.emf.ecp.test.university.Assistant;
import org.eclipse.emf.ecp.test.university.Course;
import org.eclipse.emf.ecp.test.university.CourseCatalog;
@@ -34,8 +35,7 @@
*
* @generated
*/
-public class UniversityPackageImpl extends EPackageImpl implements UniversityPackage
-{
+public class UniversityPackageImpl extends EPackageImpl implements UniversityPackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -85,6 +85,14 @@
private EClass personEClass = null;
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass addressEClass = null;
+
+ /**
* Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
* EPackage.Registry} by the package
* package URI value.
@@ -98,8 +106,7 @@
* @see #init()
* @generated
*/
- private UniversityPackageImpl()
- {
+ private UniversityPackageImpl() {
super(eNS_URI, UniversityFactory.eINSTANCE);
}
@@ -115,8 +122,9 @@
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>
- * This method is used to initialize {@link UniversityPackage#eINSTANCE} when that field is accessed. Clients should
- * not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc
+ * This method is used to initialize {@link UniversityPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc
* --> <!-- end-user-doc -->
*
* @see #eNS_URI
@@ -124,17 +132,15 @@
* @see #initializePackageContents()
* @generated
*/
- public static UniversityPackage init()
- {
+ public static UniversityPackage init() {
if (isInited) {
return (UniversityPackage) EPackage.Registry.INSTANCE.getEPackage(UniversityPackage.eNS_URI);
}
// Obtain or create and register package
final UniversityPackageImpl theUniversityPackage = (UniversityPackageImpl) (EPackage.Registry.INSTANCE
- .get(eNS_URI) instanceof UniversityPackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new UniversityPackageImpl());
+ .get(eNS_URI) instanceof UniversityPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new UniversityPackageImpl());
isInited = true;
@@ -145,15 +151,12 @@
theUniversityPackage.initializePackageContents();
// Register package validator
- EValidator.Registry.INSTANCE.put
- (theUniversityPackage,
- new EValidator.Descriptor()
- {
- public EValidator getEValidator()
- {
- return UniversityValidator.INSTANCE;
- }
- });
+ EValidator.Registry.INSTANCE.put(theUniversityPackage,
+ new EValidator.Descriptor() {
+ public EValidator getEValidator() {
+ return UniversityValidator.INSTANCE;
+ }
+ });
// Mark meta-data to indicate it can't be changed
theUniversityPackage.freeze();
@@ -169,8 +172,7 @@
*
* @generated
*/
- public EClass getCourseCatalog()
- {
+ public EClass getCourseCatalog() {
return courseCatalogEClass;
}
@@ -180,8 +182,7 @@
*
* @generated
*/
- public EReference getCourseCatalog_Courses()
- {
+ public EReference getCourseCatalog_Courses() {
return (EReference) courseCatalogEClass.getEStructuralFeatures().get(0);
}
@@ -191,8 +192,7 @@
*
* @generated
*/
- public EClass getCourse()
- {
+ public EClass getCourse() {
return courseEClass;
}
@@ -202,8 +202,7 @@
*
* @generated
*/
- public EAttribute getCourse_Id()
- {
+ public EAttribute getCourse_Id() {
return (EAttribute) courseEClass.getEStructuralFeatures().get(0);
}
@@ -213,8 +212,7 @@
*
* @generated
*/
- public EAttribute getCourse_Name()
- {
+ public EAttribute getCourse_Name() {
return (EAttribute) courseEClass.getEStructuralFeatures().get(1);
}
@@ -224,8 +222,7 @@
*
* @generated
*/
- public EAttribute getCourse_Etcs()
- {
+ public EAttribute getCourse_Etcs() {
return (EAttribute) courseEClass.getEStructuralFeatures().get(2);
}
@@ -235,8 +232,7 @@
*
* @generated
*/
- public EClass getStaff()
- {
+ public EClass getStaff() {
return staffEClass;
}
@@ -246,8 +242,7 @@
*
* @generated
*/
- public EReference getStaff_Professors()
- {
+ public EReference getStaff_Professors() {
return (EReference) staffEClass.getEStructuralFeatures().get(0);
}
@@ -257,8 +252,7 @@
*
* @generated
*/
- public EReference getStaff_Assistants()
- {
+ public EReference getStaff_Assistants() {
return (EReference) staffEClass.getEStructuralFeatures().get(1);
}
@@ -268,8 +262,7 @@
*
* @generated
*/
- public EAttribute getStaff_Staff()
- {
+ public EAttribute getStaff_Staff() {
return (EAttribute) staffEClass.getEStructuralFeatures().get(2);
}
@@ -279,8 +272,7 @@
*
* @generated
*/
- public EClass getProfessor()
- {
+ public EClass getProfessor() {
return professorEClass;
}
@@ -290,8 +282,7 @@
*
* @generated
*/
- public EClass getAssistant()
- {
+ public EClass getAssistant() {
return assistantEClass;
}
@@ -301,8 +292,7 @@
*
* @generated
*/
- public EClass getPerson()
- {
+ public EClass getPerson() {
return personEClass;
}
@@ -312,8 +302,7 @@
*
* @generated
*/
- public EAttribute getPerson_Name()
- {
+ public EAttribute getPerson_Name() {
return (EAttribute) personEClass.getEStructuralFeatures().get(0);
}
@@ -323,8 +312,27 @@
*
* @generated
*/
- public UniversityFactory getUniversityFactory()
- {
+ public EReference getPerson_Addresses() {
+ return (EReference) personEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAddress() {
+ return addressEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public UniversityFactory getUniversityFactory() {
return (UniversityFactory) getEFactoryInstance();
}
@@ -344,8 +352,7 @@
*
* @generated
*/
- public void createPackageContents()
- {
+ public void createPackageContents() {
if (isCreated) {
return;
}
@@ -371,6 +378,9 @@
personEClass = createEClass(PERSON);
createEAttribute(personEClass, PERSON__NAME);
+ createEReference(personEClass, PERSON__ADDRESSES);
+
+ addressEClass = createEClass(ADDRESS);
}
/**
@@ -389,8 +399,7 @@
*
* @generated
*/
- public void initializePackageContents()
- {
+ public void initializePackageContents() {
if (isInitialized) {
return;
}
@@ -410,55 +419,44 @@
assistantEClass.getESuperTypes().add(getPerson());
// Initialize classes, features, and operations; add parameters
- initEClass(courseCatalogEClass, CourseCatalog.class,
- "CourseCatalog", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(
- getCourseCatalog_Courses(),
- getCourse(),
- null,
- "courses", null, 0, -1, CourseCatalog.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEClass(courseCatalogEClass, CourseCatalog.class, "CourseCatalog", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCourseCatalog_Courses(), getCourse(), null, "courses", null, 0, -1, CourseCatalog.class, //$NON-NLS-1$
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
initEClass(courseEClass, Course.class, "Course", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(
- getCourse_Id(),
- ecorePackage.getEString(),
- "id", null, 1, 1, Course.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getCourse_Name(),
- ecorePackage.getEString(),
- "name", null, 1, 1, Course.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getCourse_Etcs(),
- ecorePackage.getEInt(),
- "etcs", null, 1, 1, Course.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getCourse_Id(), ecorePackage.getEString(), "id", null, 1, 1, Course.class, !IS_TRANSIENT, //$NON-NLS-1$
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCourse_Name(), ecorePackage.getEString(), "name", null, 1, 1, Course.class, !IS_TRANSIENT, //$NON-NLS-1$
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCourse_Etcs(), ecorePackage.getEInt(), "etcs", null, 1, 1, Course.class, !IS_TRANSIENT, //$NON-NLS-1$
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(staffEClass, Staff.class, "Staff", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(
- getStaff_Professors(),
- getProfessor(),
- null,
- "professors", null, 0, -1, Staff.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getStaff_Assistants(),
- getAssistant(),
- null,
- "assistants", null, 0, -1, Staff.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getStaff_Staff(),
- ecorePackage.getEFeatureMapEntry(),
- "staff", null, 0, -1, Staff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getStaff_Professors(), getProfessor(), null, "professors", null, 0, -1, Staff.class, //$NON-NLS-1$
+ IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ IS_DERIVED, IS_ORDERED);
+ initEReference(getStaff_Assistants(), getAssistant(), null, "assistants", null, 0, -1, Staff.class, //$NON-NLS-1$
+ IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ IS_DERIVED, IS_ORDERED);
+ initEAttribute(getStaff_Staff(), ecorePackage.getEFeatureMapEntry(), "staff", null, 0, -1, Staff.class, //$NON-NLS-1$
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEClass(professorEClass, Professor.class,
- "Professor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEClass(professorEClass, Professor.class, "Professor", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+ IS_GENERATED_INSTANCE_CLASS);
- initEClass(assistantEClass, Assistant.class,
- "Assistant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEClass(assistantEClass, Assistant.class, "Assistant", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+ IS_GENERATED_INSTANCE_CLASS);
initEClass(personEClass, Person.class, "Person", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(
- getPerson_Name(),
- ecorePackage.getEString(),
- "name", null, 0, 1, Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getPerson_Name(), ecorePackage.getEString(), "name", null, 0, 1, Person.class, !IS_TRANSIENT, //$NON-NLS-1$
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPerson_Addresses(), getAddress(), null, "addresses", null, 0, -1, Person.class, //$NON-NLS-1$
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+
+ initEClass(addressEClass, Address.class, "Address", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
// Create resource
createResource(eNS_URI);
@@ -477,14 +475,13 @@
*
* @generated
*/
- protected void createEcoreAnnotations()
- {
+ protected void createEcoreAnnotations() {
final String source = "http://www.eclipse.org/emf/2002/Ecore"; //$NON-NLS-1$
addAnnotation(courseEClass,
source,
- new String[]
- { "constraints", "UniqueItemById NameNotEmpty" //$NON-NLS-1$ //$NON-NLS-2$
- });
+ new String[] {
+ "constraints", "UniqueItemById NameNotEmpty" //$NON-NLS-1$ //$NON-NLS-2$
+ });
}
/**
@@ -494,24 +491,23 @@
*
* @generated
*/
- protected void createExtendedMetaDataAnnotations()
- {
+ protected void createExtendedMetaDataAnnotations() {
final String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; //$NON-NLS-1$
addAnnotation(getStaff_Professors(),
source,
- new String[]
- { "group", "#staff" //$NON-NLS-1$ //$NON-NLS-2$
- });
+ new String[] {
+ "group", "#staff" //$NON-NLS-1$ //$NON-NLS-2$
+ });
addAnnotation(getStaff_Assistants(),
source,
- new String[]
- { "group", "#staff" //$NON-NLS-1$ //$NON-NLS-2$
- });
+ new String[] {
+ "group", "#staff" //$NON-NLS-1$ //$NON-NLS-2$
+ });
addAnnotation(getStaff_Staff(),
source,
- new String[]
- { "kind", "group" //$NON-NLS-1$ //$NON-NLS-2$
- });
+ new String[] {
+ "kind", "group" //$NON-NLS-1$ //$NON-NLS-2$
+ });
}
} // UniversityPackageImpl
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/util/UniversityAdapterFactory.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/util/UniversityAdapterFactory.java
index 51b3ba1..9b11f0e 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/util/UniversityAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/util/UniversityAdapterFactory.java
@@ -15,6 +15,7 @@
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.test.university.Address;
import org.eclipse.emf.ecp.test.university.Assistant;
import org.eclipse.emf.ecp.test.university.Course;
import org.eclipse.emf.ecp.test.university.CourseCatalog;
@@ -32,8 +33,7 @@
* @see org.eclipse.emf.ecp.test.university.UniversityPackage
* @generated
*/
-public class UniversityAdapterFactory extends AdapterFactoryImpl
-{
+public class UniversityAdapterFactory extends AdapterFactoryImpl {
/**
* The cached model package.
* <!-- begin-user-doc -->
@@ -50,10 +50,8 @@
*
* @generated
*/
- public UniversityAdapterFactory()
- {
- if (modelPackage == null)
- {
+ public UniversityAdapterFactory() {
+ if (modelPackage == null) {
modelPackage = UniversityPackage.eINSTANCE;
}
}
@@ -69,14 +67,11 @@
* @generated
*/
@Override
- public boolean isFactoryForType(Object object)
- {
- if (object == modelPackage)
- {
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
return true;
}
- if (object instanceof EObject)
- {
+ if (object instanceof EObject) {
return ((EObject) object).eClass().getEPackage() == modelPackage;
}
return false;
@@ -89,51 +84,47 @@
*
* @generated
*/
- protected UniversitySwitch<Adapter> modelSwitch =
- new UniversitySwitch<Adapter>()
- {
- @Override
- public Adapter caseCourseCatalog(CourseCatalog object)
- {
- return createCourseCatalogAdapter();
- }
+ protected UniversitySwitch<Adapter> modelSwitch = new UniversitySwitch<Adapter>() {
+ @Override
+ public Adapter caseCourseCatalog(CourseCatalog object) {
+ return createCourseCatalogAdapter();
+ }
- @Override
- public Adapter caseCourse(Course object)
- {
- return createCourseAdapter();
- }
+ @Override
+ public Adapter caseCourse(Course object) {
+ return createCourseAdapter();
+ }
- @Override
- public Adapter caseStaff(Staff object)
- {
- return createStaffAdapter();
- }
+ @Override
+ public Adapter caseStaff(Staff object) {
+ return createStaffAdapter();
+ }
- @Override
- public Adapter caseProfessor(Professor object)
- {
- return createProfessorAdapter();
- }
+ @Override
+ public Adapter caseProfessor(Professor object) {
+ return createProfessorAdapter();
+ }
- @Override
- public Adapter caseAssistant(Assistant object)
- {
- return createAssistantAdapter();
- }
+ @Override
+ public Adapter caseAssistant(Assistant object) {
+ return createAssistantAdapter();
+ }
- @Override
- public Adapter casePerson(Person object)
- {
- return createPersonAdapter();
- }
+ @Override
+ public Adapter casePerson(Person object) {
+ return createPersonAdapter();
+ }
- @Override
- public Adapter defaultCase(EObject object)
- {
- return createEObjectAdapter();
- }
- };
+ @Override
+ public Adapter caseAddress(Address object) {
+ return createAddressAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
/**
* Creates an adapter for the <code>target</code>.
@@ -145,8 +136,7 @@
* @generated
*/
@Override
- public Adapter createAdapter(Notifier target)
- {
+ public Adapter createAdapter(Notifier target) {
return modelSwitch.doSwitch((EObject) target);
}
@@ -162,8 +152,7 @@
* @see org.eclipse.emf.ecp.test.university.CourseCatalog
* @generated
*/
- public Adapter createCourseCatalogAdapter()
- {
+ public Adapter createCourseCatalogAdapter() {
return null;
}
@@ -179,8 +168,7 @@
* @see org.eclipse.emf.ecp.test.university.Course
* @generated
*/
- public Adapter createCourseAdapter()
- {
+ public Adapter createCourseAdapter() {
return null;
}
@@ -195,8 +183,7 @@
* @see org.eclipse.emf.ecp.test.university.Staff
* @generated
*/
- public Adapter createStaffAdapter()
- {
+ public Adapter createStaffAdapter() {
return null;
}
@@ -212,8 +199,7 @@
* @see org.eclipse.emf.ecp.test.university.Professor
* @generated
*/
- public Adapter createProfessorAdapter()
- {
+ public Adapter createProfessorAdapter() {
return null;
}
@@ -229,8 +215,7 @@
* @see org.eclipse.emf.ecp.test.university.Assistant
* @generated
*/
- public Adapter createAssistantAdapter()
- {
+ public Adapter createAssistantAdapter() {
return null;
}
@@ -246,8 +231,23 @@
* @see org.eclipse.emf.ecp.test.university.Person
* @generated
*/
- public Adapter createPersonAdapter()
- {
+ public Adapter createPersonAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecp.test.university.Address <em>Address</em>
+ * }'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecp.test.university.Address
+ * @generated
+ */
+ public Adapter createAddressAdapter() {
return null;
}
@@ -260,8 +260,7 @@
* @return the new adapter.
* @generated
*/
- public Adapter createEObjectAdapter()
- {
+ public Adapter createEObjectAdapter() {
return null;
}
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/util/UniversitySwitch.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/util/UniversitySwitch.java
index 23ac333..eb7b734 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/util/UniversitySwitch.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/util/UniversitySwitch.java
@@ -14,6 +14,7 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.emf.ecp.test.university.Address;
import org.eclipse.emf.ecp.test.university.Assistant;
import org.eclipse.emf.ecp.test.university.Course;
import org.eclipse.emf.ecp.test.university.CourseCatalog;
@@ -36,8 +37,7 @@
* @see org.eclipse.emf.ecp.test.university.UniversityPackage
* @generated
*/
-public class UniversitySwitch<T> extends Switch<T>
-{
+public class UniversitySwitch<T> extends Switch<T> {
/**
* The cached model package
* <!-- begin-user-doc -->
@@ -54,10 +54,8 @@
*
* @generated
*/
- public UniversitySwitch()
- {
- if (modelPackage == null)
- {
+ public UniversitySwitch() {
+ if (modelPackage == null) {
modelPackage = UniversityPackage.eINSTANCE;
}
}
@@ -67,13 +65,12 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @parameter ePackage the package in question.
+ * @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
@Override
- protected boolean isSwitchFor(EPackage ePackage)
- {
+ protected boolean isSwitchFor(EPackage ePackage) {
return ePackage == modelPackage;
}
@@ -87,10 +84,8 @@
* @generated
*/
@Override
- protected T doSwitch(int classifierID, EObject theEObject)
- {
- switch (classifierID)
- {
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
case UniversityPackage.COURSE_CATALOG: {
final CourseCatalog courseCatalog = (CourseCatalog) theEObject;
T result = caseCourseCatalog(courseCatalog);
@@ -145,6 +140,14 @@
}
return result;
}
+ case UniversityPackage.ADDRESS: {
+ final Address address = (Address) theEObject;
+ T result = caseAddress(address);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
default:
return defaultCase(theEObject);
}
@@ -162,8 +165,7 @@
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseCourseCatalog(CourseCatalog object)
- {
+ public T caseCourseCatalog(CourseCatalog object) {
return null;
}
@@ -179,8 +181,7 @@
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseCourse(Course object)
- {
+ public T caseCourse(Course object) {
return null;
}
@@ -196,8 +197,7 @@
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseStaff(Staff object)
- {
+ public T caseStaff(Staff object) {
return null;
}
@@ -213,8 +213,7 @@
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseProfessor(Professor object)
- {
+ public T caseProfessor(Professor object) {
return null;
}
@@ -230,8 +229,7 @@
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseAssistant(Assistant object)
- {
+ public T caseAssistant(Assistant object) {
return null;
}
@@ -247,8 +245,23 @@
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T casePerson(Person object)
- {
+ public T casePerson(Person object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Address</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Address</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAddress(Address object) {
return null;
}
@@ -265,8 +278,7 @@
* @generated
*/
@Override
- public T defaultCase(EObject object)
- {
+ public T defaultCase(EObject object) {
return null;
}
diff --git a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/util/UniversityValidator.java b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/util/UniversityValidator.java
index b281a09..24e97c0 100644
--- a/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/util/UniversityValidator.java
+++ b/tests/org.eclipse.emf.ecp.test.model/src/org/eclipse/emf/ecp/test/university/util/UniversityValidator.java
@@ -24,6 +24,7 @@
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.emf.ecp.test.university.Address;
import org.eclipse.emf.ecp.test.university.Assistant;
import org.eclipse.emf.ecp.test.university.Course;
import org.eclipse.emf.ecp.test.university.CourseCatalog;
@@ -41,8 +42,7 @@
* @see org.eclipse.emf.ecp.test.university.UniversityPackage
* @generated
*/
-public class UniversityValidator extends EObjectValidator
-{
+public class UniversityValidator extends EObjectValidator {
/**
* The cached model package
* <!-- begin-user-doc -->
@@ -90,8 +90,7 @@
*
* @generated
*/
- public UniversityValidator()
- {
+ public UniversityValidator() {
super();
}
@@ -103,8 +102,7 @@
* @generated
*/
@Override
- protected EPackage getEPackage()
- {
+ protected EPackage getEPackage() {
return UniversityPackage.eINSTANCE;
}
@@ -116,10 +114,9 @@
* @generated
*/
@Override
- protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, Map<Object, Object> context)
- {
- switch (classifierID)
- {
+ protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ switch (classifierID) {
case UniversityPackage.COURSE_CATALOG:
return validateCourseCatalog((CourseCatalog) value, diagnostics, context);
case UniversityPackage.COURSE:
@@ -132,6 +129,8 @@
return validateAssistant((Assistant) value, diagnostics, context);
case UniversityPackage.PERSON:
return validatePerson((Person) value, diagnostics, context);
+ case UniversityPackage.ADDRESS:
+ return validateAddress((Address) value, diagnostics, context);
default:
return true;
}
@@ -144,8 +143,7 @@
* @generated
*/
public boolean validateCourseCatalog(CourseCatalog courseCatalog, DiagnosticChain diagnostics,
- Map<Object, Object> context)
- {
+ Map<Object, Object> context) {
return validate_EveryDefaultConstraint(courseCatalog, diagnostics, context);
}
@@ -155,8 +153,7 @@
*
* @generated
*/
- public boolean validateCourse(Course course, DiagnosticChain diagnostics, Map<Object, Object> context)
- {
+ public boolean validateCourse(Course course, DiagnosticChain diagnostics, Map<Object, Object> context) {
if (!validate_NoCircularContainment(course, diagnostics, context)) {
return false;
}
@@ -199,8 +196,8 @@
* @generated NOT
*/
// BEGIN COMPLEX CODE
- public boolean validateCourse_UniqueItemById(Course course, DiagnosticChain diagnostics, Map<Object, Object> context)
- {
+ public boolean validateCourse_UniqueItemById(Course course, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
// method name is generated
boolean validationResult = true;
final CourseCatalog courseCatalog = (CourseCatalog) course.eContainer();
@@ -252,13 +249,10 @@
private void createDiagnostics(Course course, DiagnosticChain diagnostics, Map<Object, Object> context,
final List<Course> duplicates) {
for (final Course courseWithDuplicatedId : duplicates) {
- if (diagnostics != null)
- {
+ if (diagnostics != null) {
if (courseWithDuplicatedId != course) {
diagnostics
- .add
- (createDiagnostic
- (Diagnostic.WARNING,
+ .add(createDiagnostic(Diagnostic.WARNING,
DIAGNOSTIC_SOURCE,
0, "_UI_GenericConstraint_diagnostic", //$NON-NLS-1$
new Object[] { "The id of a course must be unique" }, //$NON-NLS-1$
@@ -277,22 +271,18 @@
* @generated NOT
*/
// BEGIN COMPLEX CODE
- public boolean validateCourse_NameNotEmpty(Course course, DiagnosticChain diagnostics, Map<Object, Object> context)
- {
+ public boolean validateCourse_NameNotEmpty(Course course, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
// method name is generated
if (course.getName() != null && course.getName().length() < 1 || course.getId() != null
- && course.getId().length() < 1)
- {
- if (diagnostics != null)
- {
- diagnostics.add
- (createDiagnostic
- (Diagnostic.ERROR,
- DIAGNOSTIC_SOURCE,
- 0, "_UI_GenericConstraint_diagnostic", //$NON-NLS-1$
- new Object[] { "A course needs a name and an id." }, //$NON-NLS-1$
- new Object[] { course, UniversityPackage.eINSTANCE.getCourse_Name() },
- context));
+ && course.getId().length() < 1) {
+ if (diagnostics != null) {
+ diagnostics.add(createDiagnostic(Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0, "_UI_GenericConstraint_diagnostic", //$NON-NLS-1$
+ new Object[] { "A course needs a name and an id." }, //$NON-NLS-1$
+ new Object[] { course, UniversityPackage.eINSTANCE.getCourse_Name() },
+ context));
}
return false;
}
@@ -307,8 +297,7 @@
*
* @generated
*/
- public boolean validateStaff(Staff staff, DiagnosticChain diagnostics, Map<Object, Object> context)
- {
+ public boolean validateStaff(Staff staff, DiagnosticChain diagnostics, Map<Object, Object> context) {
return validate_EveryDefaultConstraint(staff, diagnostics, context);
}
@@ -318,8 +307,7 @@
*
* @generated
*/
- public boolean validateProfessor(Professor professor, DiagnosticChain diagnostics, Map<Object, Object> context)
- {
+ public boolean validateProfessor(Professor professor, DiagnosticChain diagnostics, Map<Object, Object> context) {
return validate_EveryDefaultConstraint(professor, diagnostics, context);
}
@@ -329,8 +317,7 @@
*
* @generated
*/
- public boolean validateAssistant(Assistant assistant, DiagnosticChain diagnostics, Map<Object, Object> context)
- {
+ public boolean validateAssistant(Assistant assistant, DiagnosticChain diagnostics, Map<Object, Object> context) {
return validate_EveryDefaultConstraint(assistant, diagnostics, context);
}
@@ -340,12 +327,21 @@
*
* @generated
*/
- public boolean validatePerson(Person person, DiagnosticChain diagnostics, Map<Object, Object> context)
- {
+ public boolean validatePerson(Person person, DiagnosticChain diagnostics, Map<Object, Object> context) {
return validate_EveryDefaultConstraint(person, diagnostics, context);
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAddress(Address address, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(address, diagnostics, context);
+ }
+
+ /**
* Returns the resource locator that will be used to fetch messages for this validator's diagnostics.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -353,8 +349,7 @@
* @generated
*/
@Override
- public ResourceLocator getResourceLocator()
- {
+ public ResourceLocator getResourceLocator() {
// TODO
// Specialize this to return a resource locator for messages specific to this validator.
// Ensure that you remove @generated or mark it @generated NOT
diff --git a/tests/org.eclipse.emf.ecp.ui.validation.test/.gitignore b/tests/org.eclipse.emf.ecp.ui.validation.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.ui.validation.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.ui.validation.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ui.validation.test/META-INF/MANIFEST.MF
index 78765c8..2f1a4f3 100644
--- a/tests/org.eclipse.emf.ecp.ui.validation.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ui.validation.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Validation View Test
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.validation.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.ui.validation;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
@@ -10,5 +10,5 @@
org.junit;bundle-version="[4.11.0,5.0.0)",
org.eclipse.emf.ecp.validation.diagnostician;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.emfstore.examplemodel.edit;bundle-version="[1.3.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.ui.validation.test;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.ui.validation.test;version="1.6.0"
;x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.ui.validation.test/ValidationTreeViewerTest.launch b/tests/org.eclipse.emf.ecp.ui.validation.test/ValidationTreeViewerTest.launch
index 06ccf52..3d7d61d 100644
--- a/tests/org.eclipse.emf.ecp.ui.validation.test/ValidationTreeViewerTest.launch
+++ b/tests/org.eclipse.emf.ecp.ui.validation.test/ValidationTreeViewerTest.launch
@@ -34,7 +34,7 @@
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.validation@default:default,javax.xml@default:default,org.apache.ant@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.ant.junit@default:default,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="ViewModelProjectTemplate@default:default,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.diffmerge.context@default:default,org.eclipse.emf.ecp.diffmerge.model.edit@default:default,org.eclipse.emf.ecp.diffmerge.model@default:default,org.eclipse.emf.ecp.diffmerge.renderer.swt@default:default,org.eclipse.emf.ecp.diffmerge.swt@default:default,org.eclipse.emf.ecp.diffmerge.test@default:false,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ide.editor.view@default:default,org.eclipse.emf.ecp.ide.util.test@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service.test@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.validation.test@default:false,org.eclipse.emf.ecp.ui.validation@default:default,org.eclipse.emf.ecp.ui.view.editor.controls.test@default:default,org.eclipse.emf.ecp.ui.view.editor.controls@default:default,org.eclipse.emf.ecp.ui.view.swt.di@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.validation.diagnostician.test@default:false,org.eclipse.emf.ecp.validation.diagnostician@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model.edit@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model@default:default,org.eclipse.emf.ecp.view.compoundcontrol.swt@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui.swt.di@default:default,org.eclipse.emf.ecp.view.custom.ui.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.swt.collapsable@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.indexdmr.databinding@default:default,org.eclipse.emf.ecp.view.indexdmr.model.edit@default:default,org.eclipse.emf.ecp.view.indexdmr.model.test@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.indexdmr.tooling@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.edit@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.test@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model@default:default,org.eclipse.emf.ecp.view.keyattributedmr.tooling@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.rap@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.mappingdmr.databinding@default:default,org.eclipse.emf.ecp.view.mappingdmr.model.edit@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.tooling@default:default,org.eclipse.emf.ecp.view.model.common.di@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.editor@default:default,org.eclipse.emf.ecp.view.model.preview.common@default:default,org.eclipse.emf.ecp.view.model.preview.e3@default:default,org.eclipse.emf.ecp.view.model.project.installer@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.section.model.edit@default:default,org.eclipse.emf.ecp.view.section.model@default:default,org.eclipse.emf.ecp.view.section.ui.swt@default:default,org.eclipse.emf.ecp.view.stack.model.edit@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.stack.ui.swt.test@default:false,org.eclipse.emf.ecp.view.stack.ui.swt@default:default,org.eclipse.emf.ecp.view.stack.viewmodel@default:default,org.eclipse.emf.ecp.view.table.migrate@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service.test@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.template.tooling@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.bean.default@default:default,org.eclipse.emf.ecp.view.validation.bean.test@default:false,org.eclipse.emf.ecp.view.validation.bean@default:default,org.eclipse.emf.ecp.view.validation.test@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.viewproxy.model.edit@default:default,org.eclipse.emf.ecp.view.viewproxy.model@default:default,org.eclipse.emf.ecp.view.viewproxy.tests@default:false,org.eclipse.emf.ecp.workspace.core@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="ViewModelProjectTemplate@default:default,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.diffmerge.context@default:default,org.eclipse.emf.ecp.diffmerge.model.edit@default:default,org.eclipse.emf.ecp.diffmerge.model@default:default,org.eclipse.emf.ecp.diffmerge.renderer.swt@default:default,org.eclipse.emf.ecp.diffmerge.swt@default:default,org.eclipse.emf.ecp.diffmerge.test@default:false,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ide.editor.view@default:default,org.eclipse.emf.ecp.ide.util.test@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service.test@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.validation.test@default:false,org.eclipse.emf.ecp.ui.validation@default:default,org.eclipse.emf.ecp.ui.view.editor.controls.test@default:default,org.eclipse.emf.ecp.ui.view.editor.controls@default:default,org.eclipse.emf.ecp.ui.view.swt.di@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.validation.diagnostician.test@default:false,org.eclipse.emf.ecp.validation.diagnostician@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model.edit@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model@default:default,org.eclipse.emf.ecp.view.compoundcontrol.swt@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui.swt.di@default:default,org.eclipse.emf.ecp.view.custom.ui.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.swt.collapsable@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.indexdmr.model.edit@default:default,org.eclipse.emf.ecp.view.indexdmr.model.test@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.indexdmr.tooling@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.edit@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.test@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model@default:default,org.eclipse.emf.ecp.view.keyattributedmr.tooling@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.rap@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.mappingdmr.model.edit@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.tooling@default:default,org.eclipse.emf.ecp.view.model.common.di@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.editor@default:default,org.eclipse.emf.ecp.view.model.preview.common@default:default,org.eclipse.emf.ecp.view.model.preview.e3@default:default,org.eclipse.emf.ecp.view.model.project.installer@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.section.model.edit@default:default,org.eclipse.emf.ecp.view.section.model@default:default,org.eclipse.emf.ecp.view.section.ui.swt@default:default,org.eclipse.emf.ecp.view.stack.model.edit@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.stack.ui.swt.test@default:false,org.eclipse.emf.ecp.view.stack.ui.swt@default:default,org.eclipse.emf.ecp.view.stack.viewmodel@default:default,org.eclipse.emf.ecp.view.table.migrate@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service.test@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.template.tooling@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.bean.default@default:default,org.eclipse.emf.ecp.view.validation.bean.test@default:false,org.eclipse.emf.ecp.view.validation.bean@default:default,org.eclipse.emf.ecp.view.validation.test@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.viewproxy.model.edit@default:default,org.eclipse.emf.ecp.view.viewproxy.model@default:default,org.eclipse.emf.ecp.view.viewproxy.tests@default:false,org.eclipse.emf.ecp.workspace.core@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.ui.validation.test/pom.xml b/tests/org.eclipse.emf.ecp.ui.validation.test/pom.xml
index 94d4da2..226bd32 100644
--- a/tests/org.eclipse.emf.ecp.ui.validation.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ui.validation.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ui.validation.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -25,23 +25,31 @@
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
<failIfNoTests>false</failIfNoTests>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.validation.view.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.validation.view.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/AllViewEditorControlsTests.launch b/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/AllViewEditorControlsTests.launch
index 068f26a..cc8467e 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/AllViewEditorControlsTests.launch
+++ b/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/AllViewEditorControlsTests.launch
@@ -12,7 +12,7 @@
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.databinding,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.workspace.ui"/>
+<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.workspace.ui"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
@@ -34,7 +34,7 @@
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.validation@default:default,javax.xml@default:default,org.apache.ant@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.ant.junit@default:false,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.objenesis@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.makeithappen.model.viewmodel@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.makeithappen.view.email.renderer@default:default,org.eclipse.emf.ecp.rap.util@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.editor.controls.test@default:false,org.eclipse.emf.ecp.ui.view.editor.controls@default:default,org.eclipse.emf.ecp.ui.view.swt.di@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model.edit@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model@default:default,org.eclipse.emf.ecp.view.compoundcontrol.swt@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui.swt.di@default:default,org.eclipse.emf.ecp.view.custom.ui.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.indexdmr.databinding@default:default,org.eclipse.emf.ecp.view.indexdmr.model.edit@default:default,org.eclipse.emf.ecp.view.indexdmr.model.test@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.indexdmr.tooling@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.edit@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.test@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model@default:default,org.eclipse.emf.ecp.view.keyattributedmr.tooling@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.model.common.di@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.section.model.edit@default:default,org.eclipse.emf.ecp.view.section.model@default:default,org.eclipse.emf.ecp.view.section.ui.swt@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.bean.default@default:default,org.eclipse.emf.ecp.view.validation.bean.test@default:false,org.eclipse.emf.ecp.view.validation.bean@default:default,org.eclipse.emf.ecp.view.validation.test@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.viewproxy.model.edit@default:default,org.eclipse.emf.ecp.view.viewproxy.model@default:default,org.eclipse.emf.ecp.view.viewproxy.tests@default:false,org.eclipse.emf.ecp.workspace.core@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.makeithappen.model.viewmodel@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.makeithappen.view.email.renderer@default:default,org.eclipse.emf.ecp.rap.util@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.editor.controls.test@default:false,org.eclipse.emf.ecp.ui.view.editor.controls@default:default,org.eclipse.emf.ecp.ui.view.swt.di@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model.edit@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model@default:default,org.eclipse.emf.ecp.view.compoundcontrol.swt@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui.swt.di@default:default,org.eclipse.emf.ecp.view.custom.ui.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.indexdmr.model.edit@default:default,org.eclipse.emf.ecp.view.indexdmr.model.test@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.indexdmr.tooling@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.edit@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.test@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model@default:default,org.eclipse.emf.ecp.view.keyattributedmr.tooling@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.model.common.di@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.section.model.edit@default:default,org.eclipse.emf.ecp.view.section.model@default:default,org.eclipse.emf.ecp.view.section.ui.swt@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.bean.default@default:default,org.eclipse.emf.ecp.view.validation.bean.test@default:false,org.eclipse.emf.ecp.view.validation.bean@default:default,org.eclipse.emf.ecp.view.validation.test@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.viewproxy.model.edit@default:default,org.eclipse.emf.ecp.view.viewproxy.model@default:default,org.eclipse.emf.ecp.view.viewproxy.tests@default:false,org.eclipse.emf.ecp.workspace.core@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/META-INF/MANIFEST.MF
index bc3b10a..b4eb5d5 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.editor.controls.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Fragment-Host: org.eclipse.emf.ecp.ui.view.editor.controls;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.ui.view.editor.controls.test;versi
- on="1.5.1",org.eclipse.emf.ecp.ui.view.editor.test.model.test;version
- ="1.5.1";x-internal:=true,org.eclipse.emf.ecp.ui.view.editor.test.mod
- el.test.impl;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.ui.
- view.editor.test.model.test.util;version="1.5.1";x-internal:=true
+ on="1.6.0",org.eclipse.emf.ecp.ui.view.editor.test.model.test;version
+ ="1.6.0";x-internal:=true,org.eclipse.emf.ecp.ui.view.editor.test.mod
+ el.test.impl;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.ui.
+ view.editor.test.model.test.util;version="1.6.0";x-internal:=true
Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
diff --git a/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/pom.xml b/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/pom.xml
index 03586dd..08bb85a 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ui.view.editor.controls.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ui.view.editor.controls.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -25,43 +25,51 @@
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
<failIfNoTests>false</failIfNoTests>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.table.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.rule.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.workspace.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.group.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.table.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.rule.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.workspace.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.group.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.ui.view.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ui.view.swt.test/META-INF/MANIFEST.MF
index a9b8030..0982b5b 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ui.view.swt.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: SWT Renderer Tests
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.swt.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
@@ -11,4 +11,4 @@
org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.5.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.ui.view.swt.test;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.ui.view.swt.test;version="1.6.0"
diff --git a/tests/org.eclipse.emf.ecp.ui.view.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.ui.view.swt.test/pom.xml
index b12f55e..15b9497 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ui.view.swt.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ui.view.swt.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -25,39 +25,61 @@
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
<failIfNoTests>false</failIfNoTests>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.vertical.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
-
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.locale.default</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.event</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.databinding.featurepath</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.emf</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.template.service</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.localization</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.core.swt</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.swt.layout</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.vertical.ui.swt</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.ui.view.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.ui.view.test/META-INF/MANIFEST.MF
index 24798cc..41fd7e8 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.ui.view.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Test
Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8.0",
org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)",
org.junit;bundle-version="4.10.0",
@@ -20,4 +20,4 @@
org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.5.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.ui.view.test;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.ui.view.test;version="1.6.0"
diff --git a/tests/org.eclipse.emf.ecp.ui.view.test/pom.xml b/tests/org.eclipse.emf.ecp.ui.view.test/pom.xml
index e889b17..5865a95 100644
--- a/tests/org.eclipse.emf.ecp.ui.view.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.ui.view.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.ui.view.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -29,38 +29,46 @@
<useUIThread>true</useUIThread>
<testFailureIgnore>true</testFailureIgnore>
<failIfNoTests>false</failIfNoTests>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.vertical.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.validation.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.vertical.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.emfstore.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.validation.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.validation.diagnostician.test/.gitignore b/tests/org.eclipse.emf.ecp.validation.diagnostician.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.validation.diagnostician.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.validation.diagnostician.test/Diagnostician_PTest.launch b/tests/org.eclipse.emf.ecp.validation.diagnostician.test/Diagnostician_PTest.launch
index 8b41b3d..771de08 100644
--- a/tests/org.eclipse.emf.ecp.validation.diagnostician.test/Diagnostician_PTest.launch
+++ b/tests/org.eclipse.emf.ecp.validation.diagnostician.test/Diagnostician_PTest.launch
@@ -34,7 +34,7 @@
<stringAttribute key="product" value="com.gide.profiler.application.product"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.validation@default:default,javax.xml@default:default,org.apache.ant@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86_64@default:default,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:default,org.eclipse.swt@default:default,org.eclipse.swtbot.ant.junit@default:default,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="ViewModelProjectTemplate@default:default,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.diffmerge.context@default:default,org.eclipse.emf.ecp.diffmerge.model.edit@default:default,org.eclipse.emf.ecp.diffmerge.model@default:default,org.eclipse.emf.ecp.diffmerge.renderer.swt@default:default,org.eclipse.emf.ecp.diffmerge.swt@default:default,org.eclipse.emf.ecp.diffmerge.test@default:false,org.eclipse.emf.ecp.edit.swt.test@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ide.editor.view@default:default,org.eclipse.emf.ecp.ide.util.test@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service.test@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.ui.rcp@default:default,org.eclipse.emf.ecp.ui.view.editor.controls.test@default:default,org.eclipse.emf.ecp.ui.view.editor.controls@default:default,org.eclipse.emf.ecp.ui.view.swt.di@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.validation.diagnostician.test@default:false,org.eclipse.emf.ecp.validation.diagnostician@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model.edit@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model@default:default,org.eclipse.emf.ecp.view.compoundcontrol.swt@default:default,org.eclipse.emf.ecp.view.context.test@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui.swt.di@default:default,org.eclipse.emf.ecp.view.custom.ui.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.swt.collapsable@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.indexdmr.databinding@default:default,org.eclipse.emf.ecp.view.indexdmr.model.edit@default:default,org.eclipse.emf.ecp.view.indexdmr.model.test@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.indexdmr.tooling@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.edit@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.test@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model@default:default,org.eclipse.emf.ecp.view.keyattributedmr.tooling@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.rap@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.mappingdmr.databinding@default:default,org.eclipse.emf.ecp.view.mappingdmr.model.edit@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.tooling@default:default,org.eclipse.emf.ecp.view.model.common.di@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.editor@default:default,org.eclipse.emf.ecp.view.model.preview.common@default:default,org.eclipse.emf.ecp.view.model.preview.e3@default:default,org.eclipse.emf.ecp.view.model.project.installer@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.section.model.edit@default:default,org.eclipse.emf.ecp.view.section.model@default:default,org.eclipse.emf.ecp.view.section.ui.swt@default:default,org.eclipse.emf.ecp.view.stack.model.edit@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.stack.ui.swt.test@default:false,org.eclipse.emf.ecp.view.stack.ui.swt@default:default,org.eclipse.emf.ecp.view.stack.viewmodel@default:default,org.eclipse.emf.ecp.view.table.migrate@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service.test@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.template.tooling@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.bean.default@default:default,org.eclipse.emf.ecp.view.validation.bean.test@default:false,org.eclipse.emf.ecp.view.validation.bean@default:default,org.eclipse.emf.ecp.view.validation.test@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.viewproxy.model.edit@default:default,org.eclipse.emf.ecp.view.viewproxy.model@default:default,org.eclipse.emf.ecp.view.viewproxy.tests@default:false,org.eclipse.emf.ecp.workspace.core@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="ViewModelProjectTemplate@default:default,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.diffmerge.context@default:default,org.eclipse.emf.ecp.diffmerge.model.edit@default:default,org.eclipse.emf.ecp.diffmerge.model@default:default,org.eclipse.emf.ecp.diffmerge.renderer.swt@default:default,org.eclipse.emf.ecp.diffmerge.swt@default:default,org.eclipse.emf.ecp.diffmerge.test@default:false,org.eclipse.emf.ecp.edit.swt.test@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ide.editor.view@default:default,org.eclipse.emf.ecp.ide.util.test@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service.test@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.ui.rcp@default:default,org.eclipse.emf.ecp.ui.view.editor.controls.test@default:default,org.eclipse.emf.ecp.ui.view.editor.controls@default:default,org.eclipse.emf.ecp.ui.view.swt.di@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.validation.diagnostician.test@default:false,org.eclipse.emf.ecp.validation.diagnostician@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model.edit@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model@default:default,org.eclipse.emf.ecp.view.compoundcontrol.swt@default:default,org.eclipse.emf.ecp.view.context.test@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui.swt.di@default:default,org.eclipse.emf.ecp.view.custom.ui.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.swt.collapsable@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.indexdmr.model.edit@default:default,org.eclipse.emf.ecp.view.indexdmr.model.test@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.indexdmr.tooling@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.edit@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.test@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model@default:default,org.eclipse.emf.ecp.view.keyattributedmr.tooling@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.rap@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.mappingdmr.model.edit@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.tooling@default:default,org.eclipse.emf.ecp.view.model.common.di@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.editor@default:default,org.eclipse.emf.ecp.view.model.preview.common@default:default,org.eclipse.emf.ecp.view.model.preview.e3@default:default,org.eclipse.emf.ecp.view.model.project.installer@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.section.model.edit@default:default,org.eclipse.emf.ecp.view.section.model@default:default,org.eclipse.emf.ecp.view.section.ui.swt@default:default,org.eclipse.emf.ecp.view.stack.model.edit@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.stack.ui.swt.test@default:false,org.eclipse.emf.ecp.view.stack.ui.swt@default:default,org.eclipse.emf.ecp.view.stack.viewmodel@default:default,org.eclipse.emf.ecp.view.table.migrate@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service.test@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.template.tooling@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.bean.default@default:default,org.eclipse.emf.ecp.view.validation.bean.test@default:false,org.eclipse.emf.ecp.view.validation.bean@default:default,org.eclipse.emf.ecp.view.validation.test@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.viewproxy.model.edit@default:default,org.eclipse.emf.ecp.view.viewproxy.model@default:default,org.eclipse.emf.ecp.view.viewproxy.tests@default:false,org.eclipse.emf.ecp.workspace.core@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.validation.diagnostician.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.validation.diagnostician.test/META-INF/MANIFEST.MF
index ef56d6a..8ec3617 100644
--- a/tests/org.eclipse.emf.ecp.validation.diagnostician.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.validation.diagnostician.test/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP Diagnostician Test
Bundle-SymbolicName: org.eclipse.emf.ecp.validation.diagnostician.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.validation.diagnostician;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.validation.diagnostician.test;vers
- ion="1.5.1";x-internal:=true
+ ion="1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.validation.diagnostician.test/pom.xml b/tests/org.eclipse.emf.ecp.validation.diagnostician.test/pom.xml
index 6727b80..649493a 100644
--- a/tests/org.eclipse.emf.ecp.validation.diagnostician.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.validation.diagnostician.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.validation.diagnostician.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -25,23 +25,31 @@
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
<failIfNoTests>false</failIfNoTests>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.validation.view.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.validation.view.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.validation.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.validation.test/META-INF/MANIFEST.MF
index 713f4a4..59f890f 100644
--- a/tests/org.eclipse.emf.ecp.validation.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.validation.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.validation.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.validation;bundle-version="1.4.0"
Bundle-ClassPath: .
Bundle-Vendor: Eclipse Modeling Project
@@ -14,8 +14,8 @@
org.eclipse.emf.ecp.core;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.5.0,2.0.0)"
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.ecp.validation.test;version="1.5.1";x-
- internal:=true,org.eclipse.emf.ecp.validation.test.test;version="1.5.
- 1";x-internal:=true,org.eclipse.emf.ecp.validation.test.test.impl;ver
- sion="1.5.1";x-internal:=true,org.eclipse.emf.ecp.validation.test.tes
- t.util;version="1.5.1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.validation.test;version="1.6.0";x-
+ internal:=true,org.eclipse.emf.ecp.validation.test.test;version="1.6.
+ 0";x-internal:=true,org.eclipse.emf.ecp.validation.test.test.impl;ver
+ sion="1.6.0";x-internal:=true,org.eclipse.emf.ecp.validation.test.tes
+ t.util;version="1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.validation.test/Validation_PTest.launch b/tests/org.eclipse.emf.ecp.validation.test/Validation_PTest.launch
new file mode 100644
index 0000000..473fc73
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.validation.test/Validation_PTest.launch
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,com.example.editingDomain,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.changebroker,org.eclipse.emf.ecp.changebroker.emfstore,org.eclipse.emf.ecp.common.test.fx,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.application.sample.rap,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.quickfix,org.eclipse.emf.ecp.quickfix.test,org.eclipse.emf.ecp.quickfix.ui.e4,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.util.e4.fx,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.control.multireference.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.edapt,org.eclipse.emf.ecp.view.edapt.test,org.eclipse.emf.ecp.view.edapt.util.test,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.model,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.model.test,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.migrator,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.table.celleditor.rcp,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.edapt,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.table.validation,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test,org.eclipse.emf.ecp.view.treemasterdetail.validation,org.eclipse.emf.ecp.view.treemasterdetail.validation.test,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emfforms.core.services.databinding.featurepath,org.eclipse.emfforms.core.services.databinding.index,org.eclipse.emfforms.core.services.databinding.index.tests,org.eclipse.emfforms.core.services.databinding.mapping,org.eclipse.emfforms.core.services.databinding.testmodel,org.eclipse.emfforms.core.services.emf,org.eclipse.emfforms.core.services.emf.tests,org.eclipse.emfforms.core.services.locale.default,org.eclipse.emfforms.swt.core.plugin,org.eclipse.emfforms.view.model.localization,sample.e3,test,test.edit"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.ecp.validation.test/src/org/eclipse/emf/ecp/validation/test/Validation_PTest.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.validation.test.Validation_PTest"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.validation.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.launcher.win32.win32.x86_64@default:false,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.pde.junit.runtime@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.test@default:false,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.test.model@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.validation.test@default:false,org.eclipse.emf.ecp.validation@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.model.common.test@default:false,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model.test@default:false,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.test@default:false,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core.tests@default:false,org.eclipse.emfforms.swt.core@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emf.ecp.validation.test/pom.xml b/tests/org.eclipse.emf.ecp.validation.test/pom.xml
index c4d1420..7e1cbed 100644
--- a/tests/org.eclipse.emf.ecp.validation.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.validation.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.validation.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -22,23 +22,31 @@
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.e3.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.e3.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/.gitignore b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/CategorizationTests.launch b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/CategorizationTests.launch
index 0fee771..588b14c 100644
--- a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/CategorizationTests.launch
+++ b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/CategorizationTests.launch
@@ -1,43 +1,43 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="false"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.emf.ecp.view.categorization.swt.test/src/org/eclipse/emf/ecp/view/categorization/swt/test/AllTests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.categorization.swt.test.AllTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.categorization.swt.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.0.v200806040011@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.rcp@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.categorization.swt.test@default:false,org.eclipse.emf.ecp.view.categorization.swt@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.rule.test@default:default,org.eclipse.emf.ecp.view.rule.ui.swt.test@default:default,org.eclipse.emf.ecp.view.rule@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.test@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="false"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.ecp.view.categorization.swt.test/src/org/eclipse/emf/ecp/view/categorization/swt/test/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.categorization.swt.test.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.categorization.swt.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.categorization.swt.test@default:false,org.eclipse.emf.ecp.view.categorization.swt@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.rule@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model.test@default:false,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/META-INF/MANIFEST.MF
index 74abe4e..72de9b1 100644
--- a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Categorization Test
Bundle-SymbolicName: org.eclipse.emf.ecp.view.categorization.swt.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.view.categorization.swt;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
@@ -12,5 +12,5 @@
org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.5.0,2.0.0)"
Import-Package: org.eclipse.swt.layout;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.categorization.swt.test;versi
- on="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.spi.categorizati
- on.swt;version="1.5.1"
+ on="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.spi.categorizati
+ on.swt;version="1.6.0"
diff --git a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/pom.xml
index e726580..549788b 100644
--- a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.categorization.swt.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,43 +24,51 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.validation.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.categorization.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.rule.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.validation.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.categorization.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.template.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.rule.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/src/org/eclipse/emf/ecp/view/categorization/swt/test/AllTests.java b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/src/org/eclipse/emf/ecp/view/categorization/swt/test/AllTests.java
index 1d1a985..e3888f1 100644
--- a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/src/org/eclipse/emf/ecp/view/categorization/swt/test/AllTests.java
+++ b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/src/org/eclipse/emf/ecp/view/categorization/swt/test/AllTests.java
@@ -11,13 +11,15 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.categorization.swt.test;
+import org.eclipse.emf.ecp.view.spi.categorization.swt.CategorizationRenderer_PTest;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
-@SuiteClasses({ Categorization_PTest.class, CategorizationTreeRefresh_PTest.class,
- CategorizationTreeContentRefresh_PTest.class })
+@SuiteClasses({ Categorization_PTest.class, CategorizationCorrectTester_PTest.class,
+ CategorizationTreeContentRefresh_PTest.class, CategorizationTreeRefresh_PTest.class,
+ CategorizationRenderer_PTest.class })
public class AllTests {
}
diff --git a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/src/org/eclipse/emf/ecp/view/categorization/swt/test/CategorizationCorrectTester_PTest.java b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/src/org/eclipse/emf/ecp/view/categorization/swt/test/CategorizationCorrectTester_PTest.java
index f13b715..2aa4613 100644
--- a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/src/org/eclipse/emf/ecp/view/categorization/swt/test/CategorizationCorrectTester_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/src/org/eclipse/emf/ecp/view/categorization/swt/test/CategorizationCorrectTester_PTest.java
@@ -15,15 +15,14 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-import org.eclipse.emf.ecp.view.internal.categorization.swt.CategorizationTabRendererTester;
-import org.eclipse.emf.ecp.view.internal.categorization.swt.CategorizationTreeRendererTester;
-import org.eclipse.emf.ecp.view.internal.categorization.swt.CompositeCategoryDefaultRendererTester;
-import org.eclipse.emf.ecp.view.internal.categorization.swt.CompositeCategoryTabRendererTester;
-import org.eclipse.emf.ecp.view.internal.categorization.swt.CompositeCategoryTreeRendererTester;
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
+import org.eclipse.emf.ecp.view.internal.categorization.swt.CategorizationElementTabbedRendererService;
+import org.eclipse.emf.ecp.view.internal.categorization.swt.CompositeCategoryJFaceTreeRendererService;
+import org.eclipse.emf.ecp.view.internal.categorization.swt.CompositeCategorySWTTabRendererService;
+import org.eclipse.emf.ecp.view.internal.categorization.swt.SWTCategorizationElementRendererService;
+import org.eclipse.emf.ecp.view.internal.categorization.swt.SWTCategorizationRendererService;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService;
import org.junit.Before;
import org.junit.Test;
@@ -45,39 +44,39 @@
public void testCorrectTesterForCategorizationWithDepth0() {
final VCategorizationElement categorizationElement = mock(VCategorizationElement.class);
when(categorizationElement.getMainCategoryDepth()).thenReturn(0);
- final CategorizationTabRendererTester tabTester = new CategorizationTabRendererTester();
- final int applicable = tabTester.isApplicable(categorizationElement, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicable);
+ final CategorizationElementTabbedRendererService tabTester = new CategorizationElementTabbedRendererService();
+ final double applicable = tabTester.isApplicable(categorizationElement, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicable, 0d);
- final CategorizationTreeRendererTester treeTester = new CategorizationTreeRendererTester();
- final int applicableTree = treeTester.isApplicable(categorizationElement, mock(ViewModelContext.class));
- assertEquals(1, applicableTree);
+ final SWTCategorizationElementRendererService treeTester = new SWTCategorizationElementRendererService();
+ final double applicableTree = treeTester.isApplicable(categorizationElement, null);
+ assertEquals(1, applicableTree, 0d);
}
@Test
public void testCorrectTesterForCategorizationWithDepth1() {
final VCategorizationElement categorizationElement = mock(VCategorizationElement.class);
when(categorizationElement.getMainCategoryDepth()).thenReturn(1);
- final CategorizationTabRendererTester tabTester = new CategorizationTabRendererTester();
- final int applicable = tabTester.isApplicable(categorizationElement, mock(ViewModelContext.class));
- assertEquals(1, applicable);
+ final CategorizationElementTabbedRendererService tabTester = new CategorizationElementTabbedRendererService();
+ final double applicable = tabTester.isApplicable(categorizationElement, null);
+ assertEquals(1, applicable, 0d);
- final CategorizationTreeRendererTester treeTester = new CategorizationTreeRendererTester();
- final int applicableTree = treeTester.isApplicable(categorizationElement, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree);
+ final SWTCategorizationElementRendererService treeTester = new SWTCategorizationElementRendererService();
+ final double applicableTree = treeTester.isApplicable(categorizationElement, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree, 0d);
}
@Test
public void testCorrectTesterForCategorizationWithDepth2() {
final VCategorizationElement categorizationElement = mock(VCategorizationElement.class);
when(categorizationElement.getMainCategoryDepth()).thenReturn(2);
- final CategorizationTabRendererTester tabTester = new CategorizationTabRendererTester();
- final int applicable = tabTester.isApplicable(categorizationElement, mock(ViewModelContext.class));
- assertEquals(1, applicable);
+ final CategorizationElementTabbedRendererService tabTester = new CategorizationElementTabbedRendererService();
+ final double applicable = tabTester.isApplicable(categorizationElement, null);
+ assertEquals(1, applicable, 0d);
- final CategorizationTreeRendererTester treeTester = new CategorizationTreeRendererTester();
- final int applicableTree = treeTester.isApplicable(categorizationElement, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree);
+ final SWTCategorizationElementRendererService treeTester = new SWTCategorizationElementRendererService();
+ final double applicableTree = treeTester.isApplicable(categorizationElement, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree, 0d);
}
@Test
@@ -93,45 +92,45 @@
final VCategorization categorization3 = mock(VCategorization.class);
when(categorization3.eContainer()).thenReturn(categorization2);
- final CompositeCategoryDefaultRendererTester defaultTester = new CompositeCategoryDefaultRendererTester();
- final CompositeCategoryTabRendererTester tabTester = new CompositeCategoryTabRendererTester();
- final CompositeCategoryTreeRendererTester treeTester = new CompositeCategoryTreeRendererTester();
+ final SWTCategorizationRendererService defaultTester = new SWTCategorizationRendererService();
+ final CompositeCategorySWTTabRendererService tabTester = new CompositeCategorySWTTabRendererService();
+ final CompositeCategoryJFaceTreeRendererService treeTester = new CompositeCategoryJFaceTreeRendererService();
- final int applicable0 = defaultTester.isApplicable(categorization0, mock(ViewModelContext.class));
- assertEquals(1, applicable0);
+ final double applicable0 = defaultTester.isApplicable(categorization0, null);
+ assertEquals(1, applicable0, 0d);
- final int applicableTab0 = tabTester.isApplicable(categorization0, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTab0);
+ final double applicableTab0 = tabTester.isApplicable(categorization0, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTab0, 0d);
- final int applicableTree0 = treeTester.isApplicable(categorization0, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree0);
+ final double applicableTree0 = treeTester.isApplicable(categorization0, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree0, 0d);
- final int applicable1 = defaultTester.isApplicable(categorization1, mock(ViewModelContext.class));
- assertEquals(1, applicable1);
+ final double applicable1 = defaultTester.isApplicable(categorization1, null);
+ assertEquals(1, applicable1, 0d);
- final int applicableTab1 = tabTester.isApplicable(categorization1, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTab1);
+ final double applicableTab1 = tabTester.isApplicable(categorization1, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTab1, 0d);
- final int applicableTree1 = treeTester.isApplicable(categorization1, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree1);
+ final double applicableTree1 = treeTester.isApplicable(categorization1, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree1, 0d);
- final int applicable2 = defaultTester.isApplicable(categorization2, mock(ViewModelContext.class));
- assertEquals(1, applicable2);
+ final double applicable2 = defaultTester.isApplicable(categorization2, null);
+ assertEquals(1, applicable2, 0d);
- final int applicableTab2 = tabTester.isApplicable(categorization2, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTab2);
+ final double applicableTab2 = tabTester.isApplicable(categorization2, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTab2, 0d);
- final int applicableTree2 = treeTester.isApplicable(categorization2, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree2);
+ final double applicableTree2 = treeTester.isApplicable(categorization2, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree2, 0d);
- final int applicable3 = defaultTester.isApplicable(categorization3, mock(ViewModelContext.class));
- assertEquals(1, applicable3);
+ final double applicable3 = defaultTester.isApplicable(categorization3, null);
+ assertEquals(1, applicable3, 0d);
- final int applicableTab3 = tabTester.isApplicable(categorization3, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTab3);
+ final double applicableTab3 = tabTester.isApplicable(categorization3, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTab3, 0d);
- final int applicableTree3 = treeTester.isApplicable(categorization3, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree3);
+ final double applicableTree3 = treeTester.isApplicable(categorization3, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree3, 0d);
}
@Test
@@ -147,45 +146,45 @@
final VCategorization categorization3 = mock(VCategorization.class);
when(categorization3.eContainer()).thenReturn(categorization2);
- final CompositeCategoryDefaultRendererTester defaultTester = new CompositeCategoryDefaultRendererTester();
- final CompositeCategoryTabRendererTester tabTester = new CompositeCategoryTabRendererTester();
- final CompositeCategoryTreeRendererTester treeTester = new CompositeCategoryTreeRendererTester();
+ final SWTCategorizationRendererService defaultTester = new SWTCategorizationRendererService();
+ final CompositeCategorySWTTabRendererService tabTester = new CompositeCategorySWTTabRendererService();
+ final CompositeCategoryJFaceTreeRendererService treeTester = new CompositeCategoryJFaceTreeRendererService();
- final int applicable0 = defaultTester.isApplicable(categorization0, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicable0);
+ final double applicable0 = defaultTester.isApplicable(categorization0, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicable0, 0d);
- final int applicableTab0 = tabTester.isApplicable(categorization0, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTab0);
+ final double applicableTab0 = tabTester.isApplicable(categorization0, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTab0, 0d);
- final int applicableTree0 = treeTester.isApplicable(categorization0, mock(ViewModelContext.class));
- assertEquals(1, applicableTree0);
+ final double applicableTree0 = treeTester.isApplicable(categorization0, null);
+ assertEquals(1, applicableTree0, 0d);
- final int applicable1 = defaultTester.isApplicable(categorization1, mock(ViewModelContext.class));
- assertEquals(1, applicable1);
+ final double applicable1 = defaultTester.isApplicable(categorization1, null);
+ assertEquals(1, applicable1, 0d);
- final int applicableTab1 = tabTester.isApplicable(categorization1, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTab1);
+ final double applicableTab1 = tabTester.isApplicable(categorization1, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTab1, 0d);
- final int applicableTree1 = treeTester.isApplicable(categorization1, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree1);
+ final double applicableTree1 = treeTester.isApplicable(categorization1, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree1, 0d);
- final int applicable2 = defaultTester.isApplicable(categorization2, mock(ViewModelContext.class));
- assertEquals(1, applicable2);
+ final double applicable2 = defaultTester.isApplicable(categorization2, null);
+ assertEquals(1, applicable2, 0d);
- final int applicableTab2 = tabTester.isApplicable(categorization2, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTab2);
+ final double applicableTab2 = tabTester.isApplicable(categorization2, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTab2, 0d);
- final int applicableTree2 = treeTester.isApplicable(categorization2, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree2);
+ final double applicableTree2 = treeTester.isApplicable(categorization2, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree2, 0d);
- final int applicable3 = defaultTester.isApplicable(categorization3, mock(ViewModelContext.class));
- assertEquals(1, applicable3);
+ final double applicable3 = defaultTester.isApplicable(categorization3, null);
+ assertEquals(1, applicable3, 0d);
- final int applicableTab3 = tabTester.isApplicable(categorization3, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTab3);
+ final double applicableTab3 = tabTester.isApplicable(categorization3, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTab3, 0d);
- final int applicableTree3 = treeTester.isApplicable(categorization3, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree3);
+ final double applicableTree3 = treeTester.isApplicable(categorization3, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree3, 0d);
}
@Test
@@ -201,45 +200,45 @@
final VCategorization categorization3 = mock(VCategorization.class);
when(categorization3.eContainer()).thenReturn(categorization2);
- final CompositeCategoryDefaultRendererTester defaultTester = new CompositeCategoryDefaultRendererTester();
- final CompositeCategoryTabRendererTester tabTester = new CompositeCategoryTabRendererTester();
- final CompositeCategoryTreeRendererTester treeTester = new CompositeCategoryTreeRendererTester();
+ final SWTCategorizationRendererService defaultTester = new SWTCategorizationRendererService();
+ final CompositeCategorySWTTabRendererService tabTester = new CompositeCategorySWTTabRendererService();
+ final CompositeCategoryJFaceTreeRendererService treeTester = new CompositeCategoryJFaceTreeRendererService();
- final int applicable0 = defaultTester.isApplicable(categorization0, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicable0);
+ final double applicable0 = defaultTester.isApplicable(categorization0, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicable0, 0d);
- final int applicableTab0 = tabTester.isApplicable(categorization0, mock(ViewModelContext.class));
- assertEquals(1, applicableTab0);
+ final double applicableTab0 = tabTester.isApplicable(categorization0, null);
+ assertEquals(1, applicableTab0, 0d);
- final int applicableTree0 = treeTester.isApplicable(categorization0, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree0);
+ final double applicableTree0 = treeTester.isApplicable(categorization0, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree0, 0d);
- final int applicable1 = defaultTester.isApplicable(categorization1, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicable1);
+ final double applicable1 = defaultTester.isApplicable(categorization1, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicable1, 0d);
- final int applicableTab1 = tabTester.isApplicable(categorization1, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTab1);
+ final double applicableTab1 = tabTester.isApplicable(categorization1, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTab1, 0d);
- final int applicableTree1 = treeTester.isApplicable(categorization1, mock(ViewModelContext.class));
- assertEquals(1, applicableTree1);
+ final double applicableTree1 = treeTester.isApplicable(categorization1, null);
+ assertEquals(1, applicableTree1, 0d);
- final int applicable2 = defaultTester.isApplicable(categorization2, mock(ViewModelContext.class));
- assertEquals(1, applicable2);
+ final double applicable2 = defaultTester.isApplicable(categorization2, null);
+ assertEquals(1, applicable2, 0d);
- final int applicableTab2 = tabTester.isApplicable(categorization2, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTab2);
+ final double applicableTab2 = tabTester.isApplicable(categorization2, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTab2, 0d);
- final int applicableTree2 = treeTester.isApplicable(categorization2, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree2);
+ final double applicableTree2 = treeTester.isApplicable(categorization2, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree2, 0d);
- final int applicable3 = defaultTester.isApplicable(categorization3, mock(ViewModelContext.class));
- assertEquals(1, applicable3);
+ final double applicable3 = defaultTester.isApplicable(categorization3, null);
+ assertEquals(1, applicable3, 0d);
- final int applicableTab3 = tabTester.isApplicable(categorization3, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTab3);
+ final double applicableTab3 = tabTester.isApplicable(categorization3, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTab3, 0d);
- final int applicableTree3 = treeTester.isApplicable(categorization3, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree3);
+ final double applicableTree3 = treeTester.isApplicable(categorization3, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree3, 0d);
}
@Test
@@ -255,44 +254,44 @@
final VCategorization categorization3 = mock(VCategorization.class);
when(categorization3.eContainer()).thenReturn(categorization2);
- final CompositeCategoryDefaultRendererTester defaultTester = new CompositeCategoryDefaultRendererTester();
- final CompositeCategoryTabRendererTester tabTester = new CompositeCategoryTabRendererTester();
- final CompositeCategoryTreeRendererTester treeTester = new CompositeCategoryTreeRendererTester();
+ final SWTCategorizationRendererService defaultTester = new SWTCategorizationRendererService();
+ final CompositeCategorySWTTabRendererService tabTester = new CompositeCategorySWTTabRendererService();
+ final CompositeCategoryJFaceTreeRendererService treeTester = new CompositeCategoryJFaceTreeRendererService();
- final int applicable0 = defaultTester.isApplicable(categorization0, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicable0);
+ final double applicable0 = defaultTester.isApplicable(categorization0, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicable0, 0d);
- final int applicableTab0 = tabTester.isApplicable(categorization0, mock(ViewModelContext.class));
- assertEquals(1, applicableTab0);
+ final double applicableTab0 = tabTester.isApplicable(categorization0, null);
+ assertEquals(1, applicableTab0, 0d);
- final int applicableTree0 = treeTester.isApplicable(categorization0, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree0);
+ final double applicableTree0 = treeTester.isApplicable(categorization0, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree0, 0d);
- final int applicable1 = defaultTester.isApplicable(categorization1, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicable1);
+ final double applicable1 = defaultTester.isApplicable(categorization1, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicable1, 0d);
- final int applicableTab1 = tabTester.isApplicable(categorization1, mock(ViewModelContext.class));
- assertEquals(1, applicableTab1);
+ final double applicableTab1 = tabTester.isApplicable(categorization1, null);
+ assertEquals(1, applicableTab1, 0d);
- final int applicableTree1 = treeTester.isApplicable(categorization1, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree1);
+ final double applicableTree1 = treeTester.isApplicable(categorization1, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree1, 0d);
- final int applicable2 = defaultTester.isApplicable(categorization2, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicable2);
+ final double applicable2 = defaultTester.isApplicable(categorization2, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicable2, 0d);
- final int applicableTab2 = tabTester.isApplicable(categorization2, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTab2);
+ final double applicableTab2 = tabTester.isApplicable(categorization2, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTab2, 0d);
- final int applicableTree2 = treeTester.isApplicable(categorization2, mock(ViewModelContext.class));
- assertEquals(1, applicableTree2);
+ final double applicableTree2 = treeTester.isApplicable(categorization2, null);
+ assertEquals(1, applicableTree2, 0d);
- final int applicable3 = defaultTester.isApplicable(categorization3, mock(ViewModelContext.class));
- assertEquals(1, applicable3);
+ final double applicable3 = defaultTester.isApplicable(categorization3, null);
+ assertEquals(1, applicable3, 0d);
- final int applicableTab3 = tabTester.isApplicable(categorization3, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTab3);
+ final double applicableTab3 = tabTester.isApplicable(categorization3, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTab3, 0d);
- final int applicableTree3 = treeTester.isApplicable(categorization3, mock(ViewModelContext.class));
- assertEquals(ECPRendererTester.NOT_APPLICABLE, applicableTree3);
+ final double applicableTree3 = treeTester.isApplicable(categorization3, null);
+ assertEquals(EMFFormsRendererService.NOT_APPLICABLE, applicableTree3, 0d);
}
}
diff --git a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CategorizationRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CategorizationRenderer_PTest.java
index 571abc3..8d0db72 100644
--- a/tests/org.eclipse.emf.ecp.view.categorization.swt.test/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CategorizationRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.categorization.swt.test/src/org/eclipse/emf/ecp/view/spi/categorization/swt/CategorizationRenderer_PTest.java
@@ -26,8 +26,9 @@
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.widgets.Composite;
@@ -53,9 +54,8 @@
@Test
public void testCategorizationElementTreeRenderer() throws NoRendererFoundException,
NoPropertyDescriptorFoundExeption {
- final SWTRendererFactory factory = mock(SWTRendererFactory.class);
- final SWTCategorizationElementRenderer categorizatrionElementRenderer = new SWTCategorizationElementRenderer(
- factory);
+ final ReportService reportService = mock(ReportService.class);
+ final EMFFormsRendererFactory emfFormsRendererFactory = mock(EMFFormsRendererFactory.class);
final SWTGridCell gridCell = mock(SWTGridCell.class);
final Shell shell = new Shell();
@@ -67,7 +67,9 @@
when(iterator.hasNext()).thenReturn(false);
when(categorizationElement.eAllContents()).thenReturn(iterator);
final ViewModelContext vmc = mock(ViewModelContext.class);
- categorizatrionElementRenderer.init(categorizationElement, vmc);
+ final SWTCategorizationElementRenderer categorizatrionElementRenderer = new SWTCategorizationElementRenderer(
+ categorizationElement, vmc, reportService, emfFormsRendererFactory);
+ categorizatrionElementRenderer.init();
final Control render = categorizatrionElementRenderer.render(gridCell, shell);
assertTrue(Composite.class.isInstance(render));
assertEquals(2, Composite.class.cast(render).getChildren().length);
@@ -78,9 +80,8 @@
@Test
public void testCategorizationElementTabRenderer() throws NoRendererFoundException,
NoPropertyDescriptorFoundExeption {
- final SWTRendererFactory factory = mock(SWTRendererFactory.class);
- final CategorizationElementTabbedSWTRenderer categorizatrionElementRenderer = new CategorizationElementTabbedSWTRenderer(
- factory);
+ final ReportService reportService = mock(ReportService.class);
+ final EMFFormsRendererFactory emfFormsRendererFactory = mock(EMFFormsRendererFactory.class);
final SWTGridCell gridCell = mock(SWTGridCell.class);
final Shell shell = new Shell();
@@ -88,7 +89,9 @@
final EList<VAbstractCategorization> categorizations = new BasicEList<VAbstractCategorization>();
when(categorizationElement.getCategorizations()).thenReturn(categorizations);
final ViewModelContext vmc = mock(ViewModelContext.class);
- categorizatrionElementRenderer.init(categorizationElement, vmc);
+ final CategorizationElementTabbedSWTRenderer categorizatrionElementRenderer = new CategorizationElementTabbedSWTRenderer(
+ categorizationElement, vmc, reportService, emfFormsRendererFactory);
+ categorizatrionElementRenderer.init();
final Control render = categorizatrionElementRenderer.render(gridCell, shell);
assertTrue(CTabFolder.class.isInstance(render));
}
@@ -96,9 +99,8 @@
@Test
public void testCompositeCategoryTreeRenderer() throws NoRendererFoundException,
NoPropertyDescriptorFoundExeption {
- final SWTRendererFactory factory = mock(SWTRendererFactory.class);
- final CompositeCategoryJFaceTreeRenderer categorizatrionElementRenderer = new CompositeCategoryJFaceTreeRenderer(
- factory);
+ final ReportService reportService = mock(ReportService.class);
+ final EMFFormsRendererFactory emfFormsRendererFactory = mock(EMFFormsRendererFactory.class);
final SWTGridCell gridCell = mock(SWTGridCell.class);
final Shell shell = new Shell();
@@ -116,7 +118,9 @@
when(categorization.eContainer()).thenReturn(categorizationElement);
final ViewModelContext vmc = mock(ViewModelContext.class);
- categorizatrionElementRenderer.init(categorization, vmc);
+ final CompositeCategoryJFaceTreeRenderer categorizatrionElementRenderer = new CompositeCategoryJFaceTreeRenderer(
+ categorization, vmc, reportService, emfFormsRendererFactory);
+ categorizatrionElementRenderer.init();
final Control render = categorizatrionElementRenderer.render(gridCell, shell);
assertTrue(Composite.class.isInstance(render));
assertEquals(2, Composite.class.cast(render).getChildren().length);
@@ -127,9 +131,8 @@
@Test
public void testCompositeCategoryElementTabRenderer() throws NoRendererFoundException,
NoPropertyDescriptorFoundExeption {
- final SWTRendererFactory factory = mock(SWTRendererFactory.class);
- final CompositeCategorySWTTabRenderer categorizatrionElementRenderer = new CompositeCategorySWTTabRenderer(
- factory);
+ final ReportService reportService = mock(ReportService.class);
+ final EMFFormsRendererFactory emfFormsRendererFactory = mock(EMFFormsRendererFactory.class);
final SWTGridCell gridCell = mock(SWTGridCell.class);
final Shell shell = new Shell();
@@ -140,7 +143,9 @@
when(categorization.getCategorizations()).thenReturn(new BasicEList<VAbstractCategorization>());
when(categorizationElement.getCategorizations()).thenReturn(categorizations);
final ViewModelContext vmc = mock(ViewModelContext.class);
- categorizatrionElementRenderer.init(categorization, vmc);
+ final CompositeCategorySWTTabRenderer categorizatrionElementRenderer = new CompositeCategorySWTTabRenderer(
+ categorization, vmc, reportService, emfFormsRendererFactory);
+ categorizatrionElementRenderer.init();
final Control render = categorizatrionElementRenderer.render(gridCell, shell);
assertTrue(CTabFolder.class.isInstance(render));
}
diff --git a/tests/org.eclipse.emf.ecp.view.context.test/ContextTests.launch b/tests/org.eclipse.emf.ecp.view.context.test/ContextTests.launch
new file mode 100644
index 0000000..9c7b8b0
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.context.test/ContextTests.launch
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<setAttribute key="additional_plugins">
+<setEntry value="org.eclipse.emfforms.core.services.emf:1.6.0.qualifier:default:true"/>
+<setEntry value="org.eclipse.emfforms.core.services:1.6.0.qualifier:default:true"/>
+<setEntry value="org.eclipse.emfforms.localization.default:1.6.0.qualifier:default:true"/>
+<setEntry value="org.eclipse.equinox.ds:1.4.200.v20131126-2331:default:false"/>
+<setEntry value="org.hamcrest.library:1.3.0.v201305281000:default:false"/>
+<setEntry value="org.junit:4.11.0.v201303080030:default:false"/>
+<setEntry value="org.mockito.mockito-all:1.9.5:default:false"/>
+</setAttribute>
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bad_container_name" value="\org.eclipse.emf.ecp.view.context.test\ContextTest"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<stringAttribute key="featureDefaultLocation" value="workspace"/>
+<stringAttribute key="featurePluginResolution" value="workspace"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.context.reporting.test.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.context.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<setAttribute key="selected_features">
+<setEntry value="org.eclipse.emf.ecp.viewmodel.feature:default"/>
+</setAttribute>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.nl_de@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.nl_de@default:false,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.nl_de@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="true"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emf.ecp.view.context.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.context.test/META-INF/MANIFEST.MF
index 1fc3723..239ec92 100644
--- a/tests/org.eclipse.emf.ecp.view.context.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.context.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Test
Bundle-SymbolicName: org.eclipse.emf.ecp.view.context.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
@@ -12,9 +12,15 @@
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
- org.hamcrest.library;bundle-version="[1.3.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.view.context;version="1.5.1";x-int
+ org.hamcrest.library;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.6.0,2.0.0)",
+ org.mockito.mockito-all;bundle-version="1.9.5",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.view.context;version="1.6.0";x-int
ernal:=true,org.eclipse.emf.ecp.view.context.reporting.test;version="
- 1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.context.test.mockup;
- version="1.5.1";x-internal:=true
-Import-Package: org.eclipse.swt.widgets;version="0.0.0"
+ 1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.context.test.mockup;
+ version="1.6.0";x-internal:=true
+Import-Package: org.eclipse.emfforms.spi.common.locale;version="1.6.0",
+ org.eclipse.swt.widgets;version="0.0.0"
diff --git a/tests/org.eclipse.emf.ecp.view.context.test/ViewModelContextTest.launch b/tests/org.eclipse.emf.ecp.view.context.test/ViewModelContextTest.launch
deleted file mode 100644
index 114d912..0000000
--- a/tests/org.eclipse.emf.ecp.view.context.test/ViewModelContextTest.launch
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="false"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/ViewModelContextTest.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.context.ViewModelContextTest"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.context.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.emf.cdo.server.product.tcp_h2"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client.model.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model.edit@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model.edit@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="false"/>
-</launchConfiguration>
diff --git a/tests/org.eclipse.emf.ecp.view.context.test/pom.xml b/tests/org.eclipse.emf.ecp.view.context.test/pom.xml
index 2e3486a..08c33b6 100644
--- a/tests/org.eclipse.emf.ecp.view.context.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.context.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.context.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -19,31 +19,22 @@
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
+ <artifactId>target-platform-configuration</artifactId>
<configuration>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.emfstore.example.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/AllTests.java b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/AllTests.java
new file mode 100644
index 0000000..8f8cf0a
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/AllTests.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.context.reporting.test;
+
+import org.eclipse.emf.ecp.view.context.ViewModelContext_PTest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+@RunWith(Suite.class)
+@SuiteClasses({ ViewModelContext_PTest.class, RendererError_PTest.class })
+public class AllTests {
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/FailingRenderer.java b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/FailingRenderer.java
new file mode 100644
index 0000000..3a3f822
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/FailingRenderer.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Jonas - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.context.reporting.test;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
+import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+/**
+ * @author Jonas
+ *
+ */
+public class FailingRenderer extends AbstractSWTRenderer<VElement> {
+
+ /**
+ * @param vElement
+ * @param viewContext
+ * @param reportService
+ */
+ public FailingRenderer(VView vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#getGridDescription(org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription)
+ */
+ @Override
+ public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
+ * org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Control renderControl(SWTGridCell cell, Composite parent) throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected void postInit() {
+ throw new RuntimeException();
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/RendererError_PTest.java b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/RendererError_PTest.java
index f8a8d42..90a7142 100644
--- a/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/RendererError_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/RendererError_PTest.java
@@ -20,20 +20,18 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecp.ui.view.ECPRendererException;
+import org.eclipse.emf.ecp.view.context.reporting.test.TestSWTRendererFactory.TestEMFFormsRendererService;
import org.eclipse.emf.ecp.view.context.test.mockup.MockViewSWTRenderer;
import org.eclipse.emf.ecp.view.internal.core.swt.renderer.ViewSWTRenderer;
import org.eclipse.emf.ecp.view.internal.provider.ViewProviderImpl;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.model.impl.Activator;
-import org.eclipse.emf.ecp.view.spi.model.reporting.ReportService;
import org.eclipse.emf.ecp.view.spi.provider.IViewProvider;
import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
import org.eclipse.emf.ecp.view.spi.provider.reporting.NoViewProviderFoundReport;
import org.eclipse.emf.ecp.view.spi.provider.reporting.ViewModelIsNullReport;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
import org.eclipse.emf.ecp.view.spi.swt.reporting.AmbiguousRendererPriorityReport;
import org.eclipse.emf.ecp.view.spi.swt.reporting.InvalidGridDescriptionReport;
import org.eclipse.emf.ecp.view.spi.swt.reporting.NoRendererFoundReport;
@@ -43,6 +41,7 @@
import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper;
import org.eclipse.emf.emfstore.bowling.BowlingFactory;
import org.eclipse.emf.emfstore.bowling.League;
+import org.eclipse.emfforms.spi.common.report.ReportService;
import org.eclipse.swt.widgets.Shell;
import org.junit.After;
import org.junit.Before;
@@ -88,67 +87,71 @@
}
@Test
+ @Ignore
+ // this test should not be here but on the emfformsrendererFactory
public void missingRenderer() throws ECPRendererException {
- swtViewTestHelper.clearRenderers();
swtViewTestHelper.render(shell, viewContext);
assertThat(reportService.getReports(), hasSize(1));
assertThat(reportService.getReports().get(0), instanceOf(NoRendererFoundReport.class));
}
@Test
+ @Ignore
public void rendererInit() throws ECPRendererException {
- final ViewSWTRenderer failingInitRenderer = new ViewSWTRenderer() {
- @Override
- protected void postInit() {
- throw new RuntimeException();
- }
- };
- swtViewTestHelper.registerRenderer(3, cast(failingInitRenderer.getClass()), VView.class);
+ final TestEMFFormsRendererService registerRenderer = swtViewTestHelper.registerRenderer(3, new FailingRenderer(
+ view, viewContext, reportService), VView.class);
swtViewTestHelper.render(shell, viewContext);
+ swtViewTestHelper.deleteRegisteredRenderer(registerRenderer);
assertThat(reportService.getReports(), hasSize(1));
assertThat(reportService.getReports().get(0), instanceOf(RendererInitFailedReport.class));
}
@Test
+ @Ignore
public void samePriorityRenderers() throws ECPRendererException {
// modifiableSWTViewTestHelper.clearRenderers();
- final ViewSWTRenderer viewRenderer = new ViewSWTRenderer();
+ final ViewSWTRenderer viewRenderer = MockViewSWTRenderer.newRenderer();
- swtViewTestHelper.registerRenderer(1, cast(viewRenderer.getClass()), VView.class);
+ final TestEMFFormsRendererService registerRenderer = swtViewTestHelper.registerRenderer(1, viewRenderer,
+ VView.class);
swtViewTestHelper.render(shell, viewContext);
+ swtViewTestHelper.deleteRegisteredRenderer(registerRenderer);
assertThat(reportService.getReports(), hasSize(1));
assertThat(reportService.getReports().get(0), instanceOf(AmbiguousRendererPriorityReport.class));
}
@Test
public void invalidGridDescription() throws ECPRendererException {
- swtViewTestHelper.replaceViewRenderer(1, cast(
- MockViewSWTRenderer.withInvalidGridDescription().getClass()), VView.class);
+ final TestEMFFormsRendererService registerRenderer = swtViewTestHelper.registerRenderer(5,
+ MockViewSWTRenderer.withInvalidGridDescription(), VView.class);
swtViewTestHelper.render(shell, viewContext);
+ swtViewTestHelper.deleteRegisteredRenderer(registerRenderer);
assertThat(reportService.getReports(), hasSize(1));
assertThat(reportService.getReports().get(0), instanceOf(InvalidGridDescriptionReport.class));
}
@Test
public void noRendererFound() throws ECPRendererException {
- swtViewTestHelper.replaceViewRenderer(1, cast(
- MockViewSWTRenderer.withoutPropertyDescriptor().getClass()), VView.class);
+ final TestEMFFormsRendererService registerRenderer = swtViewTestHelper.registerRenderer(5,
+ MockViewSWTRenderer.withoutPropertyDescriptor(), VView.class);
swtViewTestHelper.render(shell, viewContext);
+ swtViewTestHelper.deleteRegisteredRenderer(registerRenderer);
assertThat(reportService.getReports(), hasSize(1));
assertThat(reportService.getReports().get(0), instanceOf(RenderingFailedReport.class));
}
@Test
public void noPropertyDescriptorFound() throws ECPRendererException {
- swtViewTestHelper.replaceViewRenderer(1, cast(
- MockViewSWTRenderer.withoutPropertyDescriptor().getClass()), VView.class);
+ final TestEMFFormsRendererService registerRenderer = swtViewTestHelper.registerRenderer(5,
+ MockViewSWTRenderer.withoutPropertyDescriptor(), VView.class);
swtViewTestHelper.render(shell, viewContext);
+ swtViewTestHelper.deleteRegisteredRenderer(registerRenderer);
assertThat(reportService.getReports(), hasSize(1));
assertThat(reportService.getReports().get(0), instanceOf(RenderingFailedReport.class));
}
@@ -192,9 +195,4 @@
assertThat(reportService.getReports(), hasSize(1));
assertThat(reportService.getReports().get(0), instanceOf(NoViewProviderFoundReport.class));
}
-
- @SuppressWarnings({ "unchecked" })
- private Class<AbstractSWTRenderer<VElement>> cast(Class<?> clazz) {
- return (Class<AbstractSWTRenderer<VElement>>) clazz;
- }
}
diff --git a/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/TestSWTRendererFactory.java b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/TestSWTRendererFactory.java
index b697439..acd1be3 100644
--- a/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/TestSWTRendererFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/reporting/test/TestSWTRendererFactory.java
@@ -11,20 +11,19 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.context.reporting.test;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
import org.eclipse.emf.ecp.ui.view.ECPRendererException;
import org.eclipse.emf.ecp.ui.view.swt.ECPSWTView;
-import org.eclipse.emf.ecp.view.internal.swt.ECPRendererDescription;
import org.eclipse.emf.ecp.view.internal.swt.ECPSWTViewRendererImpl;
-import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
-import org.eclipse.emf.ecp.view.model.common.ECPStaticRendererTester;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
+import org.eclipse.emfforms.internal.swt.core.EMFFormsRendererFactoryImpl;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService;
import org.eclipse.swt.widgets.Composite;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
/**
* SWT Test renderer factory that allows to register and unregister renderers.
@@ -34,10 +33,13 @@
*/
public class TestSWTRendererFactory {
- private final SWTTestRendererFactoryImpl factory;
+ private final EMFFormsRendererFactoryImpl factory;
public TestSWTRendererFactory() {
- factory = new SWTTestRendererFactoryImpl();
+ final BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final ServiceReference<EMFFormsRendererFactory> serviceReference = bundleContext
+ .getServiceReference(EMFFormsRendererFactory.class);
+ factory = (EMFFormsRendererFactoryImpl) bundleContext.getService(serviceReference);
}
public void clearRenderers() {
@@ -46,31 +48,58 @@
public ECPSWTView render(Composite parent, ViewModelContext viewModelContext) throws ECPRendererException {
final ECPSWTViewRendererImpl renderer = new ECPSWTViewRendererImpl() {
- @Override
- protected SWTRendererFactory createFactory() {
- return factory;
- }
};
return renderer.render(parent, viewModelContext);
}
- public void registerRenderer(int priority,
- Class<AbstractSWTRenderer<VElement>> class1,
- Class<? extends VElement> supportedEObject) {
-
- final Set<ECPRendererTester> tester = new LinkedHashSet<ECPRendererTester>();
- tester.add(new ECPStaticRendererTester(priority, supportedEObject));
- final ECPRendererDescription descriptor = new ECPRendererDescription(class1, tester);
- factory.registerRenderer(descriptor);
+ public TestEMFFormsRendererService registerRenderer(int priority, AbstractSWTRenderer renderer,
+ Class<?> supportedEClass) {
+ final TestEMFFormsRendererService rendererService = new TestEMFFormsRendererService(priority, renderer,
+ supportedEClass);
+ factory.addEMFFormsRendererService(rendererService);
+ return rendererService;
}
- public void replaceViewRenderer(int priority, Class<AbstractSWTRenderer<VElement>> class1,
- Class<? extends VElement> supportedEObject) {
-
- final Set<ECPRendererTester> tester = new LinkedHashSet<ECPRendererTester>();
- tester.add(new ECPStaticRendererTester(priority, supportedEObject));
- final ECPRendererDescription descriptor = new ECPRendererDescription(class1, tester);
- factory.replaceViewRenderer(descriptor);
+ public void deleteRegisteredRenderer(TestEMFFormsRendererService rendererService) {
+ factory.removeEMFFormsRendererService(rendererService);
}
+ public static class TestEMFFormsRendererService implements EMFFormsRendererService {
+
+ private final double priority;
+ private final AbstractSWTRenderer renderer;
+ private final Class<?> supportedEClass;
+
+ public TestEMFFormsRendererService(double priority, AbstractSWTRenderer renderer, Class<?> supportedEClass) {
+ this.priority = priority;
+ this.renderer = renderer;
+ this.supportedEClass = supportedEClass;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#isApplicable(VElement,ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (supportedEClass.isInstance(vElement)) {
+ return priority;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public AbstractSWTRenderer getRendererInstance(VElement vElement, ViewModelContext viewModelContext) {
+
+ return renderer;
+ }
+
+ }
}
diff --git a/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/MockViewSWTRenderer.java b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/MockViewSWTRenderer.java
index 83d4d23..ac4fa02 100644
--- a/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/MockViewSWTRenderer.java
+++ b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/MockViewSWTRenderer.java
@@ -11,23 +11,55 @@
******************************************************************************/
package org.eclipse.emf.ecp.view.context.test.mockup;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecp.view.internal.context.ViewModelContextImpl;
import org.eclipse.emf.ecp.view.internal.core.swt.renderer.ViewSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.mockito.Mockito;
public final class MockViewSWTRenderer {
- private MockViewSWTRenderer() {
+ // private static ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ // private static VView vElement = mock(VView.class);
+ // private static SWTRendererFactory rendererFactory = mock(SWTRendererFactory.class);
+
+ private static VView vElement = VViewFactory.eINSTANCE.createView();
+ private static ViewModelContext viewModelContext = new ViewModelContextImpl(vElement,
+ EcoreFactory.eINSTANCE.createEObject());
+ private static ReportService reportService = Mockito.mock(ReportService.class);
+
+ private static EMFFormsDatabinding emfFormsDatabinding = Mockito.mock(EMFFormsDatabinding.class);
+ private static EMFFormsRendererFactory emfFormsRendererFactory = Mockito.mock(EMFFormsRendererFactory.class);
+ private static EMFFormsLocaleProvider emfFormsLocaleProvider = Mockito.mock(EMFFormsLocaleProvider.class);
+
+ public MockViewSWTRenderer(VView vElement, ViewModelContext viewModelContext, ReportService rendererFactory) {
+
}
public static ViewSWTRenderer withInvalidGridDescription() {
- return new ViewSWTRendererWithInvalidGridDescription();
+ return new ViewSWTRendererWithInvalidGridDescription(vElement, viewModelContext, reportService,
+ emfFormsLocaleProvider);
}
public static ViewSWTRenderer withoutPropertyDescriptor() {
- return new ViewSWTRendererWithNoPropertyDescriptorFoundException();
+ return new ViewSWTRendererWithNoPropertyDescriptorFoundException(vElement, viewModelContext, reportService,
+ emfFormsLocaleProvider);
}
public static ViewSWTRenderer withoutRenderer() {
- return new ViewSWTRendererWithNoRendererFoundException();
+ return new ViewSWTRendererWithNoRendererFoundException(vElement, viewModelContext, reportService,
+ emfFormsLocaleProvider);
+ }
+
+ public static ViewSWTRenderer newRenderer() {
+ return new ViewSWTRenderer(vElement, viewModelContext, reportService, emfFormsRendererFactory,
+ emfFormsDatabinding, emfFormsLocaleProvider);
}
}
diff --git a/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/ViewSWTRendererWithInvalidGridDescription.java b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/ViewSWTRendererWithInvalidGridDescription.java
index c428663..a84a97a 100644
--- a/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/ViewSWTRendererWithInvalidGridDescription.java
+++ b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/ViewSWTRendererWithInvalidGridDescription.java
@@ -12,11 +12,26 @@
package org.eclipse.emf.ecp.view.context.test.mockup;
import org.eclipse.emf.ecp.view.internal.core.swt.renderer.ViewSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
public class ViewSWTRendererWithInvalidGridDescription extends ViewSWTRenderer {
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param factory the {@link SWTRendererFactory}
+ */
+ public ViewSWTRendererWithInvalidGridDescription(VView vElement, ViewModelContext viewContext,
+ ReportService factory, EMFFormsLocaleProvider localeProvider) {
+ super(vElement, viewContext, factory, null, null, localeProvider);
+ }
+
@Override
public SWTGridDescription getGridDescription(
SWTGridDescription gridDescription) {
diff --git a/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/ViewSWTRendererWithNoPropertyDescriptorFoundException.java b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/ViewSWTRendererWithNoPropertyDescriptorFoundException.java
index 1e5671b..6f4f483 100644
--- a/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/ViewSWTRendererWithNoPropertyDescriptorFoundException.java
+++ b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/ViewSWTRendererWithNoPropertyDescriptorFoundException.java
@@ -12,17 +12,28 @@
package org.eclipse.emf.ecp.view.context.test.mockup;
import org.eclipse.emf.ecp.view.internal.core.swt.renderer.ViewSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
+import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
import org.eclipse.emf.emfstore.bowling.BowlingPackage;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
public class ViewSWTRendererWithNoPropertyDescriptorFoundException extends ViewSWTRenderer {
- public ViewSWTRendererWithNoPropertyDescriptorFoundException() {
-
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param factory the {@link SWTRendererFactory}
+ */
+ public ViewSWTRendererWithNoPropertyDescriptorFoundException(VView vElement, ViewModelContext viewContext,
+ ReportService factory, EMFFormsLocaleProvider localeProvider) {
+ super(vElement, viewContext, factory, null, null, localeProvider);
}
@Override
diff --git a/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/ViewSWTRendererWithNoRendererFoundException.java b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/ViewSWTRendererWithNoRendererFoundException.java
index aa80970..b8aae70 100644
--- a/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/ViewSWTRendererWithNoRendererFoundException.java
+++ b/tests/org.eclipse.emf.ecp.view.context.test/src/org/eclipse/emf/ecp/view/context/test/mockup/ViewSWTRendererWithNoRendererFoundException.java
@@ -12,16 +12,26 @@
package org.eclipse.emf.ecp.view.context.test.mockup;
import org.eclipse.emf.ecp.view.internal.core.swt.renderer.ViewSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
public class ViewSWTRendererWithNoRendererFoundException extends ViewSWTRenderer {
- public ViewSWTRendererWithNoRendererFoundException() {
-
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public ViewSWTRendererWithNoRendererFoundException(VView vElement, ViewModelContext viewContext,
+ ReportService reportService, EMFFormsLocaleProvider localeProvider) {
+ super(vElement, viewContext, reportService, null, null, localeProvider);
}
@Override
diff --git a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.checkstyle b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.checkstyle
new file mode 100644
index 0000000..32e02a4
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.checkstyle
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="c" location="esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.classpath b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.project b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.project
new file mode 100644
index 0000000..449e591
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.ecp.view.control.multireference.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs
copy to tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emf.ecp.view.control.multireference.tests/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/AllPluginTests for view.control.multireference.launch b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/AllPluginTests for view.control.multireference.launch
new file mode 100644
index 0000000..066db74
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/AllPluginTests for view.control.multireference.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/control/multireference/tests/AllPluginTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.control.multireference.tests.AllPluginTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.control.multireference.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference.tests@default:false,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emf.emfforms.localization@default:default,org.eclipse.emfforms.core.services.databinding.testmodel@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.swt.core@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..4ee7f97
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Multi Reference Control Tests
+Bundle-SymbolicName: org.eclipse.emf.ecp.view.control.multireference.tests
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Fragment-Host: org.eclipse.emf.ecp.view.control.multireference;bundle-version="[1.5.0,2.0.0)"
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.6.0,2.0.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="[1.1.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.emf.ecp.view.control.multireference.tests;
+ version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.internal.co
+ ntrol.multireference;version="1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/build.properties b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/build.properties
new file mode 100644
index 0000000..41eb6ad
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/pom.xml b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/pom.xml
new file mode 100644
index 0000000..9353a49
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/pom.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <artifactId>org.eclipse.emf.ecp.view.control.multireference.tests</artifactId>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>true</useUIHarness>
+ <useUIThread>true</useUIThread>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.template.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.emfforms.runtime.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/control/multireference/tests/AllPluginTests.java b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/control/multireference/tests/AllPluginTests.java
new file mode 100644
index 0000000..d1d1319
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/control/multireference/tests/AllPluginTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.control.multireference.tests;
+
+import org.eclipse.emf.ecp.view.internal.control.multireference.MultiReferenceRenderer_PTest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * JUnit test suite for all plugin tests for view.control.multireference.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ MultiReferenceRenderer_PTest.class })
+public class AllPluginTests {
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceRenderer_PTest.java
new file mode 100644
index 0000000..04a52e2
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.control.multireference.tests/src/org/eclipse/emf/ecp/view/internal/control/multireference/MultiReferenceRenderer_PTest.java
@@ -0,0 +1,287 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.control.multireference;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.Observables;
+import org.eclipse.core.databinding.observable.Realm;
+import org.eclipse.core.databinding.observable.list.IObservableList;
+import org.eclipse.core.databinding.observable.list.WritableList;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.DomainModelReferenceChangeListener;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
+import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
+import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+
+/**
+ * JUnit plugin tests for {@link MultiReferenceSWTRenderer}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@RunWith(DatabindingClassRunner.class)
+public class MultiReferenceRenderer_PTest {
+ private static final String TEST_DESCRIPTION = "test-description"; //$NON-NLS-1$
+ private static final String TEST_DISPLAYNAME = "test-displayName"; //$NON-NLS-1$
+ private static Realm realm;
+ private EMFFormsDatabinding databindingService;
+ private MultiReferenceSWTRenderer renderer;
+ private Shell shell;
+ private EMFFormsLabelProvider labelProvider;
+
+ /**
+ * Get {@link Realm} for the tests.
+ */
+ @BeforeClass
+ public static void setUpBeforeClass() {
+ realm = Realm.getDefault();
+
+ }
+
+ /**
+ * Set up executed before every test.
+ * Mocks and registers the databinding and label services.
+ * Creates a new {@link MultiReferenceSWTRenderer} to be tested. Mocks needed parameters and contents (e.g.
+ * VControl, ViewModelContext).
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ * @throws NoLabelFoundException
+ */
+ @Before
+ public void setUp() throws DatabindingFailedException, NoLabelFoundException {
+ databindingService = mock(EMFFormsDatabinding.class);
+ labelProvider = mock(EMFFormsLabelProvider.class);
+ when(labelProvider.getDescription(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ Observables.constantObservableValue(TEST_DESCRIPTION));
+ when(labelProvider.getDisplayName(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ Observables.constantObservableValue(TEST_DISPLAYNAME));
+
+ shell = new Shell();
+
+ final D eObject = TestFactory.eINSTANCE.createD();
+ final EStructuralFeature eStructuralFeature = TestPackage.eINSTANCE.getD_YList();
+
+ final ReportService reportService = mock(ReportService.class);
+ final ViewModelContext viewContext = mock(ViewModelContext.class);
+ final VControl vControl = Mockito.mock(VControl.class);
+ final Setting setting = mock(Setting.class);
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+
+ when(viewContext.getDomainModel()).thenReturn(eObject);
+ when(viewContext.getViewModel()).thenReturn(vControl);
+
+ when(vControl.getDomainModelReference()).thenReturn(domainModelReference);
+
+ when(setting.getEObject()).thenReturn(eObject);
+ when(setting.getEStructuralFeature()).thenReturn(eStructuralFeature);
+
+ final BasicEList<DomainModelReferenceChangeListener> changeListener = new BasicEList<DomainModelReferenceChangeListener>();
+ when(domainModelReference.getChangeListener()).thenReturn(changeListener);
+
+ final ImageRegistryService imageRegistryService = mock(ImageRegistryService.class);
+ final VTViewTemplateProvider templateProvider = mock(VTViewTemplateProvider.class);
+
+ renderer = new MultiReferenceSWTRenderer(vControl, viewContext, reportService, databindingService,
+ labelProvider, templateProvider, imageRegistryService);
+ renderer.init();
+ }
+
+ /**
+ * Unregister databinding and label service after every test.
+ */
+ @After
+ public void tearDown() {
+ }
+
+ /**
+ * Test if the initial data binding is working.
+ *
+ * @throws NoRendererFoundException Renderer could not be found
+ * @throws NoPropertyDescriptorFoundExeption Property descriptor could not be found
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testDatabindingServiceUsageInitialBinding() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final List<Integer> initialList = new LinkedList<Integer>();
+ initialList.add(2);
+ initialList.add(4);
+ final WritableList mockedObservableList = new WritableList(realm, initialList, Integer.class);
+
+ final Table table = setUpDatabindingTests(mockedObservableList);
+
+ assertEquals(mockedObservableList.size(), table.getItemCount());
+ for (int i = 0; i < mockedObservableList.size(); i++) {
+ assertEquals(mockedObservableList.get(i).toString(), table.getItems()[i].getText(0));
+ }
+ }
+
+ /**
+ * Tests whether adding values to the model is reflected in the control.
+ *
+ * @throws NoRendererFoundException Renderer could not be found
+ * @throws NoPropertyDescriptorFoundExeption Property descriptor could not be found
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testDatabindingServiceUsageAddToModel() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final List<Integer> initialList = new LinkedList<Integer>();
+ initialList.add(2);
+ initialList.add(4);
+ final WritableList mockedObservableList = new WritableList(realm, initialList, Integer.class);
+
+ final Table table = setUpDatabindingTests(mockedObservableList);
+
+ mockedObservableList.add(new Integer(6));
+
+ assertEquals(mockedObservableList.size(), table.getItemCount());
+ for (int i = 0; i < mockedObservableList.size(); i++) {
+ assertEquals(mockedObservableList.get(i).toString(), table.getItems()[i].getText(0));
+ }
+ }
+
+ /**
+ * Tests whether removing values to the model is reflected in the control.
+ *
+ * @throws NoRendererFoundException Renderer could not be found
+ * @throws NoPropertyDescriptorFoundExeption Property descriptor could not be found
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testDatabindingServiceUsageRemoveFromModel() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final List<Integer> initialList = new LinkedList<Integer>();
+ initialList.add(2);
+ initialList.add(4);
+ final WritableList mockedObservableList = new WritableList(realm, initialList, Integer.class);
+
+ final Table table = setUpDatabindingTests(mockedObservableList);
+
+ mockedObservableList.remove(0);
+
+ assertEquals(mockedObservableList.size(), table.getItemCount());
+ for (int i = 0; i < mockedObservableList.size(); i++) {
+ assertEquals(mockedObservableList.get(i).toString(), table.getItems()[i].getText(0));
+ }
+ }
+
+ /**
+ * Tests whether changing values of the model is reflected in the control.
+ *
+ * @throws NoRendererFoundException Renderer could not be found
+ * @throws NoPropertyDescriptorFoundExeption Property descriptor could not be found
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testDatabindingServiceUsageChangeModel() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final List<Integer> initialList = new LinkedList<Integer>();
+ initialList.add(2);
+ initialList.add(4);
+ final WritableList mockedObservableList = new WritableList(realm, initialList, Integer.class);
+
+ final Table table = setUpDatabindingTests(mockedObservableList);
+
+ mockedObservableList.set(1, 7);
+
+ assertEquals(mockedObservableList.size(), table.getItemCount());
+ for (int i = 0; i < mockedObservableList.size(); i++) {
+ assertEquals(mockedObservableList.get(i).toString(), table.getItems()[i].getText(0));
+ }
+ }
+
+ private Table setUpDatabindingTests(IObservableList mockedObservableList) throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ when(databindingService.getObservableList(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservableList);
+ final TestObservableValue observableValue = mock(TestObservableValue.class);
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ observableValue);
+ when(observableValue.getObserved()).thenReturn(mock(EObject.class));
+ final Composite composite = (Composite) renderer.render(new SWTGridCell(0, 0, renderer), shell);
+ final Composite controlComposite = (Composite) composite.getChildren()[1];
+ final Table table = (Table) controlComposite.getChildren()[0];
+
+ return table;
+ }
+
+ /**
+ * Tests whether a {@link EMFFormsLabelProvider} is used to get labels.
+ *
+ * @throws NoRendererFoundException Renderer could not be found
+ * @throws NoPropertyDescriptorFoundExeption Property descriptor could not be found
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testLabelServiceUsage() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ DatabindingFailedException {
+
+ final TestObservableValue observableValue = mock(TestObservableValue.class);
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ observableValue);
+ when(observableValue.getObserved()).thenReturn(mock(EObject.class));
+
+ final Composite composite = (Composite) renderer.render(new SWTGridCell(0, 0, renderer), shell);
+ final Composite controlComposite = (Composite) composite.getChildren()[1];
+ final Table table = (Table) controlComposite.getChildren()[0];
+
+ final TableColumn column = table.getColumn(0);
+ assertEquals(TEST_DISPLAYNAME, column.getText());
+ assertEquals(TEST_DESCRIPTION, column.getToolTipText());
+ }
+
+ /**
+ * Helper Interface for mocking.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+ public interface TestObservableValue extends IObservableValue, IObserving {
+ }
+}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/.gitignore b/tests/org.eclipse.emf.ecp.view.core.swt.tests/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/AllPluginTests core.swt.launch b/tests/org.eclipse.emf.ecp.view.core.swt.tests/AllPluginTests core.swt.launch
new file mode 100644
index 0000000..65395f1
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/AllPluginTests core.swt.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/AllPluginTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.core.swt.tests.AllPluginTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.core.swt.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.view.model.localization@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/AllTests ecp.view.core.swt.launch b/tests/org.eclipse.emf.ecp.view.core.swt.tests/AllTests ecp.view.core.swt.launch
new file mode 100644
index 0000000..c6de550
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/AllTests ecp.view.core.swt.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.core.swt.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.core.swt.tests"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.core.swt.tests/META-INF/MANIFEST.MF
index ac2bf5c..55fda1d 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.core.swt.tests;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Fragment-Host: org.eclipse.emf.ecp.view.core.swt;bundle-version="1.4.0"
+Fragment-Host: org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.6.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.core.swt.test.model;version="
- 1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.core.swt.test.model.
- impl;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.core.s
- wt.test.model.util;version="1.5.1";x-internal:=true,org.eclipse.emf.e
- cp.view.core.swt.tests;version="1.5.1";x-internal:=true,org.eclipse.e
- mf.ecp.view.internal.core.swt.renderer;version="1.5.1";x-internal:=tr
- ue,org.eclipse.emf.ecp.view.spi.core.swt.renderer;version="1.5.1"
+ 1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.core.swt.test.model.
+ impl;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.core.s
+ wt.test.model.util;version="1.6.0";x-internal:=true,org.eclipse.emf.e
+ cp.view.core.swt.tests;version="1.6.0";x-internal:=true,org.eclipse.e
+ mf.ecp.view.internal.core.swt.renderer;version="1.6.0";x-internal:=tr
+ ue,org.eclipse.emf.ecp.view.spi.core.swt.renderer;version="1.6.0"
Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
@@ -22,5 +22,10 @@
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
org.eclipse.emf.emfstore.examplemodel.edit;bundle-version="[1.3.0,2.0.0)",
- org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)"
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.view.swt.layout;bundle-version="[1.5.0,2.0.0)"
Bundle-ActivationPolicy: lazy
+Import-Package: com.ibm.icu.text;version="52.1.1",
+ org.eclipse.swt.widgets;version="0.0.0"
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/build.properties b/tests/org.eclipse.emf.ecp.view.core.swt.tests/build.properties
index 37e8828..337661f 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/build.properties
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/build.properties
@@ -1,8 +1,20 @@
-#
+# /*******************************************************************************
+# * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+# *
+# * All rights reserved. This program and the accompanying materials
+# * are made available under the terms of the Eclipse Public License v1.0
+# * which accompanies this distribution, and is available at
+# * http://www.eclipse.org/legal/epl-v10.html
+# *
+# * Contributors:
+# * Eugen Neufeld - initial API and implementation
+# * Lucas Koehler - extension for EnumComboViewerRenderer_PTest
+# ******************************************************************************/
bin.includes = .,\
model/,\
META-INF/,\
+ plugin.xml,\
plugin.properties
jars.compile.order = .
source.. = src/
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/model/test.ecore b/tests/org.eclipse.emf.ecp.view.core.swt.tests/model/test.ecore
index b8d064d..70ed261 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/model/test.ecore
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/model/test.ecore
@@ -4,6 +4,12 @@
<eClassifiers xsi:type="ecore:EClass" name="SimpleTestObject">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="date" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="xmlDate" eType="#//XMLDate"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="myEnum" eType="#//TestEnum"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="TestEnum" instanceTypeName="TestEnum">
+ <eLiterals name="a"/>
+ <eLiterals name="b" value="1"/>
+ <eLiterals name="c" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="XMLDate" instanceClassName="javax.xml.datatype.XMLGregorianCalendar"/>
</ecore:EPackage>
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/model/test.genmodel b/tests/org.eclipse.emf.ecp.view.core.swt.tests/model/test.genmodel
index a26e51a..209c6bd 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/model/test.genmodel
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/model/test.genmodel
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.ecp.view.core.swt.tests/src" modelPluginID="org.eclipse.emf.ecp.view.core.swt.tests"
- modelName="Test" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html

Contributors:
Eugen Neufeld - initial API and implementation
Lucas Koehler - extension for EnumComboViewerRenderer_PTest"
+ modelDirectory="/org.eclipse.emf.ecp.view.core.swt.tests/src" modelPluginID="org.eclipse.emf.ecp.view.core.swt.tests"
+ modelName="Test" nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
operationReflection="true" importOrganizing="true">
<foreignModel>test.ecore</foreignModel>
@@ -9,10 +10,15 @@
interfacePackageSuffix="model" metaDataPackageSuffix="model" classPackageSuffix="model.impl"
utilityPackageSuffix="model.util" providerPackageSuffix="model.provider" presentationPackageSuffix="model.presentation"
testsPackageSuffix="model.tests" ecorePackage="test.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="test.ecore#//Enum">
+ <genEnumLiterals ecoreEnumLiteral="test.ecore#//Enum/a"/>
+ <genEnumLiterals ecoreEnumLiteral="test.ecore#//Enum/b"/>
+ </genEnums>
<genDataTypes ecoreDataType="test.ecore#//XMLDate"/>
<genClasses ecoreClass="test.ecore#//SimpleTestObject">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute test.ecore#//SimpleTestObject/date"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute test.ecore#//SimpleTestObject/xmlDate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute test.ecore#//SimpleTestObject/enum"/>
</genClasses>
</genPackages>
</genmodel:GenModel>
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/plugin.xml b/tests/org.eclipse.emf.ecp.view.core.swt.tests/plugin.xml
new file mode 100644
index 0000000..ddab2ae
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/plugin.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ /*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - extension for EnumComboViewerRenderer_PTest
+ ******************************************************************************/
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated test -->
+ <package
+ uri="http://eclipse.org/emf/ecp/core/test"
+ class="org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage"
+ genModel="model/test.genmodel"/>
+ </extension>
+
+</plugin>
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/pom.xml b/tests/org.eclipse.emf.ecp.view.core.swt.tests/pom.xml
index b6f5f14..957c834 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.core.swt.tests</artifactId>
@@ -22,41 +22,45 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfforms.runtime.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>p2-installable-unit</type>
- <artifactId>org.eclipse.equinox.ds</artifactId>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.locale.default</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.event</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.databinding.featurepath</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.emf</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.template.service</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
</build>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/SimpleTestObject.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/SimpleTestObject.java
index 46999a6..287e3f9 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/SimpleTestObject.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/SimpleTestObject.java
@@ -1,4 +1,14 @@
/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - extension for EnumComboViewerRenderer_PTest
*/
package org.eclipse.emf.ecp.view.core.swt.test.model;
@@ -18,6 +28,7 @@
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject#getDate <em>Date</em>}</li>
* <li>{@link org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject#getXmlDate <em>Xml Date</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject#getMyEnum <em>My Enum</em>}</li>
* </ul>
* </p>
*
@@ -33,7 +44,7 @@
* If the meaning of the '<em>Date</em>' attribute isn't clear, there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Date</em>' attribute.
* @see #setDate(Date)
* @see org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage#getSimpleTestObject_Date()
@@ -47,7 +58,7 @@
* <em>Date</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value the new value of the '<em>Date</em>' attribute.
* @see #getDate()
* @generated
@@ -62,7 +73,7 @@
* here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Xml Date</em>' attribute.
* @see #setXmlDate(XMLGregorianCalendar)
* @see org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage#getSimpleTestObject_XmlDate()
@@ -76,11 +87,43 @@
* <em>Xml Date</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value the new value of the '<em>Xml Date</em>' attribute.
* @see #getXmlDate()
* @generated
*/
void setXmlDate(XMLGregorianCalendar value);
+ /**
+ * Returns the value of the '<em><b>My Enum</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>My Enum</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>My Enum</em>' attribute.
+ * @see org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum
+ * @see #setMyEnum(TestEnum)
+ * @see org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage#getSimpleTestObject_MyEnum()
+ * @model dataType="org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum"
+ * @generated
+ */
+ TestEnum getMyEnum();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject#getMyEnum
+ * <em>My Enum</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value the new value of the '<em>My Enum</em>' attribute.
+ * @see org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum
+ * @see #getMyEnum()
+ * @generated
+ */
+ void setMyEnum(TestEnum value);
+
} // SimpleTestObject
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/TestEnum.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/TestEnum.java
new file mode 100644
index 0000000..7d86c9c
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/TestEnum.java
@@ -0,0 +1,271 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - extension for EnumComboViewerRenderer_PTest
+ */
+package org.eclipse.emf.ecp.view.core.swt.test.model;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Enum</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage#getTestEnum()
+ * @model instanceClass="org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum"
+ * @generated
+ */
+public enum TestEnum implements Enumerator {
+ /**
+ * The '<em><b>A</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #A_VALUE
+ * @generated
+ * @ordered
+ */
+ A(0, "a", "a"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>B</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #B_VALUE
+ * @generated
+ * @ordered
+ */
+ B(1, "b", "b"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>C</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #C_VALUE
+ * @generated
+ * @ordered
+ */
+ C(2, "c", "c"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>A</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>A</b></em>' literal object isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #A
+ * @model name="a"
+ * @generated
+ * @ordered
+ */
+ public static final int A_VALUE = 0;
+
+ /**
+ * The '<em><b>B</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>B</b></em>' literal object isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #B
+ * @model name="b"
+ * @generated
+ * @ordered
+ */
+ public static final int B_VALUE = 1;
+
+ /**
+ * The '<em><b>C</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>C</b></em>' literal object isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #C
+ * @model name="c"
+ * @generated
+ * @ordered
+ */
+ public static final int C_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Enum</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final TestEnum[] VALUES_ARRAY =
+ new TestEnum[] {
+ A,
+ B,
+ C,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Enum</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<TestEnum> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Enum</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static TestEnum get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ final TestEnum result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Enum</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static TestEnum getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ final TestEnum result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Enum</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static TestEnum get(int value) {
+ switch (value) {
+ case A_VALUE:
+ return A;
+ case B_VALUE:
+ return B;
+ case C_VALUE:
+ return C;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private TestEnum(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} // TestEnum
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/TestFactory.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/TestFactory.java
index 8f1c3f4..e24bb48 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/TestFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/TestFactory.java
@@ -1,4 +1,14 @@
/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - extension for EnumComboViewerRenderer_PTest
*/
package org.eclipse.emf.ecp.view.core.swt.test.model;
@@ -9,7 +19,7 @@
* The <b>Factory</b> for the model.
* It provides a create method for each non-abstract class of the model.
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage
* @generated
*/
@@ -18,7 +28,7 @@
* The singleton instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
TestFactory eINSTANCE = org.eclipse.emf.ecp.view.core.swt.test.model.impl.TestFactoryImpl.init();
@@ -27,7 +37,7 @@
* Returns a new object of class '<em>Simple Test Object</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return a new object of class '<em>Simple Test Object</em>'.
* @generated
*/
@@ -37,7 +47,7 @@
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the package supported by this factory.
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/TestPackage.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/TestPackage.java
index 785e692..b9521f7 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/TestPackage.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/TestPackage.java
@@ -1,10 +1,21 @@
/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - extension for EnumComboViewerRenderer_PTest
*/
package org.eclipse.emf.ecp.view.core.swt.test.model;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
/**
@@ -19,7 +30,7 @@
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.emf.ecp.view.core.swt.test.model.TestFactory
* @model kind="package"
* @generated
@@ -29,34 +40,34 @@
* The package name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- String eNAME = "test";
+ String eNAME = "test"; //$NON-NLS-1$
/**
* The package namespace URI.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- String eNS_URI = "http://eclipse.org/emf/ecp/core/test";
+ String eNS_URI = "http://eclipse.org/emf/ecp/core/test"; //$NON-NLS-1$
/**
* The package namespace name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- String eNS_PREFIX = "org.eclipse.emf.ecp.core.test";
+ String eNS_PREFIX = "org.eclipse.emf.ecp.core.test"; //$NON-NLS-1$
/**
* The singleton instance of the package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
TestPackage eINSTANCE = org.eclipse.emf.ecp.view.core.swt.test.model.impl.TestPackageImpl.init();
@@ -66,7 +77,7 @@
* <em>Simple Test Object</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.emf.ecp.view.core.swt.test.model.impl.SimpleTestObjectImpl
* @see org.eclipse.emf.ecp.view.core.swt.test.model.impl.TestPackageImpl#getSimpleTestObject()
* @generated
@@ -77,7 +88,7 @@
* The feature id for the '<em><b>Date</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -87,49 +98,70 @@
* The feature id for the '<em><b>Xml Date</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
int SIMPLE_TEST_OBJECT__XML_DATE = 1;
/**
- * The number of structural features of the '<em>Simple Test Object</em>' class.
+ * The feature id for the '<em><b>My Enum</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
- int SIMPLE_TEST_OBJECT_FEATURE_COUNT = 2;
+ int SIMPLE_TEST_OBJECT__MY_ENUM = 2;
+
+ /**
+ * The number of structural features of the '<em>Simple Test Object</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIMPLE_TEST_OBJECT_FEATURE_COUNT = 3;
/**
* The number of operations of the '<em>Simple Test Object</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
int SIMPLE_TEST_OBJECT_OPERATION_COUNT = 0;
/**
+ * The meta object id for the '{@link org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum <em>Enum</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum
+ * @see org.eclipse.emf.ecp.view.core.swt.test.model.impl.TestPackageImpl#getTestEnum()
+ * @generated
+ */
+ int TEST_ENUM = 1;
+
+ /**
* The meta object id for the '<em>XML Date</em>' data type.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see javax.xml.datatype.XMLGregorianCalendar
* @see org.eclipse.emf.ecp.view.core.swt.test.model.impl.TestPackageImpl#getXMLDate()
* @generated
*/
- int XML_DATE = 1;
+ int XML_DATE = 2;
/**
* Returns the meta object for class '{@link org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject
* <em>Simple Test Object</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for class '<em>Simple Test Object</em>'.
* @see org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject
* @generated
@@ -141,7 +173,7 @@
* {@link org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject#getDate <em>Date</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the attribute '<em>Date</em>'.
* @see org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject#getDate()
* @see #getSimpleTestObject()
@@ -154,7 +186,7 @@
* {@link org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject#getXmlDate <em>Xml Date</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the attribute '<em>Xml Date</em>'.
* @see org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject#getXmlDate()
* @see #getSimpleTestObject()
@@ -163,10 +195,34 @@
EAttribute getSimpleTestObject_XmlDate();
/**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject#getMyEnum <em>My Enum</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>My Enum</em>'.
+ * @see org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject#getMyEnum()
+ * @see #getSimpleTestObject()
+ * @generated
+ */
+ EAttribute getSimpleTestObject_MyEnum();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum <em>Enum</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>Enum</em>'.
+ * @see org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum
+ * @generated
+ */
+ EEnum getTestEnum();
+
+ /**
* Returns the meta object for data type '{@link javax.xml.datatype.XMLGregorianCalendar <em>XML Date</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for data type '<em>XML Date</em>'.
* @see javax.xml.datatype.XMLGregorianCalendar
* @model instanceClass="javax.xml.datatype.XMLGregorianCalendar"
@@ -178,7 +234,7 @@
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the factory that creates the instances of the model.
* @generated
*/
@@ -195,7 +251,7 @@
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
interface Literals {
@@ -205,7 +261,7 @@
* class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.emf.ecp.view.core.swt.test.model.impl.SimpleTestObjectImpl
* @see org.eclipse.emf.ecp.view.core.swt.test.model.impl.TestPackageImpl#getSimpleTestObject()
* @generated
@@ -216,7 +272,7 @@
* The meta object literal for the '<em><b>Date</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EAttribute SIMPLE_TEST_OBJECT__DATE = eINSTANCE.getSimpleTestObject_Date();
@@ -225,16 +281,37 @@
* The meta object literal for the '<em><b>Xml Date</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EAttribute SIMPLE_TEST_OBJECT__XML_DATE = eINSTANCE.getSimpleTestObject_XmlDate();
/**
+ * The meta object literal for the '<em><b>My Enum</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SIMPLE_TEST_OBJECT__MY_ENUM = eINSTANCE.getSimpleTestObject_MyEnum();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum <em>Enum</em>}'
+ * enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum
+ * @see org.eclipse.emf.ecp.view.core.swt.test.model.impl.TestPackageImpl#getTestEnum()
+ * @generated
+ */
+ EEnum TEST_ENUM = eINSTANCE.getTestEnum();
+
+ /**
* The meta object literal for the '<em>XML Date</em>' data type.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see javax.xml.datatype.XMLGregorianCalendar
* @see org.eclipse.emf.ecp.view.core.swt.test.model.impl.TestPackageImpl#getXMLDate()
* @generated
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/impl/SimpleTestObjectImpl.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/impl/SimpleTestObjectImpl.java
index 6072e19..8a3c526 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/impl/SimpleTestObjectImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/impl/SimpleTestObjectImpl.java
@@ -1,4 +1,14 @@
/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - extension for EnumComboViewerRenderer_PTest
*/
package org.eclipse.emf.ecp.view.core.swt.test.model.impl;
@@ -11,6 +21,7 @@
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject;
+import org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum;
import org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage;
/**
@@ -22,6 +33,7 @@
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.core.swt.test.model.impl.SimpleTestObjectImpl#getDate <em>Date</em>}</li>
* <li>{@link org.eclipse.emf.ecp.view.core.swt.test.model.impl.SimpleTestObjectImpl#getXmlDate <em>Xml Date</em>}</li>
+ * <li>{@link org.eclipse.emf.ecp.view.core.swt.test.model.impl.SimpleTestObjectImpl#getMyEnum <em>My Enum</em>}</li>
* </ul>
* </p>
*
@@ -73,6 +85,17 @@
protected XMLGregorianCalendar xmlDate = XML_DATE_EDEFAULT;
/**
+ * The cached value of the '{@link #getMyEnum() <em>My Enum</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getMyEnum()
+ * @generated
+ * @ordered
+ */
+ protected TestEnum myEnum;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
@@ -153,12 +176,41 @@
* @generated
*/
@Override
+ public TestEnum getMyEnum() {
+ return myEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setMyEnum(TestEnum newMyEnum) {
+ final TestEnum oldMyEnum = myEnum;
+ myEnum = newMyEnum == null ? null : newMyEnum;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, TestPackage.SIMPLE_TEST_OBJECT__MY_ENUM, oldMyEnum,
+ myEnum));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case TestPackage.SIMPLE_TEST_OBJECT__DATE:
return getDate();
case TestPackage.SIMPLE_TEST_OBJECT__XML_DATE:
return getXmlDate();
+ case TestPackage.SIMPLE_TEST_OBJECT__MY_ENUM:
+ return getMyEnum();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -178,6 +230,9 @@
case TestPackage.SIMPLE_TEST_OBJECT__XML_DATE:
setXmlDate((XMLGregorianCalendar) newValue);
return;
+ case TestPackage.SIMPLE_TEST_OBJECT__MY_ENUM:
+ setMyEnum((TestEnum) newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -197,6 +252,9 @@
case TestPackage.SIMPLE_TEST_OBJECT__XML_DATE:
setXmlDate(XML_DATE_EDEFAULT);
return;
+ case TestPackage.SIMPLE_TEST_OBJECT__MY_ENUM:
+ setMyEnum((TestEnum) null);
+ return;
}
super.eUnset(featureID);
}
@@ -214,6 +272,8 @@
return DATE_EDEFAULT == null ? date != null : !DATE_EDEFAULT.equals(date);
case TestPackage.SIMPLE_TEST_OBJECT__XML_DATE:
return XML_DATE_EDEFAULT == null ? xmlDate != null : !XML_DATE_EDEFAULT.equals(xmlDate);
+ case TestPackage.SIMPLE_TEST_OBJECT__MY_ENUM:
+ return myEnum != null;
}
return super.eIsSet(featureID);
}
@@ -231,10 +291,12 @@
}
final StringBuffer result = new StringBuffer(super.toString());
- result.append(" (date: ");
+ result.append(" (date: "); //$NON-NLS-1$
result.append(date);
- result.append(", xmlDate: ");
+ result.append(", xmlDate: "); //$NON-NLS-1$
result.append(xmlDate);
+ result.append(", myEnum: "); //$NON-NLS-1$
+ result.append(myEnum);
result.append(')');
return result.toString();
}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/impl/TestFactoryImpl.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/impl/TestFactoryImpl.java
index f421657..6f07baf 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/impl/TestFactoryImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/impl/TestFactoryImpl.java
@@ -1,4 +1,14 @@
/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - extension for EnumComboViewerRenderer_PTest
*/
package org.eclipse.emf.ecp.view.core.swt.test.model.impl;
@@ -11,6 +21,7 @@
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
import org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject;
+import org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum;
import org.eclipse.emf.ecp.view.core.swt.test.model.TestFactory;
import org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage;
@@ -18,7 +29,7 @@
* <!-- begin-user-doc -->
* An implementation of the model <b>Factory</b>.
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
public class TestFactoryImpl extends EFactoryImpl implements TestFactory {
@@ -26,7 +37,7 @@
* Creates the default factory implementation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
public static TestFactory init() {
@@ -46,7 +57,7 @@
* Creates an instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
public TestFactoryImpl() {
@@ -56,7 +67,7 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
@@ -65,46 +76,50 @@
case TestPackage.SIMPLE_TEST_OBJECT:
return createSimpleTestObject();
default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
public Object createFromString(EDataType eDataType, String initialValue) {
switch (eDataType.getClassifierID()) {
+ case TestPackage.TEST_ENUM:
+ return createTestEnumFromString(eDataType, initialValue);
case TestPackage.XML_DATE:
return createXMLDateFromString(eDataType, initialValue);
default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
public String convertToString(EDataType eDataType, Object instanceValue) {
switch (eDataType.getClassifierID()) {
+ case TestPackage.TEST_ENUM:
+ return convertTestEnumToString(eDataType, instanceValue);
case TestPackage.XML_DATE:
return convertXMLDateToString(eDataType, instanceValue);
default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
@@ -116,7 +131,33 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
+ * @generated
+ */
+ public TestEnum createTestEnumFromString(EDataType eDataType, String initialValue) {
+ final TestEnum result = TestEnum.get(initialValue);
+ if (result == null)
+ {
+ throw new IllegalArgumentException(
+ "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertTestEnumToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
* @generated
*/
public XMLGregorianCalendar createXMLDateFromString(EDataType eDataType, String initialValue) {
@@ -126,7 +167,7 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
public String convertXMLDateToString(EDataType eDataType, Object instanceValue) {
@@ -136,7 +177,7 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
@@ -147,7 +188,7 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @deprecated
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/impl/TestPackageImpl.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/impl/TestPackageImpl.java
index 2e68145..88a5506 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/impl/TestPackageImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/impl/TestPackageImpl.java
@@ -1,4 +1,14 @@
/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - extension for EnumComboViewerRenderer_PTest
*/
package org.eclipse.emf.ecp.view.core.swt.test.model.impl;
@@ -7,9 +17,11 @@
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject;
+import org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum;
import org.eclipse.emf.ecp.view.core.swt.test.model.TestFactory;
import org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage;
@@ -17,14 +29,14 @@
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
public class TestPackageImpl extends EPackageImpl implements TestPackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private EClass simpleTestObjectEClass = null;
@@ -32,7 +44,15 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
+ * @generated
+ */
+ private EEnum testEnumEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
* @generated
*/
private EDataType xmlDateEDataType = null;
@@ -45,7 +65,7 @@
* Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
* performs initialization of the package, or returns the registered package, if one already exists. <!--
* begin-user-doc --> <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage#eNS_URI
* @see #init()
@@ -58,7 +78,7 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private static boolean isInited = false;
@@ -70,7 +90,7 @@
* This method is used to initialize {@link TestPackage#eINSTANCE} when that field is accessed. Clients should not
* invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #eNS_URI
* @see #createPackageContents()
* @see #initializePackageContents()
@@ -83,8 +103,7 @@
// Obtain or create and register package
final TestPackageImpl theTestPackage = (TestPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof TestPackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new TestPackageImpl());
+ .get(eNS_URI) : new TestPackageImpl());
isInited = true;
@@ -105,7 +124,7 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
@@ -116,7 +135,7 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
@@ -127,7 +146,7 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
@@ -138,7 +157,29 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getSimpleTestObject_MyEnum() {
+ return (EAttribute) simpleTestObjectEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EEnum getTestEnum() {
+ return testEnumEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
* @generated
*/
@Override
@@ -149,7 +190,7 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
@@ -160,7 +201,7 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private boolean isCreated = false;
@@ -170,7 +211,7 @@
* guarded to have no affect on any invocation but its first.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
public void createPackageContents() {
@@ -183,6 +224,10 @@
simpleTestObjectEClass = createEClass(SIMPLE_TEST_OBJECT);
createEAttribute(simpleTestObjectEClass, SIMPLE_TEST_OBJECT__DATE);
createEAttribute(simpleTestObjectEClass, SIMPLE_TEST_OBJECT__XML_DATE);
+ createEAttribute(simpleTestObjectEClass, SIMPLE_TEST_OBJECT__MY_ENUM);
+
+ // Create enums
+ testEnumEEnum = createEEnum(TEST_ENUM);
// Create data types
xmlDateEDataType = createEDataType(XML_DATE);
@@ -191,7 +236,7 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private boolean isInitialized = false;
@@ -201,7 +246,7 @@
* method is guarded to have no affect on any invocation but its first.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
public void initializePackageContents() {
@@ -222,16 +267,30 @@
// Add supertypes to classes
// Initialize classes, features, and operations; add parameters
- initEClass(simpleTestObjectEClass, SimpleTestObject.class, "SimpleTestObject", !IS_ABSTRACT, !IS_INTERFACE,
- IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getSimpleTestObject_Date(), ecorePackage.getEDate(), "date", null, 0, 1, SimpleTestObject.class,
- !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getSimpleTestObject_XmlDate(), getXMLDate(), "xmlDate", null, 0, 1, SimpleTestObject.class,
- !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(simpleTestObjectEClass, SimpleTestObject.class,
+ "SimpleTestObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(
+ getSimpleTestObject_Date(),
+ ecorePackage.getEDate(),
+ "date", null, 0, 1, SimpleTestObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(
+ getSimpleTestObject_XmlDate(),
+ getXMLDate(),
+ "xmlDate", null, 0, 1, SimpleTestObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(
+ getSimpleTestObject_MyEnum(),
+ getTestEnum(),
+ "myEnum", null, 0, 1, SimpleTestObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ // Initialize enums and add enum literals
+ initEEnum(testEnumEEnum, TestEnum.class, "TestEnum"); //$NON-NLS-1$
+ addEEnumLiteral(testEnumEEnum, TestEnum.A);
+ addEEnumLiteral(testEnumEEnum, TestEnum.B);
+ addEEnumLiteral(testEnumEEnum, TestEnum.C);
// Initialize data types
- initEDataType(xmlDateEDataType, XMLGregorianCalendar.class, "XMLDate", IS_SERIALIZABLE,
- !IS_GENERATED_INSTANCE_CLASS);
+ initEDataType(xmlDateEDataType, XMLGregorianCalendar.class,
+ "XMLDate", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
// Create resource
createResource(eNS_URI);
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/util/TestAdapterFactory.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/util/TestAdapterFactory.java
index da28aa0..f816571 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/util/TestAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/util/TestAdapterFactory.java
@@ -1,4 +1,14 @@
/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - extension for EnumComboViewerRenderer_PTest
*/
package org.eclipse.emf.ecp.view.core.swt.test.model.util;
@@ -14,7 +24,6 @@
* The <b>Adapter Factory</b> for the model.
* It provides an adapter <code>createXXX</code> method for each class of the model.
* <!-- end-user-doc -->
- *
* @see org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage
* @generated
*/
@@ -23,7 +32,6 @@
* The cached model package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
protected static TestPackage modelPackage;
@@ -32,7 +40,6 @@
* Creates an instance of the adapter factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
public TestAdapterFactory() {
@@ -44,10 +51,8 @@
/**
* Returns whether this factory is applicable for the type of the object.
* <!-- begin-user-doc -->
- * This implementation returns <code>true</code> if the object is either the model's package or is an instance
- * object of the model.
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
* <!-- end-user-doc -->
- *
* @return whether this factory is applicable for the type of the object.
* @generated
*/
@@ -57,7 +62,7 @@
return true;
}
if (object instanceof EObject) {
- return ((EObject) object).eClass().getEPackage() == modelPackage;
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
}
return false;
}
@@ -66,7 +71,6 @@
* The switch that delegates to the <code>createXXX</code> methods.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
protected TestSwitch<Adapter> modelSwitch =
@@ -75,7 +79,6 @@
public Adapter caseSimpleTestObject(SimpleTestObject object) {
return createSimpleTestObjectAdapter();
}
-
@Override
public Adapter defaultCase(EObject object) {
return createEObjectAdapter();
@@ -86,24 +89,22 @@
* Creates an adapter for the <code>target</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @param target the object to adapt.
* @return the adapter for the <code>target</code>.
* @generated
*/
@Override
public Adapter createAdapter(Notifier target) {
- return modelSwitch.doSwitch((EObject) target);
+ return modelSwitch.doSwitch((EObject)target);
}
+
/**
- * Creates a new adapter for an object of class '
- * {@link org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject <em>Simple Test Object</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject <em>Simple Test Object</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
- *
* @return the new adapter.
* @see org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject
* @generated
@@ -117,7 +118,6 @@
* <!-- begin-user-doc -->
* This default implementation returns null.
* <!-- end-user-doc -->
- *
* @return the new adapter.
* @generated
*/
@@ -125,4 +125,4 @@
return null;
}
-} // TestAdapterFactory
+} //TestAdapterFactory
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/util/TestSwitch.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/util/TestSwitch.java
index ce02cf3..c55d4d1 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/util/TestSwitch.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/test/model/util/TestSwitch.java
@@ -1,4 +1,14 @@
/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - extension for EnumComboViewerRenderer_PTest
*/
package org.eclipse.emf.ecp.view.core.swt.test.model.util;
@@ -11,14 +21,13 @@
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each
- * class of the model,
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
* which is the result of the switch.
* <!-- end-user-doc -->
- *
* @see org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage
* @generated
*/
@@ -27,7 +36,6 @@
* The cached model package
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
protected static TestPackage modelPackage;
@@ -36,7 +44,6 @@
* Creates an instance of the switch.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
public TestSwitch() {
@@ -49,7 +56,6 @@
* Checks whether this is a switch for the given package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @parameter ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
@@ -60,27 +66,22 @@
}
/**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
- * result.
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
@Override
protected T doSwitch(int classifierID, EObject theEObject) {
switch (classifierID) {
- case TestPackage.SIMPLE_TEST_OBJECT: {
- final SimpleTestObject simpleTestObject = (SimpleTestObject) theEObject;
- T result = caseSimpleTestObject(simpleTestObject);
- if (result == null) {
- result = defaultCase(theEObject);
+ case TestPackage.SIMPLE_TEST_OBJECT: {
+ SimpleTestObject simpleTestObject = (SimpleTestObject)theEObject;
+ T result = caseSimpleTestObject(simpleTestObject);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
}
- return result;
- }
- default:
- return defaultCase(theEObject);
+ default: return defaultCase(theEObject);
}
}
@@ -90,7 +91,6 @@
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
- *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Simple Test Object</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -106,7 +106,6 @@
* This implementation returns null;
* returning a non-null result will terminate the switch, but this is the last case anyway.
* <!-- end-user-doc -->
- *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>EObject</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject)
@@ -117,4 +116,4 @@
return null;
}
-} // TestSwitch
+} //TestSwitch
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/AllPluginTests.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/AllPluginTests.java
new file mode 100644
index 0000000..38efef3
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/AllPluginTests.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.core.swt.tests;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * Test Suite for OSGi Tests.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ CorrectDipose_PTest.class, DynamicDMR_PTest.class })
+public class AllPluginTests {
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/AllTests.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/AllTests.java
new file mode 100644
index 0000000..33c8ef8
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/AllTests.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.core.swt.tests;
+
+import org.eclipse.emf.ecp.view.internal.core.swt.renderer.BooleanControlRenderer_PTest;
+import org.eclipse.emf.ecp.view.internal.core.swt.renderer.DateTimeControlRenderer_PTest;
+import org.eclipse.emf.ecp.view.internal.core.swt.renderer.EnumComboViewerRenderer_PTest;
+import org.eclipse.emf.ecp.view.internal.core.swt.renderer.NumberControlRenderer_PTest;
+import org.eclipse.emf.ecp.view.internal.core.swt.renderer.ViewRenderer_PTest;
+import org.eclipse.emf.ecp.view.internal.core.swt.renderer.XMLDateControlRenderer_PTest;
+import org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlRenderer_PTest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * Test Suite for Unit Tests.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ BooleanControlRenderer_PTest.class, DateTimeControlRenderer_PTest.class,
+ EnumComboViewerRenderer_PTest.class,
+ NumberControlRenderer_PTest.class, ViewRenderer_PTest.class, XMLDateControlRenderer_PTest.class,
+ TextControlRenderer_PTest.class })
+public class AllTests {
+ // JUnit 4 Test Suite
+}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/CorrectDipose_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/CorrectDipose_PTest.java
index 6386b3e..21405bc 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/CorrectDipose_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/CorrectDipose_PTest.java
@@ -9,6 +9,7 @@
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper;
import org.eclipse.emf.emfstore.bowling.BowlingFactory;
import org.eclipse.emf.emfstore.bowling.BowlingPackage;
@@ -16,7 +17,9 @@
import org.eclipse.swt.widgets.Shell;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
+@RunWith(DatabindingClassRunner.class)
public class CorrectDipose_PTest {
private VView view;
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/DynamicDMR_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/DynamicDMR_PTest.java
index 1d14bda..8943ba7 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/DynamicDMR_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/DynamicDMR_PTest.java
@@ -30,6 +30,7 @@
import org.eclipse.emf.emfstore.bowling.Fan;
import org.eclipse.emf.emfstore.bowling.Merchandise;
import org.eclipse.emf.emfstore.bowling.Player;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
@@ -208,6 +209,8 @@
fail("Could not render view: " + e.getMessage());
} catch (final NoPropertyDescriptorFoundExeption e) {
fail("Could not render view: " + e.getMessage());
+ } catch (final EMFFormsNoRendererException e) {
+ fail("Could not render view: " + e.getMessage());
}
}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/ObservingWritableValue.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/ObservingWritableValue.java
new file mode 100644
index 0000000..66aae88
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/core/swt/tests/ObservingWritableValue.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.core.swt.tests;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.Realm;
+import org.eclipse.core.databinding.observable.value.WritableValue;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecore.InternalEObject;
+
+/**
+ * A {@link WritableValue} that returns a mocked EObject for {@link IObserving#getObserved()}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class ObservingWritableValue extends WritableValue implements IObserving {
+
+ /**
+ * Creates a new instance.
+ *
+ * @param realm The realm.
+ * @param initialValue The initial value
+ * @param valueType The value type
+ */
+ public ObservingWritableValue(Realm realm, Object initialValue, Object valueType)
+ {
+ super(realm, initialValue, valueType);
+ }
+
+ /**
+ * Creates a new instance based on another ObservingWritableValue.
+ *
+ * @param observingWritableValue The ObservingWritableValue.
+ */
+ public ObservingWritableValue(ObservingWritableValue observingWritableValue)
+ {
+ super(observingWritableValue.getRealm(), observingWritableValue.getValue(), observingWritableValue
+ .getValueType());
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.databinding.observable.IObserving#getObserved()
+ */
+ @Override
+ public Object getObserved() {
+ final InternalEObject eObject = mock(InternalEObject.class);
+ final Setting setting = mock(Setting.class);
+ when(eObject.eSetting(any(EStructuralFeature.class))).thenReturn(setting);
+ return eObject;
+ }
+}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/AbstractControl_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/AbstractControl_PTest.java
index d2c7e9c..75e4e09 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/AbstractControl_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/AbstractControl_PTest.java
@@ -1,14 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - adjustments for databinding tests
+ ******************************************************************************/
package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.when;
-import java.util.Collections;
-import java.util.Iterator;
import java.util.Map;
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.Observables;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.command.BasicCommandStack;
import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.URI;
@@ -28,22 +44,30 @@
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
+import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.junit.Test;
import org.mockito.Mockito;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
public abstract class AbstractControl_PTest {
protected static final String CUSTOM_VARIANT = "org.eclipse.rap.rwt.customVariant"; //$NON-NLS-1$
+ protected EMFFormsDatabinding databindingService;
+ protected VTViewTemplateProvider templateProvider;
protected AbstractControlSWTRenderer<VControl> renderer;
+ protected EMFFormsLabelProvider labelProvider;
private Resource createResource() {
final Resource.Factory.Registry registry = Resource.Factory.Registry.INSTANCE;
@@ -68,7 +92,7 @@
}
protected void mockControl(EObject eObject,
- final EStructuralFeature eStructuralFeature) {
+ final EStructuralFeature eStructuralFeature) throws DatabindingFailedException {
final VDomainModelReference domainModelReference = Mockito
.mock(VDomainModelReference.class);
final Setting setting = mock(Setting.class);
@@ -77,39 +101,38 @@
when(setting.getEObject()).thenReturn(eObject);
when(setting.getEStructuralFeature()).thenReturn(eStructuralFeature);
- when(domainModelReference.getIterator()).then(new Answer<Iterator<Setting>>() {
- @Override
- public Iterator<Setting> answer(InvocationOnMock invocation) throws Throwable {
- return Collections.singleton(setting).iterator();
- }
- });
- when(domainModelReference.getEStructuralFeatureIterator()).then(new Answer<Iterator<EStructuralFeature>>() {
- @Override
- public Iterator<EStructuralFeature> answer(
- InvocationOnMock invocation) throws Throwable {
- return Collections.singleton(eStructuralFeature).iterator();
- }
- });
+
+ mockDatabindingIsUnsettable();
+
final BasicEList<DomainModelReferenceChangeListener> changeListener = new BasicEList<DomainModelReferenceChangeListener>();
when(domainModelReference.getChangeListener()).thenReturn(changeListener);
- Mockito.when(control.getDomainModelReference()).thenReturn(
+ Mockito.when(vControl.getDomainModelReference()).thenReturn(
domainModelReference);
}
- protected void setMockLabelAlignment(LabelAlignment labelAlignment) {
- Mockito.when(control.getLabelAlignment()).thenReturn(labelAlignment);
+ protected void mockDatabindingIsUnsettable() throws DatabindingFailedException {
+ final EStructuralFeature structuralFeature = mock(EStructuralFeature.class);
+ when(structuralFeature.isUnsettable()).thenReturn(false);
+ final IValueProperty valueProperty = mock(IValueProperty.class);
+ when(valueProperty.getValueType()).thenReturn(structuralFeature);
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ valueProperty);
}
- private ViewModelContext context;
- private VControl control;
+ protected void setMockLabelAlignment(LabelAlignment labelAlignment) {
+ Mockito.when(vControl.getLabelAlignment()).thenReturn(labelAlignment);
+ }
+
+ protected ViewModelContext context;
+ protected VControl vControl;
private Shell shell;
- protected void setup(AbstractControlSWTRenderer<VControl> renderer) {
-
- this.renderer = renderer;
- control = Mockito.mock(VControl.class);
+ protected void setup() throws DatabindingFailedException {
+ vControl = Mockito.mock(VControl.class);
+ mockControl();
context = Mockito.mock(ViewModelContext.class);
- shell = new Shell();
+ when(context.getDomainModel()).thenReturn(mock(EObject.class));
+ shell = new Shell(Display.getDefault(), SWT.NONE);
}
protected void dispose() {
@@ -119,8 +142,6 @@
@Test
public void testGridDescriptionLabelAlignmentNone() {
setMockLabelAlignment(LabelAlignment.NONE);
- mockControl();
- renderer.init(control, context);
final SWTGridDescription gridDescription = renderer.getGridDescription(GridDescriptionFactory.INSTANCE
.createEmptyGridDescription());
assertEquals(2, gridDescription.getColumns());
@@ -130,8 +151,6 @@
@Test
public void testGridDescriptionLabelAlignmentLeft() {
setMockLabelAlignment(LabelAlignment.LEFT);
- mockControl();
- renderer.init(control, context);
final SWTGridDescription gridDescription = renderer.getGridDescription(GridDescriptionFactory.INSTANCE
.createEmptyGridDescription());
assertEquals(3, gridDescription.getColumns());
@@ -154,8 +173,6 @@
private void renderValidationIcon(SWTGridCell gridCell)
throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
- mockControl();
- renderer.init(control, context);
final Control render = renderer.render(gridCell, shell);
assertTrue(Label.class.isInstance(render));
assertEquals("", Label.class.cast(render).getText());
@@ -164,20 +181,51 @@
protected void renderLabel(String text) throws NoRendererFoundException,
NoPropertyDescriptorFoundExeption {
setMockLabelAlignment(LabelAlignment.LEFT);
- mockControl();
- renderer.init(control, context);
final Control render = renderer.render(new SWTGridCell(0, 0, renderer), shell);
assertTrue(Label.class.isInstance(render));
assertEquals(text, Label.class.cast(render).getText());
}
+ /**
+ * Tests whether the {@link EMFFormsLabelProvider} is used to get the labels of a control.
+ *
+ * @throws NoRendererFoundException
+ * @throws NoPropertyDescriptorFoundExeption
+ * @throws NoLabelFoundException
+ */
+ protected void labelServiceUsage() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ NoLabelFoundException {
+ reset(labelProvider);
+ final IObservableValue testDescription = Observables.constantObservableValue("test-description", String.class);
+ final IObservableValue testDisplayName = Observables.constantObservableValue("test-displayname", String.class);
+ when(labelProvider.getDescription(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ testDescription);
+ when(labelProvider.getDisplayName(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ testDisplayName);
+
+ setMockLabelAlignment(LabelAlignment.LEFT);
+ final Control renderControl = renderControl(new SWTGridCell(0, 0, renderer));
+ assertTrue(Label.class.isInstance(renderControl));
+
+ final Label label = (Label) renderControl;
+ assertEquals(testDescription.getValue(), label.getToolTipText());
+ assertEquals(testDisplayName.getValue(), label.getText());
+ }
+
protected Control renderControl(SWTGridCell gridCell)
throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
- mockControl();
- renderer.init(control, context);
final Control render = renderer.render(gridCell, shell);
return render;
}
- protected abstract void mockControl();
+ protected abstract void mockControl() throws DatabindingFailedException;
+
+ /**
+ * Helper Interface for mocking.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+ public interface TestObservableValue extends IObservableValue, IObserving {
+ }
}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlRenderer_PTest.java
index 3d2622a..56515e5 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/BooleanControlRenderer_PTest.java
@@ -1,63 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - databinding tests
+ ******************************************************************************/
package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EcoreFactory;
import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.core.swt.tests.ObservingWritableValue;
import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTTestUtil;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Control;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.mockito.Mockito;
-@RunWith(DatabindingClassRunner.class)
public class BooleanControlRenderer_PTest extends AbstractControl_PTest {
+ private DefaultRealm realm;
+
@Before
- public void before() {
- final SWTRendererFactory factory = mock(SWTRendererFactory.class);
- setup(new BooleanControlSWTRenderer(factory));
+ public void before() throws DatabindingFailedException {
+ realm = new DefaultRealm();
+ final ReportService reportService = mock(ReportService.class);
+ databindingService = mock(EMFFormsDatabinding.class);
+ labelProvider = mock(EMFFormsLabelProvider.class);
+ templateProvider = mock(VTViewTemplateProvider.class);
+ setup();
+ renderer = new BooleanControlSWTRenderer(vControl, context, reportService, databindingService, labelProvider,
+ templateProvider);
+ renderer.init();
}
@After
public void testTearDown() {
+ realm.dispose();
dispose();
}
@Test
public void renderControlLabelAlignmentNone()
- throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
setMockLabelAlignment(LabelAlignment.NONE);
+ final TestObservableValue mockedObservableValue = mock(TestObservableValue.class);
+ when(mockedObservableValue.getRealm()).thenReturn(realm);
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservableValue);
final Control render = renderControl(new SWTGridCell(0, 1, renderer));
assertControl(render);
}
@Test
public void renderControlLabelAlignmentLeft()
- throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
setMockLabelAlignment(LabelAlignment.LEFT);
+ final TestObservableValue mockedObservableValue = mock(TestObservableValue.class);
+ when(mockedObservableValue.getRealm()).thenReturn(realm);
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservableValue);
final Control render = renderControl(new SWTGridCell(0, 2, renderer));
assertControl(render);
}
- @Test
- public void renderLabel() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
- renderLabel("Interface");
- }
-
private void assertControl(Control render) {
assertTrue(Button.class.isInstance(render));
assertEquals(SWT.CHECK, Button.class.cast(render).getStyle()
@@ -66,11 +101,82 @@
}
@Override
- protected void mockControl() {
+ protected void mockControl() throws DatabindingFailedException {
final EClass eObject = EcoreFactory.eINSTANCE.createEClass();
final EStructuralFeature eStructuralFeature = EcorePackage.eINSTANCE
.getEClass_Interface();
super.mockControl(eObject, eStructuralFeature);
}
+ @Test
+ public void testDatabindingServiceUsageInitialBinding() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final boolean initialValue = true;
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue, Boolean.class);
+
+ final Button button = setUpDatabindingTest(mockedObservable);
+ assertEquals(initialValue, button.getSelection());
+
+ }
+
+ @Test
+ public void testDatabindingServiceUsageChangeObservable() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final boolean initialValue = true;
+ final boolean changedValue = false;
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue, Boolean.class);
+
+ final Button button = setUpDatabindingTest(mockedObservable);
+ mockedObservable.setValue(changedValue);
+ assertEquals(changedValue, button.getSelection());
+
+ }
+
+ @Test
+ public void testDatabindingServiceUsageChangeControl() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final boolean initialValue = true;
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue, Boolean.class);
+
+ final Button button = setUpDatabindingTest(mockedObservable);
+ SWTTestUtil.clickButton(button);
+
+ assertEquals(button.getSelection(), mockedObservable.getValue());
+
+ }
+
+ /**
+ * Universal set up stuff for the data binding test cases.
+ *
+ * @param mockedObservable
+ * @return
+ * @throws NoRendererFoundException
+ * @throws NoPropertyDescriptorFoundExeption
+ * @throws DatabindingFailedException
+ */
+ private Button setUpDatabindingTest(final ObservingWritableValue mockedObservable) throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ Mockito.reset(databindingService);
+
+ mockDatabindingIsUnsettable();
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservable);
+
+ final Control renderControl = renderControl(new SWTGridCell(0, 2, renderer));
+ final Button button = (Button) renderControl;
+ return button;
+ }
+
+ /**
+ * Tests whether the {@link EMFFormsLabelProvider} is used to get the labels of the control.
+ *
+ * @throws NoRendererFoundException
+ * @throws NoPropertyDescriptorFoundExeption
+ * @throws NoLabelFoundException
+ */
+ @Test
+ public void testLabelServiceUsage() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ NoLabelFoundException {
+ labelServiceUsage();
+ }
}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlRenderer_PTest.java
index 0e15196..8ab8b7d 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/DateTimeControlRenderer_PTest.java
@@ -1,55 +1,122 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - databinding tests
+ ******************************************************************************/
package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import org.eclipse.core.databinding.observable.Diffs;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.observable.value.IValueChangeListener;
+import org.eclipse.core.databinding.observable.value.ValueChangeEvent;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
import org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject;
import org.eclipse.emf.ecp.view.core.swt.test.model.TestFactory;
import org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage;
+import org.eclipse.emf.ecp.view.internal.core.swt.MessageKeys;
import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
+import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.DateTime;
+import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
-@RunWith(DatabindingClassRunner.class)
public class DateTimeControlRenderer_PTest extends AbstractControl_PTest {
+ private DefaultRealm realm;
+
@Before
- public void before() {
- final SWTRendererFactory factory = mock(SWTRendererFactory.class);
- setup(new DateTimeControlSWTRenderer(factory));
+ public void before() throws DatabindingFailedException {
+ realm = new DefaultRealm();
+ final ReportService reportService = mock(ReportService.class);
+ databindingService = mock(EMFFormsDatabinding.class);
+ labelProvider = mock(EMFFormsLabelProvider.class);
+ templateProvider = mock(VTViewTemplateProvider.class);
+ final EMFFormsLocalizationService localizationService = mock(EMFFormsLocalizationService.class);
+ final ImageRegistryService imageRegistryService = mock(ImageRegistryService.class);
+ when(
+ localizationService.getString(DateTimeControlSWTRenderer.class,
+ MessageKeys.DateTimeControl_NoDateSetClickToSetDate)).thenReturn("Unset");
+ setup();
+ renderer = new DateTimeControlSWTRenderer(vControl, context, reportService, databindingService, labelProvider,
+ templateProvider, localizationService, imageRegistryService);
+ renderer.init();
}
@After
public void testTearDown() {
+ realm.dispose();
dispose();
}
@Test
public void renderControlLabelAlignmentNone()
- throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
setMockLabelAlignment(LabelAlignment.NONE);
+ final TestObservableValue mockedObservableValue = mock(TestObservableValue.class);
+ when(mockedObservableValue.getRealm()).thenReturn(realm);
+ final EObject mockedEObject = mock(EObject.class);
+ when(mockedEObject.eIsSet(any(EStructuralFeature.class))).thenReturn(true);
+ when(mockedObservableValue.getObserved()).thenReturn(mockedEObject);
+
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservableValue);
final Control render = renderControl(new SWTGridCell(0, 1, renderer));
assertControl(render);
}
@Test
public void renderControlLabelAlignmentLeft()
- throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
setMockLabelAlignment(LabelAlignment.LEFT);
+ final TestObservableValue mockedObservableValue = mock(TestObservableValue.class);
+ when(mockedObservableValue.getRealm()).thenReturn(realm);
+ final EObject mockedEObject = mock(EObject.class);
+ when(mockedEObject.eIsSet(any(EStructuralFeature.class))).thenReturn(true);
+ when(mockedObservableValue.getObserved()).thenReturn(mockedEObject);
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservableValue);
final Control render = renderControl(new SWTGridCell(0, 2, renderer));
assertControl(render);
@@ -74,9 +141,182 @@
}
@Override
- protected void mockControl() {
+ protected void mockControl() throws DatabindingFailedException {
final SimpleTestObject eObject = TestFactory.eINSTANCE.createSimpleTestObject();
super.mockControl(eObject, TestPackage.eINSTANCE.getSimpleTestObject_Date());
}
+ @Test
+ public void testDatabindingServiceUsageInitialBinding() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final Date initialValue = new Date();
+ final EStructuralFeature mockedEStructuralFeature = mock(EStructuralFeature.class);
+ final EObject mockedEObject = mock(EObject.class);
+ when(mockedEObject.eIsSet(mockedEStructuralFeature)).thenReturn(true);
+
+ final TestObservableValue mockedObservable = mock(TestObservableValue.class);
+ when(mockedObservable.getRealm()).thenReturn(realm);
+ when(mockedObservable.getValueType()).thenReturn(mockedEStructuralFeature);
+ when(mockedObservable.getObserved()).thenReturn(mockedEObject);
+ when(mockedObservable.getValue()).thenReturn(initialValue);
+
+ final DateTime[] widgets = setUpDatabindingTest(mockedObservable);
+ final DateTime dateWidget = widgets[0];
+ final DateTime timeWidget = widgets[1];
+
+ assertTrue(isDateEqualToDateTimes(initialValue, dateWidget, timeWidget));
+
+ }
+
+ @Test
+ public void testDatabindingServiceUsageChangeObservable() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final Date initialValue = new Date();
+ final Date changedValue = new Date(System.currentTimeMillis() * 2);
+ final Set<IValueChangeListener> listeners = new LinkedHashSet<IValueChangeListener>();
+ final EStructuralFeature mockedEStructuralFeature = mock(EStructuralFeature.class);
+ final EObject mockedEObject = mock(EObject.class);
+ when(mockedEObject.eIsSet(mockedEStructuralFeature)).thenReturn(true);
+
+ final TestObservableValue mockedObservable = mock(TestObservableValue.class);
+ when(mockedObservable.getRealm()).thenReturn(realm);
+ when(mockedObservable.getValueType()).thenReturn(mockedEStructuralFeature);
+ when(mockedObservable.getObserved()).thenReturn(mockedEObject);
+ when(mockedObservable.getValue()).thenReturn(initialValue);
+ Mockito.doAnswer(new Answer<Void>() {
+
+ @Override
+ public Void answer(InvocationOnMock invocation) throws Throwable {
+ listeners.add((IValueChangeListener) invocation.getArguments()[0]);
+ return null;
+ }
+ }).when(mockedObservable).addValueChangeListener(any(IValueChangeListener.class));
+
+ final DateTime[] widgets = setUpDatabindingTest(mockedObservable);
+ final DateTime dateWidget = widgets[0];
+ final DateTime timeWidget = widgets[1];
+
+ when(mockedObservable.getValue()).thenReturn(changedValue);
+ for (final IValueChangeListener valueChangeListener : listeners) {
+ valueChangeListener.handleValueChange(new ValueChangeEvent(mockedObservable, Diffs.createValueDiff(
+ initialValue, changedValue)));
+ }
+
+ assertTrue(isDateEqualToDateTimes(changedValue, dateWidget, timeWidget));
+
+ }
+
+ @Test
+ public void testDatabindingServiceUsageChangeControl() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final Date initialValue = new Date();
+ final Date changedValue = new Date(System.currentTimeMillis() * 2);
+ final Date[] setValue = new Date[1];
+ final EStructuralFeature mockedEStructuralFeature = mock(EStructuralFeature.class);
+ final EObject mockedEObject = mock(EObject.class);
+ when(mockedEObject.eIsSet(mockedEStructuralFeature)).thenReturn(true);
+
+ final TestObservableValue mockedObservable = mock(TestObservableValue.class);
+ when(mockedObservable.getRealm()).thenReturn(realm);
+ when(mockedObservable.getValueType()).thenReturn(mockedEStructuralFeature);
+ when(mockedObservable.getObserved()).thenReturn(mockedEObject);
+ when(mockedObservable.getValue()).thenReturn(initialValue);
+ Mockito.doAnswer(new Answer<Void>() {
+
+ @Override
+ public Void answer(InvocationOnMock invocation) throws Throwable {
+ setValue[0] = (Date) invocation.getArguments()[0];
+ return null;
+ }
+ }).when(mockedObservable).setValue(any(Object.class));
+ final DateTime[] widgets = setUpDatabindingTest(mockedObservable);
+ final DateTime dateWidget = widgets[0];
+ final DateTime timeWidget = widgets[1];
+
+ final Calendar cal = Calendar.getInstance();
+ cal.setTime(changedValue);
+ dateWidget.setDate(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
+ // dateWidget.notifyListeners(SWT.Selection, new Event());
+ timeWidget.setTime(cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND));
+ timeWidget.notifyListeners(SWT.Selection, new Event());
+
+ // mockedObservable.getValue() cannot be compared directly to changedValue because the widgets can't save
+ // milliseconds. From this it follows that mockedObservable.getValue() and changedValue might not be equal
+ // even though the binding is working.
+
+ final Calendar calChangedValue = Calendar.getInstance();
+ calChangedValue.setTime(changedValue);
+ calChangedValue.set(Calendar.MILLISECOND, 0);
+
+ final Calendar calSetValue = Calendar.getInstance();
+ calSetValue.setTime(setValue[0]);
+ calSetValue.set(Calendar.MILLISECOND, 0);
+
+ assertTrue(calChangedValue.equals(calSetValue));
+ }
+
+ /**
+ * Universal set up stuff for the data binding test cases.
+ *
+ * @param mockedObservable
+ * @return A DateTime array. DateTime[0] contains the date widget and DateTime[1] the time widget.
+ * @throws NoRendererFoundException
+ * @throws NoPropertyDescriptorFoundExeption
+ * @throws DatabindingFailedException
+ */
+ private DateTime[] setUpDatabindingTest(final IObservableValue mockedObservable) throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ mockDatabindingIsUnsettable();
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservable);
+
+ final Control renderControl = renderControl(new SWTGridCell(0, 2, renderer));
+
+ final Composite composite = (Composite) renderControl;
+ final Composite stackComposite = (Composite) composite.getChildren()[0];
+ final Composite dateTimeComposite = (Composite) stackComposite.getChildren()[0];
+ final DateTime dateWidget = (DateTime) dateTimeComposite.getChildren()[0];
+ final DateTime timeWidget = (DateTime) dateTimeComposite.getChildren()[1];
+ final DateTime[] widgets = new DateTime[] { dateWidget, timeWidget };
+
+ return widgets;
+ }
+
+ private boolean isDateEqualToDateTimes(Date date, DateTime dateWidget, DateTime timeWidget) {
+ final Calendar cal = Calendar.getInstance();
+ cal.setTime(date);
+ final int dateYear = cal.get(Calendar.YEAR);
+ final int dateMonth = cal.get(Calendar.MONTH);
+ final int dateDay = cal.get(Calendar.DAY_OF_MONTH);
+ final int dateHour = cal.get(Calendar.HOUR_OF_DAY);
+ final int dateMinute = cal.get(Calendar.MINUTE);
+ final int dateSeconds = cal.get(Calendar.SECOND);
+
+ final int widgetYear = dateWidget.getYear();
+ final int widgetMonth = dateWidget.getMonth();
+ final int widgetDay = dateWidget.getDay();
+ final int widgetHour = timeWidget.getHours();
+ final int widgetMinute = timeWidget.getMinutes();
+ final int widgetSeconds = timeWidget.getSeconds();
+
+ if (dateYear == widgetYear && dateMonth == widgetMonth && dateDay == widgetDay
+ && dateHour == widgetHour && dateMinute == widgetMinute && dateSeconds == widgetSeconds) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Tests whether the {@link EMFFormsLabelProvider} is used to get the labels of the control.
+ *
+ * @throws NoRendererFoundException
+ * @throws NoPropertyDescriptorFoundExeption
+ * @throws DatabindingFailedException
+ * @throws NoLabelFoundException
+ */
+ @Test
+ public void testLabelServiceUsage() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ DatabindingFailedException, NoLabelFoundException {
+ labelServiceUsage();
+ }
}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerRenderer_PTest.java
new file mode 100644
index 0000000..f3e9a40
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/EnumComboViewerRenderer_PTest.java
@@ -0,0 +1,186 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.eclipse.core.databinding.property.Properties;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject;
+import org.eclipse.emf.ecp.view.core.swt.test.model.TestEnum;
+import org.eclipse.emf.ecp.view.core.swt.test.model.TestFactory;
+import org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage;
+import org.eclipse.emf.ecp.view.core.swt.tests.ObservingWritableValue;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
+import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Matchers;
+
+/**
+ * Plugin test for {@link EnumComboViewerSWTRenderer}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EnumComboViewerRenderer_PTest extends AbstractControl_PTest {
+
+ private EMFFormsEditSupport editSupport;
+ private DefaultRealm realm;
+
+ @Before
+ public void before() throws DatabindingFailedException {
+ realm = new DefaultRealm();
+ final ReportService reportService = mock(ReportService.class);
+ databindingService = mock(EMFFormsDatabinding.class);
+ labelProvider = mock(EMFFormsLabelProvider.class);
+ templateProvider = mock(VTViewTemplateProvider.class);
+ editSupport = mock(EMFFormsEditSupport.class);
+
+ setup();
+ renderer = new EnumComboViewerSWTRenderer(vControl, context, reportService, databindingService, labelProvider,
+ templateProvider, editSupport);
+ renderer.init();
+ }
+
+ @After
+ public void testTearDown() {
+ realm.dispose();
+ dispose();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @throws DatabindingFailedException
+ *
+ * @see org.AbstractControl_PTest.eclipse.emf.ecp.view.internal.core.swt.renderer.AbstractControl_PTest#mockControl()
+ */
+ @Override
+ protected void mockControl() throws DatabindingFailedException {
+ final SimpleTestObject eObject = TestFactory.eINSTANCE.createSimpleTestObject();
+ super.mockControl(eObject, TestPackage.eINSTANCE.getSimpleTestObject_MyEnum());
+ }
+
+ @Test
+ public void testDatabindingServiceUsageInitialBinding() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final TestEnum initialValue = TestEnum.B;
+
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue,
+ TestPackage.eINSTANCE.getSimpleTestObject_MyEnum());
+
+ when(
+ editSupport.getText(any(VDomainModelReference.class), any(EObject.class),
+ Matchers.eq(mockedObservable.getValue())))
+ .thenReturn(mockedObservable.getValue().toString());
+
+ final Combo combo = setUpDatabindingTest(mockedObservable);
+ assertEquals(initialValue.getName(), combo.getText());
+
+ }
+
+ @Test
+ public void testDatabindingServiceUsageChangeObservable() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final TestEnum initialValue = TestEnum.B;
+ final TestEnum changedValue = TestEnum.C;
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue,
+ TestPackage.eINSTANCE.getSimpleTestObject_MyEnum());
+ when(
+ editSupport.getText(any(VDomainModelReference.class), any(EObject.class),
+ Matchers.same(initialValue)))
+ .thenReturn(initialValue.toString());
+
+ when(
+ editSupport.getText(any(VDomainModelReference.class), any(EObject.class),
+ Matchers.same(changedValue)))
+ .thenReturn(changedValue.toString());
+
+ final Combo combo = setUpDatabindingTest(mockedObservable);
+ mockedObservable.setValue(changedValue);
+
+ assertEquals(changedValue.getName(), combo.getText());
+
+ }
+
+ @Test
+ public void testDatabindingServiceUsageChangeControl() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final TestEnum initialValue = TestEnum.B;
+ final TestEnum changedValue = TestEnum.C;
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue,
+ TestPackage.eINSTANCE.getSimpleTestObject_MyEnum());
+
+ final Combo combo = setUpDatabindingTest(mockedObservable);
+ combo.select(2);
+ combo.notifyListeners(SWT.Selection, new Event());
+
+ assertEquals(changedValue.getName(), ((TestEnum) mockedObservable.getValue()).getName());
+
+ }
+
+ /**
+ * Universal set up stuff for the data binding test cases.
+ *
+ * @param mockedObservable
+ * @return
+ * @throws NoRendererFoundException
+ * @throws NoPropertyDescriptorFoundExeption
+ * @throws DatabindingFailedException
+ */
+ private Combo setUpDatabindingTest(final ObservingWritableValue mockedObservable) throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ mockDatabindingIsUnsettable();
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservable);
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ Properties.selfValue(mockedObservable.getValueType()));
+
+ final Control renderControl = renderControl(new SWTGridCell(0, 2, renderer));
+
+ final Combo combo = (Combo) renderControl;
+ return combo;
+ }
+
+ /**
+ * Tests whether the {@link EMFFormsLabelProvider} is used to get the labels of the control.
+ *
+ * @throws NoRendererFoundException
+ * @throws NoPropertyDescriptorFoundExeption
+ * @throws DatabindingFailedException
+ * @throws NoLabelFoundException
+ */
+ @Test
+ public void testLabelServiceUsage() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ DatabindingFailedException, NoLabelFoundException {
+ labelServiceUsage();
+ }
+}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlRenderer_PTest.java
index c58ce34..508cdbe 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/NumberControlRenderer_PTest.java
@@ -1,60 +1,154 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - databinding tests
+ ******************************************************************************/
package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import java.text.DecimalFormat;
+import java.util.Locale;
+
+import org.eclipse.core.databinding.property.Properties;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EcoreFactory;
import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecp.edit.internal.swt.controls.NumericalHelper;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.core.swt.tests.ObservingWritableValue;
+import org.eclipse.emf.ecp.view.internal.core.swt.MessageKeys;
import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTTestUtil;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Text;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.junit.runner.RunWith;
-@RunWith(DatabindingClassRunner.class)
+@SuppressWarnings("restriction")
public class NumberControlRenderer_PTest extends AbstractControl_PTest {
+ private DefaultRealm realm;
+
@Before
- public void before() {
- final SWTRendererFactory factory = mock(SWTRendererFactory.class);
- setup(new NumberControlSWTRenderer(factory));
+ public void before() throws DatabindingFailedException {
+ realm = new DefaultRealm();
+ final ReportService reportService = mock(ReportService.class);
+ databindingService = mock(EMFFormsDatabinding.class);
+ labelProvider = mock(EMFFormsLabelProvider.class);
+ templateProvider = mock(VTViewTemplateProvider.class);
+ final EMFFormsLocalizationService localizationService = mock(EMFFormsLocalizationService.class);
+ when(
+ localizationService.getString(NumberControlSWTRenderer.class, MessageKeys.NumericalControl_FormatNumerical))
+ .thenReturn("#");
+ when(
+ localizationService.getString(NumberControlSWTRenderer.class,
+ MessageKeys.NumericalControl_FormatNumericalDecimal)).thenReturn("#.#");
+ final EMFFormsLocaleProvider localeProvider = mock(EMFFormsLocaleProvider.class);
+ when(localeProvider.getLocale()).thenReturn(Locale.getDefault());
+ final EMFFormsEditSupport editSupport = mock(EMFFormsEditSupport.class);
+ setup();
+ renderer = new NumberControlSWTRenderer(vControl, context, reportService, databindingService, labelProvider,
+ templateProvider, editSupport, localizationService, localeProvider);
+ renderer.init();
}
@After
public void testTearDown() {
+ realm.dispose();
dispose();
}
+ @SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void renderControlLabelAlignmentNone()
- throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
setMockLabelAlignment(LabelAlignment.NONE);
+ final TestObservableValue mockedObservableValue = mock(TestObservableValue.class);
+ when(mockedObservableValue.getRealm()).thenReturn(realm);
+ final EObject mockedEObject = mock(EObject.class);
+ when(mockedEObject.eIsSet(any(EStructuralFeature.class))).thenReturn(true);
+ when(mockedObservableValue.getObserved()).thenReturn(mockedEObject);
+ final EStructuralFeature mockedEStructuralFeature = mock(EStructuralFeature.class);
+ final EClassifier mockedEClassifier = mock(EClassifier.class);
+ final Class clazz = Double.class;
+ when(mockedEClassifier.getInstanceClass()).thenReturn(clazz);
+ when(mockedEStructuralFeature.getEType()).thenReturn(mockedEClassifier);
+ when(mockedObservableValue.getValueType()).thenReturn(mockedEStructuralFeature);
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservableValue);
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ Properties.selfValue(mockedEStructuralFeature));
final Control render = renderControl(new SWTGridCell(0, 1, renderer));
assertControl(render);
}
+ @SuppressWarnings({ "unchecked", "rawtypes" })
@Test
public void renderControlLabelAlignmentLeft()
- throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
setMockLabelAlignment(LabelAlignment.LEFT);
+ final TestObservableValue mockedObservableValue = mock(TestObservableValue.class);
+ when(mockedObservableValue.getRealm()).thenReturn(realm);
+ final EObject mockedEObject = mock(EObject.class);
+ when(mockedEObject.eIsSet(any(EStructuralFeature.class))).thenReturn(true);
+ when(mockedObservableValue.getObserved()).thenReturn(mockedEObject);
+ final EStructuralFeature mockedEStructuralFeature = mock(EStructuralFeature.class);
+ final EClassifier mockedEClassifier = mock(EClassifier.class);
+ final Class clazz = Double.class;
+ when(mockedEClassifier.getInstanceClass()).thenReturn(clazz);
+ when(mockedEStructuralFeature.getEType()).thenReturn(mockedEClassifier);
+ when(mockedObservableValue.getValueType()).thenReturn(mockedEStructuralFeature);
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservableValue);
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ Properties.selfValue(mockedEStructuralFeature));
+
final Control render = renderControl(new SWTGridCell(0, 2, renderer));
assertControl(render);
}
+ /**
+ * Tests whether the {@link EMFFormsLabelProvider} is used to get the labels of the control.
+ *
+ * @throws NoRendererFoundException
+ * @throws NoPropertyDescriptorFoundExeption
+ * @throws DatabindingFailedException
+ * @throws NoLabelFoundException
+ */
@Test
- public void renderLabel() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
- renderLabel("Lower Bound");
+ public void testLabelServiceUsage() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ DatabindingFailedException, NoLabelFoundException {
+ labelServiceUsage();
}
private void assertControl(Control render) {
@@ -68,10 +162,84 @@
}
@Override
- protected void mockControl() {
+ protected void mockControl() throws DatabindingFailedException {
final EStructuralFeature eObject = EcoreFactory.eINSTANCE.createEAttribute();
final EStructuralFeature eStructuralFeature = EcorePackage.eINSTANCE.getETypedElement_LowerBound();
super.mockControl(eObject, eStructuralFeature);
}
+ @Test
+ public void testDatabindingServiceUsageInitialBinding() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final int initialValue = 13;
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue,
+ EcorePackage.eINSTANCE.getETypedElement_LowerBound());
+ final Text text = setUpDatabindingTest(mockedObservable);
+
+ final DecimalFormat format = getDecimalFormat(Integer.class);
+
+ assertEquals(format.format(initialValue), text.getText());
+
+ }
+
+ @Test
+ public void testDatabindingServiceUsageChangeObservable() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final int initialValue = 13;
+ final int changedValue = 42;
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue,
+ EcorePackage.eINSTANCE.getETypedElement_LowerBound());
+
+ final Text text = setUpDatabindingTest(mockedObservable);
+ mockedObservable.setValue(changedValue);
+
+ final DecimalFormat format = getDecimalFormat(Integer.class);
+
+ assertEquals(format.format(changedValue), text.getText());
+
+ }
+
+ @Test
+ public void testDatabindingServiceUsageChangeControl() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final int initialValue = 13;
+ final int changedValue = 42;
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue,
+ EcorePackage.eINSTANCE.getETypedElement_LowerBound());
+
+ final Text text = setUpDatabindingTest(mockedObservable);
+
+ final DecimalFormat format = getDecimalFormat(Integer.class);
+ SWTTestUtil.typeAndFocusOut(text, format.format(changedValue));
+
+ assertEquals(changedValue, mockedObservable.getValue());
+
+ }
+
+ /**
+ * Universal set up stuff for the data binding test cases.
+ *
+ * @param mockedObservable
+ * @return
+ * @throws NoRendererFoundException
+ * @throws NoPropertyDescriptorFoundExeption
+ * @throws DatabindingFailedException
+ */
+ private Text setUpDatabindingTest(final ObservingWritableValue mockedObservable) throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ mockDatabindingIsUnsettable();
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservable, new ObservingWritableValue(mockedObservable));
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ Properties.selfValue(mockedObservable.getValueType()));
+
+ final Control renderControl = renderControl(new SWTGridCell(0, 2, renderer));
+ final Text text = (Text) renderControl;
+ return text;
+ }
+
+ private DecimalFormat getDecimalFormat(Class<?> instanceClass) {
+ return NumericalHelper.setupFormat(Locale.getDefault(), instanceClass);
+ }
+
}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewRenderer_PTest.java
index 04d06fd..142efdd 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/ViewRenderer_PTest.java
@@ -7,18 +7,22 @@
import static org.mockito.Mockito.when;
import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
-import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
@@ -26,42 +30,50 @@
import org.eclipse.swt.widgets.Shell;
import org.junit.After;
import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Test;
-import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
-@RunWith(DatabindingClassRunner.class)
public class ViewRenderer_PTest {
private ViewSWTRenderer viewRenderer;
private VView view;
private ViewModelContext context;
private Shell shell;
- private SWTRendererFactory factory;
+ private EMFFormsRendererFactory rendererFactory;
+ private DefaultRealm realm;
+
+ @BeforeClass
+ public static void setupClass() {
+ }
@Before
public void setUp() {
- factory = mock(SWTRendererFactory.class);
-
- viewRenderer = new ViewSWTRenderer(factory);
+ realm = new DefaultRealm();
+ final ReportService reportService = mock(ReportService.class);
+ final EMFFormsDatabinding databindingService = mock(EMFFormsDatabinding.class);
+ rendererFactory = mock(EMFFormsRendererFactory.class);
+ final EMFFormsLocaleProvider localeProvider = mock(EMFFormsLocaleProvider.class);
view = Mockito.mock(VView.class);
context = Mockito.mock(ViewModelContext.class);
shell = new Shell();
-
+ viewRenderer = new ViewSWTRenderer(view, context, reportService, rendererFactory, databindingService,
+ localeProvider);
+ viewRenderer.init();
}
@After
public void tearDown() {
+ realm.dispose();
shell.dispose();
}
@Test
public void testGridDescription() throws NoRendererFoundException,
NoPropertyDescriptorFoundExeption {
- viewRenderer.init(view, context);
final SWTGridDescription gridDescription = viewRenderer.getGridDescription(GridDescriptionFactory.INSTANCE
.createEmptyGridDescription());
assertEquals(1, gridDescription.getColumns());
@@ -73,7 +85,6 @@
NoPropertyDescriptorFoundExeption {
when(view.getChildren())
.thenReturn(new BasicEList<VContainedElement>());
- viewRenderer.init(view, context);
final Control render = viewRenderer.render(new SWTGridCell(0, 0, viewRenderer), shell);
assertTrue(Composite.class.isInstance(render));
assertEquals(0, Composite.class.cast(render).getChildren().length);
@@ -81,7 +92,7 @@
@Test
public void testMultipleSimpleCompositeView() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
final BasicEList<VContainedElement> basicEList = new BasicEList<VContainedElement>();
final VContainedElement control1 = mock(VContainedElement.class);
final VContainedElement control2 = mock(VContainedElement.class);
@@ -92,10 +103,9 @@
final AbstractSWTRenderer<VElement> mockRenderer1 = createCompositeMockRenderer(control1, 1);
final AbstractSWTRenderer<VElement> mockRenderer2 = createCompositeMockRenderer(control2, 1);
- when(factory.getRenderer(control1, context)).thenReturn(mockRenderer1);
- when(factory.getRenderer(control2, context)).thenReturn(mockRenderer2);
+ when(rendererFactory.getRendererInstance(control1, context)).thenReturn(mockRenderer1);
+ when(rendererFactory.getRendererInstance(control2, context)).thenReturn(mockRenderer2);
- viewRenderer.init(view, context);
final Control render = viewRenderer.render(new SWTGridCell(0, 0, viewRenderer), shell);
assertTrue(Composite.class.isInstance(render));
assertEquals(2, Composite.class.cast(render).getChildren().length);
@@ -110,7 +120,7 @@
@Test
public void testMultipleComplexGridDescriptionView() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
final BasicEList<VContainedElement> basicEList = new BasicEList<VContainedElement>();
final VContainedElement control1 = mock(VContainedElement.class);
final VContainedElement control2 = mock(VContainedElement.class);
@@ -124,11 +134,10 @@
final AbstractSWTRenderer<VElement> mockRenderer2 = createCompositeMockRenderer(control2, 3);
final AbstractSWTRenderer<VElement> mockRenderer3 = createCompositeMockRenderer(control3, 2);
- when(factory.getRenderer(control1, context)).thenReturn(mockRenderer1);
- when(factory.getRenderer(control2, context)).thenReturn(mockRenderer2);
- when(factory.getRenderer(control3, context)).thenReturn(mockRenderer3);
+ when(rendererFactory.getRendererInstance(control1, context)).thenReturn(mockRenderer1);
+ when(rendererFactory.getRendererInstance(control2, context)).thenReturn(mockRenderer2);
+ when(rendererFactory.getRendererInstance(control3, context)).thenReturn(mockRenderer3);
- viewRenderer.init(view, context);
final Control render = viewRenderer.render(new SWTGridCell(0, 0, viewRenderer), shell);
assertTrue(Composite.class.isInstance(render));
assertEquals(6, Composite.class.cast(render).getChildren().length);
@@ -170,7 +179,6 @@
}
});
- mockRenderer.init(control1, context);
return mockRenderer;
}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlRenderer_PTest.java
index 244fe65..13351c1 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/internal/core/swt/renderer/XMLDateControlRenderer_PTest.java
@@ -1,18 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - databinding tests
+ ******************************************************************************/
package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import java.text.DateFormat;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.Locale;
+
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeFactory;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+import org.eclipse.core.databinding.property.Properties;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
import org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject;
import org.eclipse.emf.ecp.view.core.swt.test.model.TestFactory;
import org.eclipse.emf.ecp.view.core.swt.test.model.TestPackage;
+import org.eclipse.emf.ecp.view.core.swt.tests.ObservingWritableValue;
import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
+import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTTestUtil;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
@@ -21,42 +59,86 @@
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.mockito.Mockito;
-@RunWith(DatabindingClassRunner.class)
public class XMLDateControlRenderer_PTest extends AbstractControl_PTest {
+ private DefaultRealm realm;
+
@Before
- public void before() {
- final SWTRendererFactory factory = mock(SWTRendererFactory.class);
- setup(new XMLDateControlSWTRenderer(factory));
+ public void before() throws DatabindingFailedException {
+ realm = new DefaultRealm();
+ final ReportService reportService = mock(ReportService.class);
+ databindingService = mock(EMFFormsDatabinding.class);
+ labelProvider = mock(EMFFormsLabelProvider.class);
+ templateProvider = mock(VTViewTemplateProvider.class);
+ final EMFFormsEditSupport editSupport = mock(EMFFormsEditSupport.class);
+ final EMFFormsLocalizationService localizationService = mock(EMFFormsLocalizationService.class);
+ final EMFFormsLocaleProvider localeProvider = mock(EMFFormsLocaleProvider.class);
+ when(localeProvider.getLocale()).thenReturn(Locale.getDefault());
+ final ImageRegistryService imageRegistryService = mock(ImageRegistryService.class);
+
+ setup();
+ renderer = new XMLDateControlSWTRenderer(vControl, context, reportService, databindingService, labelProvider,
+ templateProvider, editSupport, localizationService, localeProvider, imageRegistryService);
+ renderer.init();
}
@After
public void testTearDown() {
+ realm.dispose();
dispose();
}
@Test
public void renderControlLabelAlignmentNone()
- throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
setMockLabelAlignment(LabelAlignment.NONE);
+ final TestObservableValue mockedObservableValue = mock(TestObservableValue.class);
+ when(mockedObservableValue.getRealm()).thenReturn(realm);
+ final EObject mockedEObject = mock(EObject.class);
+ when(mockedEObject.eIsSet(any(EStructuralFeature.class))).thenReturn(true);
+ when(mockedObservableValue.getObserved()).thenReturn(mockedEObject);
+ final EStructuralFeature mockedEStructuralFeature = mock(EStructuralFeature.class);
+ when(mockedEStructuralFeature.isUnsettable()).thenReturn(false);
+ when(mockedObservableValue.getValueType()).thenReturn(mockedEStructuralFeature);
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservableValue);
final Control render = renderControl(new SWTGridCell(0, 1, renderer));
assertControl(render);
}
@Test
public void renderControlLabelAlignmentLeft()
- throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException {
setMockLabelAlignment(LabelAlignment.LEFT);
+ final TestObservableValue mockedObservableValue = mock(TestObservableValue.class);
+ when(mockedObservableValue.getRealm()).thenReturn(realm);
+ final EObject mockedEObject = mock(EObject.class);
+ when(mockedEObject.eIsSet(any(EStructuralFeature.class))).thenReturn(true);
+ when(mockedObservableValue.getObserved()).thenReturn(mockedEObject);
+ final EStructuralFeature mockedEStructuralFeature = mock(EStructuralFeature.class);
+ when(mockedEStructuralFeature.isUnsettable()).thenReturn(false);
+ when(mockedObservableValue.getValueType()).thenReturn(mockedEStructuralFeature);
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservableValue);
final Control render = renderControl(new SWTGridCell(0, 2, renderer));
assertControl(render);
}
+ /**
+ * Tests whether the {@link EMFFormsLabelProvider} is used to get the labels of the control.
+ *
+ * @throws NoRendererFoundException
+ * @throws NoPropertyDescriptorFoundExeption
+ * @throws DatabindingFailedException
+ * @throws NoLabelFoundException
+ */
@Test
- public void renderLabel() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
- renderLabel("Xml Date");
+ public void testLabelServiceUsage() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ DatabindingFailedException, NoLabelFoundException {
+ labelServiceUsage();
}
private void assertControl(Control render) {
@@ -71,9 +153,112 @@
}
@Override
- protected void mockControl() {
+ protected void mockControl() throws DatabindingFailedException {
final SimpleTestObject eObject = TestFactory.eINSTANCE.createSimpleTestObject();
super.mockControl(eObject, TestPackage.eINSTANCE.getSimpleTestObject_XmlDate());
}
+ @Test
+ public void testDatabindingServiceUsageInitialBinding() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatatypeConfigurationException, DatabindingFailedException {
+ final XMLGregorianCalendar initialValue = getXMLGregorianCalendarFromDate(new Date());
+
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue,
+ TestPackage.eINSTANCE.getSimpleTestObject_XmlDate());
+ final Text text = setUpDatabindingTest(mockedObservable);
+
+ final String expected = formatXMLGregorianCalendar(initialValue);
+ assertEquals(expected, text.getText());
+
+ }
+
+ @Test
+ public void testDatabindingServiceUsageChangeObservable() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatatypeConfigurationException, DatabindingFailedException {
+ final XMLGregorianCalendar initialValue = getXMLGregorianCalendarFromDate(new Date());
+ final XMLGregorianCalendar changedValue = getXMLGregorianCalendarFromDate(new Date(
+ System.currentTimeMillis() * 2));
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue,
+ TestPackage.eINSTANCE.getSimpleTestObject_XmlDate());
+
+ final Text text = setUpDatabindingTest(mockedObservable);
+ mockedObservable.setValue(changedValue);
+
+ final String expected = formatXMLGregorianCalendar(changedValue);
+ assertEquals(expected, text.getText());
+
+ }
+
+ @Test
+ public void testDatabindingServiceUsageChangeControl() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatatypeConfigurationException, DatabindingFailedException {
+ // TODO
+ final XMLGregorianCalendar initialValue = getXMLGregorianCalendarFromDate(new Date());
+ final XMLGregorianCalendar changedValue = getXMLGregorianCalendarFromDate(new Date(
+ System.currentTimeMillis() * 2));
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue,
+ TestPackage.eINSTANCE.getSimpleTestObject_XmlDate());
+
+ final Text text = setUpDatabindingTest(mockedObservable);
+ SWTTestUtil.typeAndFocusOut(text, formatXMLGregorianCalendar(changedValue));
+
+ final String actual = formatXMLGregorianCalendar((XMLGregorianCalendar) mockedObservable.getValue());
+ assertEquals(text.getText(), actual);
+
+ }
+
+ /**
+ * Universal set up stuff for the data binding test cases.
+ *
+ * @param mockedObservable
+ * @return
+ * @throws NoRendererFoundException
+ * @throws NoPropertyDescriptorFoundExeption
+ * @throws DatabindingFailedException
+ */
+ private Text setUpDatabindingTest(final ObservingWritableValue mockedObservable) throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ Mockito.reset(databindingService);
+ mockDatabindingIsUnsettable();
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservable, new ObservingWritableValue(mockedObservable));
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ Properties.selfValue(mockedObservable.getValueType()));
+
+ final Control renderControl = renderControl(new SWTGridCell(0, 2, renderer));
+ final Composite composite = (Composite) renderControl;
+ final Text text = (Text) composite.getChildren()[0];
+ return text;
+ }
+
+ private String formatXMLGregorianCalendar(XMLGregorianCalendar calendar) {
+ final DateFormat format = setupFormat();
+ if (calendar == null) {
+ return null;
+ }
+ final Date date = calendar.toGregorianCalendar().getTime();
+ return format.format(date);
+ }
+
+ /**
+ * Setups the {@link DateFormat}.
+ *
+ * @return the {@link DateFormat}
+ */
+ private DateFormat setupFormat() {
+ final DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.getDefault());
+ df.setLenient(false);
+ return df;
+ }
+
+ /**
+ * @return
+ * @throws DatatypeConfigurationException
+ */
+ private XMLGregorianCalendar getXMLGregorianCalendarFromDate(Date date) throws DatatypeConfigurationException {
+ final GregorianCalendar cal = new GregorianCalendar();
+ cal.setTime(date);
+ final XMLGregorianCalendar initialValue = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal);
+ return initialValue;
+ }
}
diff --git a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRenderer_PTest.java b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRenderer_PTest.java
index 2b4d313..c1952cf 100644
--- a/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRenderer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.core.swt.tests/src/org/eclipse/emf/ecp/view/spi/core/swt/renderer/TextControlRenderer_PTest.java
@@ -1,61 +1,131 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Lucas Koehler - databinding tests
+ ******************************************************************************/
package org.eclipse.emf.ecp.view.spi.core.swt.renderer;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import org.eclipse.core.databinding.observable.Observables;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EcoreFactory;
import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.core.swt.tests.ObservingWritableValue;
import org.eclipse.emf.ecp.view.internal.core.swt.renderer.AbstractControl_PTest;
import org.eclipse.emf.ecp.view.spi.model.LabelAlignment;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTTestUtil;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Text;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.mockito.Mockito;
-@RunWith(DatabindingClassRunner.class)
public class TextControlRenderer_PTest extends AbstractControl_PTest {
+ private DefaultRealm realm;
+
@Before
- public void before() {
- final SWTRendererFactory factory = mock(SWTRendererFactory.class);
- setup(new TextControlSWTRenderer(factory));
+ public void before() throws DatabindingFailedException {
+ realm = new DefaultRealm();
+ final ReportService reportService = mock(ReportService.class);
+ databindingService = mock(EMFFormsDatabinding.class);
+ labelProvider = mock(EMFFormsLabelProvider.class);
+ templateProvider = mock(VTViewTemplateProvider.class);
+ final EMFFormsEditSupport editSupport = mock(EMFFormsEditSupport.class);
+ setup();
+ renderer = new TextControlSWTRenderer(vControl, context, reportService, databindingService, labelProvider,
+ templateProvider, editSupport);
+ renderer.init();
}
@After
public void testTearDown() {
+ realm.dispose();
dispose();
}
@Test
public void renderControlLabelAlignmentNone()
- throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException,
+ NoLabelFoundException {
+ when(labelProvider.getDisplayName(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ Observables.constantObservableValue("antiException", String.class));
setMockLabelAlignment(LabelAlignment.NONE);
+ final TestObservableValue mockedObservableValue = mock(TestObservableValue.class);
+ when(mockedObservableValue.getRealm()).thenReturn(realm);
+ final EObject mockedEObject = mock(EObject.class);
+ when(mockedEObject.eIsSet(any(EStructuralFeature.class))).thenReturn(true);
+ when(mockedObservableValue.getObserved()).thenReturn(mockedEObject);
+ final EStructuralFeature mockedEStructuralFeature = EcorePackage.eINSTANCE.getENamedElement_Name();
+ when(mockedObservableValue.getValueType()).thenReturn(mockedEStructuralFeature);
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservableValue);
final Control render = renderControl(new SWTGridCell(0, 1, renderer));
assertControl(render);
}
@Test
public void renderControlLabelAlignmentLeft()
- throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ throws NoRendererFoundException, NoPropertyDescriptorFoundExeption, DatabindingFailedException,
+ NoLabelFoundException {
+ when(labelProvider.getDisplayName(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ Observables.constantObservableValue("antiException", String.class));
setMockLabelAlignment(LabelAlignment.LEFT);
+ final TestObservableValue mockedObservableValue = mock(TestObservableValue.class);
+ when(mockedObservableValue.getRealm()).thenReturn(realm);
+ final EObject mockedEObject = mock(EObject.class);
+ when(mockedEObject.eIsSet(any(EStructuralFeature.class))).thenReturn(true);
+ when(mockedObservableValue.getObserved()).thenReturn(mockedEObject);
+ final EStructuralFeature mockedEStructuralFeature = mock(EStructuralFeature.class);
+ when(mockedEStructuralFeature.isUnsettable()).thenReturn(false);
+ when(mockedObservableValue.getValueType()).thenReturn(mockedEStructuralFeature);
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservableValue);
final Control render = renderControl(new SWTGridCell(0, 2, renderer));
assertControl(render);
}
+ /**
+ * Tests whether the {@link EMFFormsLabelProvider} is used to get the labels of the control.
+ *
+ * @throws NoRendererFoundException
+ * @throws NoPropertyDescriptorFoundExeption
+ * @throws DatabindingFailedException
+ * @throws NoLabelFoundException
+ */
@Test
- public void renderLabel() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
- renderLabel("Name");
+ public void testLabelServiceUsage() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ DatabindingFailedException, NoLabelFoundException {
+ labelServiceUsage();
}
private void assertControl(Control render) {
@@ -67,10 +137,110 @@
}
@Override
- protected void mockControl() {
+ protected void mockControl() throws DatabindingFailedException {
final EStructuralFeature eObject = EcoreFactory.eINSTANCE.createEAttribute();
final EStructuralFeature eStructuralFeature = EcorePackage.eINSTANCE.getENamedElement_Name();
super.mockControl(eObject, eStructuralFeature);
}
+ @Test
+ public void testDatabindingServiceUsageInitialBinding() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException, NoLabelFoundException {
+ final String initialValue = "initial";
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue,
+ EcorePackage.eINSTANCE.getENamedElement_Name());
+ final Text text = setUpDatabindingTest(mockedObservable);
+
+ assertEquals(initialValue, text.getText());
+
+ }
+
+ @Test
+ public void testDatabindingServiceUsageChangeObservable() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException, NoLabelFoundException {
+ final String initialValue = "initial";
+ final String changedValue = "changed";
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue,
+ EcorePackage.eINSTANCE.getENamedElement_Name());
+
+ final Text text = setUpDatabindingTest(mockedObservable);
+ mockedObservable.setValue(changedValue);
+
+ assertEquals(changedValue, text.getText());
+
+ }
+
+ @Test
+ public void testDatabindingServiceUsageChangeControl() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException, NoLabelFoundException {
+ final String initialValue = "initial";
+ final String changedValue = "changed";
+ final ObservingWritableValue mockedObservable = new ObservingWritableValue(realm, initialValue,
+ EcorePackage.eINSTANCE.getENamedElement_Name());
+
+ final Text text = setUpDatabindingTest(mockedObservable);
+ SWTTestUtil.typeAndFocusOut(text, changedValue);
+
+ assertEquals(changedValue, mockedObservable.getValue());
+
+ }
+
+ /**
+ * Universal set up stuff for the data binding test cases.
+ *
+ * @param mockedObservable
+ * @return
+ * @throws NoRendererFoundException
+ * @throws NoPropertyDescriptorFoundExeption
+ * @throws DatabindingFailedException if the databinding failed
+ * @throws NoLabelFoundException
+ */
+ private Text setUpDatabindingTest(final ObservingWritableValue mockedObservable) throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException, NoLabelFoundException {
+ when(labelProvider.getDisplayName(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ Observables.constantObservableValue("antiException"));
+ Mockito.reset(databindingService);
+ mockDatabindingIsUnsettable();
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservable, new ObservingWritableValue(mockedObservable));
+
+ final Control renderControl = renderControl(new SWTGridCell(0, 2, renderer));
+ final Text text = (Text) renderControl;
+ return text;
+ }
+
+ /**
+ * Tests whether the {@link EMFFormsLabelProvider} is used to get the message of the text field of the text
+ * control.
+ *
+ * @throws NoPropertyDescriptorFoundExeption
+ * @throws NoRendererFoundException
+ * @throws DatabindingFailedException
+ * @throws NoLabelFoundException
+ */
+ @Test
+ public void testLabelServiceUsageTextField() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ DatabindingFailedException, NoLabelFoundException {
+ final IObservableValue testDisplayName = Observables.constantObservableValue("test-displayname", String.class);
+ when(labelProvider.getDisplayName(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ testDisplayName);
+
+ setMockLabelAlignment(LabelAlignment.LEFT);
+
+ final TestObservableValue mockedObservableValue = mock(TestObservableValue.class);
+ when(mockedObservableValue.getRealm()).thenReturn(realm);
+ final EObject mockedEObject = mock(EObject.class);
+ when(mockedEObject.eIsSet(any(EStructuralFeature.class))).thenReturn(true);
+ when(mockedObservableValue.getObserved()).thenReturn(mockedEObject);
+ final EStructuralFeature mockedEStructuralFeature = EcorePackage.eINSTANCE.getENamedElement_Name();
+ when(mockedObservableValue.getValueType()).thenReturn(mockedEStructuralFeature);
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservableValue);
+
+ final Control renderControl = renderControl(new SWTGridCell(0, 2, renderer));
+ assertTrue(Text.class.isInstance(renderControl));
+
+ final Text text = (Text) renderControl;
+ assertEquals(testDisplayName.getValue(), text.getMessage());
+ }
}
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/.gitignore b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/AllCustomControlSWTTests.launch b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/AllCustomControlSWTTests.launch
index 5109eee..9319346 100644
--- a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/AllCustomControlSWTTests.launch
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/AllCustomControlSWTTests.launch
@@ -32,8 +32,8 @@
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model.edit@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui.swt.test@default:default,org.eclipse.emf.ecp.view.custom.ui.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.test@default:false,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model.edit@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui.swt.test@default:false,org.eclipse.emf.ecp.view.custom.ui.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:false,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.test@default:false,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/META-INF/MANIFEST.MF
index ef7073a..0cfe0a4 100644
--- a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Tests for the Custom SWT Renderer
Bundle-SymbolicName: org.eclipse.emf.ecp.view.custom.ui.swt.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.5.0,2.0.0)",
@@ -13,16 +13,22 @@
org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.custom.ui.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.equinox.common;bundle-version="[3.6.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="3.8.0",
+ org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
org.eclipse.jface.databinding;bundle-version="[1.4.0,2.0.0)",
org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
org.eclipse.emf.ecp.edit.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.validation;bundle-version="[1.5.0,2.0.0)",
org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.custom.ui.swt;bundle-version="[1.6.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.view.custom.ui.swt.test;version="1
- .5.1";x-internal:=true
-Import-Package: org.eclipse.jface.layout;version="0.0.0",
+ .6.0";x-internal:=true
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.jface.layout;version="0.0.0",
org.eclipse.jface.viewers;version="0.0.0"
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.emf.ecp.view.custom.ui.swt.test.Activator
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/pom.xml
index 2ea45a5..dd93384 100644
--- a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.custom.ui.swt.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,38 +24,46 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.custom.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.template.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.custom.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.emfstore.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/Activator.java b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/Activator.java
new file mode 100644
index 0000000..b8bdceb
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/Activator.java
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.custom.ui.swt.test;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * Activator of the custom.ui.swt.test bundle.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class Activator extends Plugin {
+ /** The plug-in ID. */
+ public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.custom.ui.swt.test"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ private ServiceReference<ReportService> reportServiceReference;
+
+ /**
+ * Returns the {@link ReportService}.
+ *
+ * @return the {@link ReportService}
+ */
+ public ReportService getReportService() {
+ if (reportServiceReference == null) {
+ reportServiceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(ReportService.class);
+ }
+ return plugin.getBundle().getBundleContext().getService(reportServiceReference);
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+}
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlDMR_PTest.java b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlDMR_PTest.java
index 86f11ac..b347058 100644
--- a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlDMR_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlDMR_PTest.java
@@ -31,6 +31,7 @@
import org.eclipse.emf.emfstore.bowling.BowlingFactory;
import org.eclipse.emf.emfstore.bowling.Fan;
import org.eclipse.emf.emfstore.bowling.Merchandise;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import org.junit.Test;
@@ -48,7 +49,7 @@
@Test
public void testDMRChangeListener() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
- InterruptedException {
+ InterruptedException, EMFFormsNoRendererException {
final Fan fan = BowlingFactory.eINSTANCE.createFan();
final Merchandise old = BowlingFactory.eINSTANCE.createMerchandise();
old.setName(OLD_NAME);
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlStub.java b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlStub.java
index a951cbc..69a2fd2 100644
--- a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlStub.java
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlStub.java
@@ -19,9 +19,9 @@
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
@@ -116,7 +116,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@Override
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlStub2.java b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlStub2.java
index df9aeb3..6439c95 100644
--- a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlStub2.java
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlStub2.java
@@ -22,10 +22,10 @@
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
import org.eclipse.emf.emfstore.bowling.BowlingPackage;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -80,7 +80,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@SuppressWarnings({ "restriction", "deprecation" })
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlStub3.java b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlStub3.java
index f219ce0..f07f3b9 100644
--- a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlStub3.java
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlStub3.java
@@ -24,10 +24,10 @@
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
import org.eclipse.emf.emfstore.bowling.BowlingPackage;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.jface.layout.TableColumnLayout;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
@@ -97,7 +97,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@Override
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlTwoRowWithViewer_PTest.java b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlTwoRowWithViewer_PTest.java
index baf6f14..40687d7 100644
--- a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlTwoRowWithViewer_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/CustomControlTwoRowWithViewer_PTest.java
@@ -25,12 +25,12 @@
import org.eclipse.emf.ecp.view.spi.custom.model.VCustomFactory;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper;
import org.eclipse.emf.emfstore.bowling.BowlingFactory;
import org.eclipse.emf.emfstore.bowling.League;
import org.eclipse.emf.emfstore.bowling.Player;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/ECPAbstractCustomControlSWTStub.java b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/ECPAbstractCustomControlSWTStub.java
index e4ec8b7..494ed15 100644
--- a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/ECPAbstractCustomControlSWTStub.java
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/ECPAbstractCustomControlSWTStub.java
@@ -26,9 +26,9 @@
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
@@ -111,7 +111,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@Override
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/ECPAbstractCustomControlSWT_PTest.java b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/ECPAbstractCustomControlSWT_PTest.java
index 7958772..2701cc6 100644
--- a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/ECPAbstractCustomControlSWT_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/ECPAbstractCustomControlSWT_PTest.java
@@ -28,6 +28,7 @@
import java.util.NoSuchElementException;
import java.util.Set;
+import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.emf.common.util.BasicDiagnostic;
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.ecore.EAttribute;
@@ -47,12 +48,14 @@
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper;
import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -471,13 +474,15 @@
}
private VDomainModelReference getFeature(Collection<VDomainModelReference> features,
- EStructuralFeature structuralFeature, boolean isEditable) {
+ EStructuralFeature structuralFeature, boolean isEditable) throws DatabindingFailedException {
final Iterator<VDomainModelReference> iterator = features.iterator();
while (iterator.hasNext()) {
final VDomainModelReference feature = iterator.next();
- final Setting setting = feature.getIterator().next();
- if (setting.getEStructuralFeature() == structuralFeature) { // && feature.isEditable() == isEditable
+ final IValueProperty valueProperty = Activator.getDefault().getEMFFormsDatabinding()
+ .getValueProperty(feature, null);
+ final EStructuralFeature currentStructuralFeature = (EStructuralFeature) valueProperty.getValueType();
+ if (currentStructuralFeature == structuralFeature) { // && feature.isEditable() == isEditable
return feature;
}
}
@@ -486,7 +491,7 @@
}
@Test
- public void testCustomControlGetHelp() {
+ public void testCustomControlGetHelp() throws DatabindingFailedException {
final VDomainModelReference feature = getFeature(customControl.getResolvedReferences(),
VCustomPackage.eINSTANCE.getCustomDomainModelReference_BundleName(), true);
final String help = customControl.getStubSWTHelper().getHelp(feature);
@@ -512,7 +517,7 @@
}
@Test
- public void testCustomControlGetLabel() {
+ public void testCustomControlGetLabel() throws DatabindingFailedException {
final VDomainModelReference feature = getFeature(customControl.getResolvedReferences(),
VCustomPackage.eINSTANCE.getCustomDomainModelReference_BundleName(), true);
final String label = customControl.getStubSWTHelper().getLabel(feature);
@@ -613,7 +618,8 @@
// }
@Test
- public void testReadonlyCustomControl() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testReadonlyCustomControl() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
controlModel.setReadonly(true);
controlModel.setBundleName("org.eclipse.emf.ecp.view.custom.ui.swt.test");
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/SWTCustomControl_PTest.java b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/SWTCustomControl_PTest.java
index fe7ade2..c53984a 100644
--- a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/SWTCustomControl_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/SWTCustomControl_PTest.java
@@ -1,14 +1,14 @@
/*******************************************************************************
* Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
+ *
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
- *
+ *
* Contributors:
* Johannes Faltermeier
- *
+ *
*******************************************************************************/
package org.eclipse.emf.ecp.view.custom.ui.swt.test;
@@ -17,7 +17,6 @@
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
import org.eclipse.emf.ecp.view.spi.custom.model.VCustomControl;
import org.eclipse.emf.ecp.view.spi.custom.model.VCustomDomainModelReference;
import org.eclipse.emf.ecp.view.spi.custom.model.VCustomFactory;
@@ -31,6 +30,7 @@
import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper;
import org.eclipse.emf.emfstore.bowling.BowlingFactory;
import org.eclipse.emf.emfstore.bowling.Fan;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Shell;
import org.junit.Ignore;
@@ -42,7 +42,7 @@
/**
* @author Jonas
- *
+ *
*/
public class TestHandel {
@@ -80,12 +80,14 @@
private static final String BUNDLE_ID = "org.eclipse.emf.ecp.view.custom.ui.swt.test";
/**
- *
+ * @throws EMFFormsNoRendererException
+ *
*/
// FIXME what to expect
@Test
@Ignore
- public void testCustomControlinView() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testCustomControlinView() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
final VElement controlInView = createCustomControlInView();
final Shell shell = SWTViewTestHelper.createShell();
final Composite composite = (Composite) SWTViewTestHelper.render(controlInView, shell);
@@ -112,9 +114,9 @@
return view;
}
- @Test
+ @Test(expected = IllegalStateException.class)
public void testCustomControlinViewWithoutClass() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
final VView view = VViewFactory.eINSTANCE.createView();
final VCustomControl customControl = createCustomControl();
@@ -139,7 +141,8 @@
}
@Test
- public void testCustomControlInit() {
+ public void testCustomControlInit() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
final VView view = VViewFactory.eINSTANCE.createView();
final VCustomControl customControl = createCustomControl();
@@ -155,7 +158,9 @@
customControl.setDomainModelReference(domainModelReference);
final Fan domainModel = BowlingFactory.eINSTANCE.createFan();
- ViewModelContextFactory.INSTANCE.createViewModelContext(view, domainModel);
+ final Shell shell = SWTViewTestHelper.createShell();
+ SWTViewTestHelper.render(view, domainModel, shell);
+ // ViewModelContextFactory.INSTANCE.createViewModelContext(view, domainModel);
assertNotNull(domainModel.getFavouriteMerchandise());
}
diff --git a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/ValidationCustomControl.java b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/ValidationCustomControl.java
index 7e61582..a1777eb 100644
--- a/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/ValidationCustomControl.java
+++ b/tests/org.eclipse.emf.ecp.view.custom.ui.swt.test/src/org/eclipse/emf/ecp/view/custom/ui/swt/test/ValidationCustomControl.java
@@ -21,10 +21,10 @@
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
import org.eclipse.emf.emfstore.bowling.BowlingPackage;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -70,7 +70,7 @@
/**
* {@inheritDoc}
*
- * @see org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT#renderControl(org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell,
+ * @see org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
* org.eclipse.swt.widgets.Composite)
*/
@Override
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.feature/feature.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.feature/feature.xml
index 9232aff..ae7bd64 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.feature/feature.xml
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.feature/feature.xml
@@ -2,12 +2,12 @@
<feature
id="org.eclipse.emf.ecp.view.dynamictree.feature"
label="Dynamic Tree Feature"
- version="1.5.1.qualifier"
+ version="1.6.0.qualifier"
provider-name="Eclipse Modeling Project"
plugin="org.eclipse.emf.ecp.view.dynamictree.model"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.emf.ecp.license.feature"
- license-feature-version="1.5.1.qualifier">
+ license-feature-version="1.6.0.qualifier">
<description>
%description
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.feature/pom.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.feature/pom.xml
index 6aa6766..f624d3d 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.feature/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.dynamictree.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/META-INF/MANIFEST.MF
index d254476..1ed871b 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Dynamic Containment Tree Edit Plugin
Bundle-SymbolicName: org.eclipse.emf.ecp.view.dynamictree.model.edit;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.ecp.view.dynamictree.model.provider.DynamicTreeEditPlugin$Implementation
Bundle-Vendor: Eclipse Modeling Project
@@ -19,4 +19,4 @@
org.eclipse.emf.ecp.view.model.edit;visibility:=reexport;bundle-version="[1.5.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.ecp.view.dynamictree.model.provider;ve
- rsion="1.5.1"
+ rsion="1.6.0"
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/pom.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/pom.xml
index 1b99780..cfc9d19 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model.edit/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.dynamictree.model.edit</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/DynamicTreeTest.launch b/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/DynamicTreeTest.launch
index e314802..240ee47 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/DynamicTreeTest.launch
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/DynamicTreeTest.launch
@@ -32,8 +32,8 @@
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.6.0.v201011041432@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.6.0.v201011041432@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.6.0.v201011041432@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.emf.transaction@default:default,org.eclipse.emf.validation@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.dynamictree.model.edit@default:default,org.eclipse.emf.ecp.view.dynamictree.model.test@default:default,org.eclipse.emf.ecp.view.dynamictree.model@default:default,org.eclipse.emf.ecp.view.dynamictree.ui.swt@default:default,org.eclipse.emf.ecp.view.dynamictree.ui@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:false,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.editor.testplugin@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.validation.test@default:false,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.emf.transaction@default:default,org.eclipse.emf.validation@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.dynamictree.model.edit@default:default,org.eclipse.emf.ecp.view.dynamictree.model.test@default:default,org.eclipse.emf.ecp.view.dynamictree.model@default:default,org.eclipse.emf.ecp.view.dynamictree.ui.swt@default:default,org.eclipse.emf.ecp.view.dynamictree.ui@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:false,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.editor.testplugin@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emf.emfforms.core.services.labelprovider@default:default,org.eclipse.emf.emfforms.localization@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/META-INF/MANIFEST.MF
index b809f1b..5478a26 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Dynamic Containment Tree Tests
Bundle-SymbolicName: org.eclipse.emf.ecp.view.dynamictree.model.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.dynamictree.model.test.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.junit;bundle-version="4.11.0",
@@ -23,7 +23,7 @@
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.dynamictree.model.test;versio
- n="1.5.1"; uses:="org.eclipse.emf.ecore, org.eclipse.core.databindin
+ n="1.6.0"; uses:="org.eclipse.emf.ecore, org.eclipse.core.databindin
g, org.eclipse.emf.ecp.view.context, org.eclipse.emf.ecp.internal.u
i.view.renderer, org.osgi.framework, org.eclipse.emf.ecp.view.dynam
ictree.model, org.eclipse.emf.edit.provider, org.eclipse.emf.ecp.ed
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/pom.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/pom.xml
index 78f91d4..54ab7c5 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.dynamictree.model.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -28,33 +28,41 @@
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
<testFailureIgnore>true</testFailureIgnore>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.validation.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.dynamictree.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.validation.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.dynamictree.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model/.gitignore b/tests/org.eclipse.emf.ecp.view.dynamictree.model/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model/.project b/tests/org.eclipse.emf.ecp.view.dynamictree.model/.project
index e394e2e..c920f1f 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model/.project
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model/.project
@@ -30,6 +30,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.dynamictree.model/META-INF/MANIFEST.MF
index 9fb37be..6fbccd5 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model/META-INF/MANIFEST.MF
@@ -2,16 +2,20 @@
Bundle-ManifestVersion: 2
Bundle-Name: Dynamic Containment Tree Model Plugin
Bundle-SymbolicName: org.eclipse.emf.ecp.view.dynamictree.model;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: Eclipse Modeling Project
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.dynamictree.model;version="1.
- 5.1",org.eclipse.emf.ecp.view.dynamictree.model.impl;version="1.5.1",
- org.eclipse.emf.ecp.view.dynamictree.model.util;version="1.5.1"
+ 6.0",org.eclipse.emf.ecp.view.dynamictree.model.impl;version="1.6.0",
+ org.eclipse.emf.ecp.view.dynamictree.model.util;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.ecore;visibility:=reexport;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.ecp.view.categorization.model;visibility:=reexport;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.model;visibility:=reexport;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
Bundle-ActivationPolicy: lazy
+Service-Component: OSGI-INF/dynamicContainmentTreeDMRConverter.xml
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model/OSGI-INF/dynamicContainmentTreeDMRConverter.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.model/OSGI-INF/dynamicContainmentTreeDMRConverter.xml
new file mode 100644
index 0000000..2d4c3f2
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model/OSGI-INF/dynamicContainmentTreeDMRConverter.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.emf.ecp.view.dynamictree.model">
+ <implementation class="org.eclipse.emf.ecp.view.dynamictree.model.impl.DynamicContainmentTreeDMRConverter"/>
+ <service>
+ <provide interface="org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter"/>
+ </service>
+</scr:component>
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model/build.properties b/tests/org.eclipse.emf.ecp.view.dynamictree.model/build.properties
index 4465407..0150138 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model/build.properties
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model/build.properties
@@ -1,10 +1,9 @@
-#
-
bin.includes = .,\
model/,\
META-INF/,\
plugin.xml,\
- plugin.properties
+ plugin.properties,\
+ OSGI-INF/
+output.. = bin/
jars.compile.order = .
source.. = src/
-output.. = bin/
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model/pom.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.model/pom.xml
index 4a3744c..bb40159 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.model/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.dynamictree.model</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model/src/org/eclipse/emf/ecp/view/dynamictree/model/Activator.java b/tests/org.eclipse.emf.ecp.view.dynamictree.model/src/org/eclipse/emf/ecp/view/dynamictree/model/Activator.java
new file mode 100644
index 0000000..97e48ee
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model/src/org/eclipse/emf/ecp/view/dynamictree/model/Activator.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.dynamictree.model;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ *
+ * @author Lucas Koehler
+ */
+public class Activator extends Plugin {
+
+ /** The plug-in ID. */
+ public static final String PLUGIN_ID = "org.eclipse.emf.ecp.view.dynamictree.model"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor.
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Returns the {@link EMFFormsDatabinding} service.
+ *
+ * @return The {@link EMFFormsDatabinding}
+ */
+ public EMFFormsDatabinding getEMFFormsDatabinding() {
+ final ServiceReference<EMFFormsDatabinding> serviceReference = plugin.getBundle().getBundleContext()
+ .getServiceReference(EMFFormsDatabinding.class);
+
+ final EMFFormsDatabinding service = plugin.getBundle().getBundleContext()
+ .getService(serviceReference);
+ plugin.getBundle().getBundleContext().ungetService(serviceReference);
+
+ return service;
+ }
+}
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model/src/org/eclipse/emf/ecp/view/dynamictree/model/impl/DynamicContainmentTreeDMRConverter.java b/tests/org.eclipse.emf.ecp.view.dynamictree.model/src/org/eclipse/emf/ecp/view/dynamictree/model/impl/DynamicContainmentTreeDMRConverter.java
new file mode 100644
index 0000000..ca8d52e
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model/src/org/eclipse/emf/ecp/view/dynamictree/model/impl/DynamicContainmentTreeDMRConverter.java
@@ -0,0 +1,204 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.dynamictree.model.impl;
+
+import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.dynamictree.model.DynamicContainmentItem;
+import org.eclipse.emf.ecp.view.dynamictree.model.DynamicContainmentTreeDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * A {@link DomainModelReferenceConverter} that converts a {@link DynamicContainmentTreeDomainModelReference} to an
+ * {@link IListProperty IListProperty} or an {@link IValueProperty}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class DynamicContainmentTreeDMRConverter implements DomainModelReferenceConverter {
+ private EMFFormsDatabinding emfFormsDatabinding;
+ private ServiceReference<EMFFormsDatabinding> databindingServiceReference;
+
+ /**
+ * Sets the {@link EMFFormsDatabinding}.
+ *
+ * @param emfFormsDatabinding the emfFormsDatabinding to set
+ */
+ void setEMFFormsDatabinding(EMFFormsDatabinding emfFormsDatabinding) {
+ this.emfFormsDatabinding = emfFormsDatabinding;
+ }
+
+ /**
+ * Unsets the {@link EMFFormsDatabinding}.
+ */
+ void unsetEMFFormsDatabinding() {
+ emfFormsDatabinding = null;
+ }
+
+ /**
+ * This method is called by the OSGI framework when this {@link DomainModelReferenceConverter} is activated. It
+ * retrieves the {@link EMFFormsDatabinding EMF Forms databinding service}.
+ *
+ * @param bundleContext The {@link BundleContext} of this classes bundle.
+ */
+ protected final void activate(BundleContext bundleContext) {
+ databindingServiceReference = bundleContext.getServiceReference(EMFFormsDatabinding.class);
+ setEMFFormsDatabinding(bundleContext.getService(databindingServiceReference));
+
+ }
+
+ /**
+ * This method is called by the OSGI framework when this {@link DomainModelReferenceConverter} is deactivated.
+ * It frees the {@link EMFFormsDatabinding EMF Forms databinding service}.
+ *
+ * @param bundleContext The {@link BundleContext} of this classes bundle.
+ */
+ protected final void deactivate(BundleContext bundleContext) {
+ unsetEMFFormsDatabinding();
+ bundleContext.ungetService(databindingServiceReference);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#isApplicable(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)
+ */
+ @Override
+ public double isApplicable(VDomainModelReference domainModelReference) {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (domainModelReference instanceof DynamicContainmentTreeDomainModelReference) {
+ return 10d;
+ }
+ return NOT_APPLICABLE;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)
+ */
+ @Override
+ public IValueProperty convertToValueProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ final DynamicContainmentTreeDomainModelReference dynamicContainmentTreeReference = getAndCheckDynamicContainmentTreeDMR(domainModelReference);
+
+ final int index = getIndex(dynamicContainmentTreeReference);
+
+ final EMFIndexedValuePropertyDelegator indexedProperty = getIndexedRootProperty(
+ dynamicContainmentTreeReference, index, object);
+ final IValueProperty valuePropertyFromBase = emfFormsDatabinding
+ .getValueProperty(dynamicContainmentTreeReference.getPathFromBase(), object);
+
+ return indexedProperty.value(valuePropertyFromBase);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)
+ */
+ @Override
+ public IListProperty convertToListProperty(VDomainModelReference domainModelReference, EObject object)
+ throws DatabindingFailedException {
+ final DynamicContainmentTreeDomainModelReference dynamicContainmentTreeReference = getAndCheckDynamicContainmentTreeDMR(domainModelReference);
+
+ final int index = getIndex(dynamicContainmentTreeReference);
+
+ final EMFIndexedValuePropertyDelegator indexedProperty = getIndexedRootProperty(
+ dynamicContainmentTreeReference, index, object);
+ final IListProperty listPropertyFromBase = emfFormsDatabinding
+ .getListProperty(dynamicContainmentTreeReference.getPathFromBase(), object);
+
+ return indexedProperty.list(listPropertyFromBase);
+ }
+
+ private EMFIndexedValuePropertyDelegator getIndexedRootProperty(
+ final DynamicContainmentTreeDomainModelReference dynamicContainmentTreeReference, final int index,
+ EObject object)
+ throws DatabindingFailedException, IllegalListTypeException {
+ final IValueProperty valuePropertyFromRoot = emfFormsDatabinding
+ .getValueProperty(dynamicContainmentTreeReference.getPathFromRoot(), object);
+ final EStructuralFeature structuralFeature = (EStructuralFeature) valuePropertyFromRoot.getValueType();
+ checkListType(structuralFeature);
+
+ final EMFIndexedValuePropertyDelegator indexedProperty = new EMFIndexedValuePropertyDelegator(
+ valuePropertyFromRoot, index);
+ return indexedProperty;
+ }
+
+ private DynamicContainmentTreeDomainModelReference getAndCheckDynamicContainmentTreeDMR(
+ VDomainModelReference domainModelReference) throws DatabindingFailedException {
+ if (domainModelReference == null) {
+ throw new IllegalArgumentException("The given VDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (!DynamicContainmentTreeDomainModelReference.class.isInstance(domainModelReference)) {
+ throw new IllegalArgumentException(
+ "DomainModelReference must be an instance of DynamicContainmentTreeDomainModelReference."); //$NON-NLS-1$
+ }
+
+ final DynamicContainmentTreeDomainModelReference dynamicContainmentTreeReference = DynamicContainmentTreeDomainModelReference.class
+ .cast(domainModelReference);
+ if (dynamicContainmentTreeReference.getPathFromRoot() == null) {
+ throw new DatabindingFailedException(
+ "The field pathFromRoot of the given DynamicContainmentTreeDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ if (dynamicContainmentTreeReference.getPathFromBase() == null) {
+ throw new DatabindingFailedException(
+ "The field pathFromBase of the given DynamicContainmentTreeDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ return dynamicContainmentTreeReference;
+ }
+
+ private int getIndex(DynamicContainmentTreeDomainModelReference reference) throws DatabindingFailedException {
+ EObject parent = reference.eContainer();
+ while (!DynamicContainmentItem.class.isInstance(parent) && parent != null) {
+ parent = parent.eContainer();
+ }
+ if (parent == null) {
+ throw new DatabindingFailedException(
+ "The base item index of the DynamicContainmentTreeDomainModelReference could not be resolved because its container is null."); //$NON-NLS-1$
+ }
+ final DynamicContainmentItem packingItem = (DynamicContainmentItem) parent;
+ if (packingItem.getBaseItemIndex() == null) {
+ throw new DatabindingFailedException(
+ "The base item index of the DynamicContainmentTreeDomainModelReference must not be null."); //$NON-NLS-1$
+ }
+ return packingItem.getBaseItemIndex();
+ }
+
+ /**
+ * Checks whether the given structural feature references a proper list to generate a value or list property.
+ *
+ * @param structuralFeature The feature to check
+ * @throws IllegalListTypeException if the structural feature doesn't reference a proper list.
+ */
+ private void checkListType(EStructuralFeature structuralFeature) throws IllegalListTypeException {
+ if (!structuralFeature.isMany()) {
+ throw new IllegalListTypeException(
+ "The DynamicContainmentTreeDomainModelReference's base feature must reference a list."); //$NON-NLS-1$
+ }
+ if (!EReference.class.isInstance(structuralFeature)) {
+ throw new IllegalListTypeException(
+ "The DynamicContainmentTreeDomainModelReference's base feature must reference a list of EObjects."); //$NON-NLS-1$
+ }
+ }
+}
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model/src/org/eclipse/emf/ecp/view/dynamictree/model/impl/EMFIndexedValuePropertyDelegator.java b/tests/org.eclipse.emf.ecp.view.dynamictree.model/src/org/eclipse/emf/ecp/view/dynamictree/model/impl/EMFIndexedValuePropertyDelegator.java
new file mode 100644
index 0000000..62e9e64
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model/src/org/eclipse/emf/ecp/view/dynamictree/model/impl/EMFIndexedValuePropertyDelegator.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.dynamictree.model.impl;
+
+import java.util.List;
+
+import org.eclipse.core.databinding.property.INativePropertyListener;
+import org.eclipse.core.databinding.property.ISimplePropertyListener;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.core.databinding.property.value.SimpleValueProperty;
+
+/**
+ * This class adds support for addressing specific elements of a list by an index to an encapsulated
+ * {@link IValueProperty}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFIndexedValuePropertyDelegator extends SimpleValueProperty {
+
+ private final IValueProperty delegate;
+ private final int index;
+
+ /**
+ * Creates a new instance of {@link EMFIndexedValuePropertyDelegator}.
+ *
+ * @param delegate The encapsulated {@link IValueProperty}
+ * @param index The list index
+ */
+ public EMFIndexedValuePropertyDelegator(IValueProperty delegate, int index) {
+ this.delegate = delegate;
+ if (index < 0) {
+ throw new IllegalArgumentException("The list index must not be negative!"); //$NON-NLS-1$
+ }
+ this.index = index;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.databinding.property.value.IValueProperty#getValueType()
+ */
+ @Override
+ public Object getValueType() {
+ return delegate.getValueType();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.databinding.property.value.SimpleValueProperty#doGetValue(java.lang.Object)
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ protected Object doGetValue(Object source) {
+ final Object result = delegate.getValue(source);
+ final List<Object> list = (List<Object>) result;
+ if (list != null && index >= list.size()) {
+ return null;
+ }
+ return list.get(index);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.databinding.property.value.SimpleValueProperty#doSetValue(java.lang.Object,
+ * java.lang.Object)
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ protected void doSetValue(Object source, Object value) {
+ final Object result = delegate.getValue(source);
+ final List<Object> list = (List<Object>) result;
+ list.set(index, value);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.databinding.property.value.SimpleValueProperty#adaptListener(org.eclipse.core.databinding.property.ISimplePropertyListener)
+ */
+ @Override
+ public INativePropertyListener adaptListener(ISimplePropertyListener listener) {
+ // TODO return suitable listener; maybe not needed as some other implementation of SimpleValueProperty return
+ // null, too.
+ return null;
+ }
+}
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.model/src/org/eclipse/emf/ecp/view/dynamictree/model/impl/IllegalListTypeException.java b/tests/org.eclipse.emf.ecp.view.dynamictree.model/src/org/eclipse/emf/ecp/view/dynamictree/model/impl/IllegalListTypeException.java
new file mode 100644
index 0000000..054d3e2
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.model/src/org/eclipse/emf/ecp/view/dynamictree/model/impl/IllegalListTypeException.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.dynamictree.model.impl;
+
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+
+/**
+ * This {@link IllegalListTypeException} is thrown by a {@link DynamicContainmentTreeDMRConverter} when the base
+ * feature of a {@link org.eclipse.emf.ecp.view.dynamictree.model.DynamicContainmentTreeDomainModelReference
+ * DynamicContainmentTreeDomainModelReference} is not a list or the list is not of the type
+ * {@link org.eclipse.emf.ecore.EReference EReference} .
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class IllegalListTypeException extends DatabindingFailedException {
+
+ private static final long serialVersionUID = 5721328492316894438L;
+
+ /**
+ * Creates a new {@link IllegalListTypeException} with the given message.
+ *
+ * @param message The message text of the exception
+ */
+ public IllegalListTypeException(String message) {
+ super(message);
+ }
+}
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/META-INF/MANIFEST.MF
index 5f6fe17..fa908e8 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/META-INF/MANIFEST.MF
@@ -2,18 +2,21 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Model Dynamic Tree SWT UI
Bundle-SymbolicName: org.eclipse.emf.ecp.view.dynamictree.ui.swt;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecp.view.dynamictree.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.ui;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.swt.core
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Import-Package: org.eclipse.jface.layout;version="0.0.0",
+Import-Package: org.eclipse.emfforms.spi.common.report;version="1.6.0",
+ org.eclipse.emfforms.spi.core.services.databinding;version="1.6.0",
+ org.eclipse.jface.layout;version="0.0.0",
org.eclipse.swt;version="0.0.0",
org.eclipse.swt.widgets;version="0.0.0"
Export-Package: org.eclipse.emf.ecp.view.dynamictree.ui.swt;version="1
- .5.1";x-internal:=true
+ .6.0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/pom.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/pom.xml
index 76f130d..557f8a2 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/pom.xml
@@ -7,11 +7,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.dynamictree.ui.swt</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentItemRenderer.java b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentItemRenderer.java
index 4e395c5..405501d 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentItemRenderer.java
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentItemRenderer.java
@@ -1,50 +1,82 @@
-/**
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Edgar Mueller - initial API and implementation
- */
-package org.eclipse.emf.ecp.view.dynamictree.ui.swt;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.emf.ecp.view.dynamictree.model.DynamicContainmentItem;
-import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
-
-/**
- * SWT renderer for {@link DynamicContainmentItem}s.
- *
- * @author emueller
- */
-public class SWTDynamicContainmentItemRenderer extends ContainerSWTRenderer<DynamicContainmentItem> {
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getCustomVariant()
- */
- @Override
- protected String getCustomVariant() {
- // TODO Auto-generated method stub
- return "test";
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getChildren()
- */
-
- @Override
- protected Collection<VContainedElement> getChildren() {
- return Collections.singleton(getVElement().getComposite());
- }
-
-}
+/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Edgar Mueller - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.dynamictree.ui.swt;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.emf.ecp.view.dynamictree.model.DynamicContainmentItem;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * SWT renderer for {@link DynamicContainmentItem}s.
+ *
+ * @author emueller
+ */
+public class SWTDynamicContainmentItemRenderer extends ContainerSWTRenderer<DynamicContainmentItem> {
+
+ private static final EMFFormsDatabinding emfFormsDatabinding;
+ private static final EMFFormsRendererFactory emfFormsRendererFactory;
+
+ static {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(SWTDynamicContainmentTreeRenderer.class)
+ .getBundleContext();
+ final ServiceReference<EMFFormsDatabinding> emfFormsDatabindingServiceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ emfFormsDatabinding = bundleContext.getService(emfFormsDatabindingServiceReference);
+ final ServiceReference<EMFFormsRendererFactory> emfFormsLabelProviderServiceReference = bundleContext
+ .getServiceReference(EMFFormsRendererFactory.class);
+ emfFormsRendererFactory = bundleContext.getService(emfFormsLabelProviderServiceReference);
+ }
+
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public SWTDynamicContainmentItemRenderer(DynamicContainmentItem vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService, emfFormsRendererFactory, emfFormsDatabinding);
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getCustomVariant()
+ */
+ @Override
+ protected String getCustomVariant() {
+ // TODO Auto-generated method stub
+ return "test";
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getChildren()
+ */
+
+ @Override
+ protected Collection<VContainedElement> getChildren() {
+ return Collections.singleton(getVElement().getComposite());
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentTreeRenderer.java b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentTreeRenderer.java
index 2352913..f6f4461 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentTreeRenderer.java
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.ui.swt/src/org/eclipse/emf/ecp/view/dynamictree/ui/swt/SWTDynamicContainmentTreeRenderer.java
@@ -1,50 +1,81 @@
-/**
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Edgar Mueller - initial API and implementation
- */
-package org.eclipse.emf.ecp.view.dynamictree.ui.swt;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.emf.ecp.view.dynamictree.model.DynamicContainmentTree;
-import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
-
-/**
- * SWT renderer for {@link DynamicContainmentTree}s.
- *
- * @author emueller
- */
-public class SWTDynamicContainmentTreeRenderer extends ContainerSWTRenderer<DynamicContainmentTree> {
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getCustomVariant()
- */
- @Override
- protected String getCustomVariant() {
- // TODO Auto-generated method stub
- return "testTree";
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getChildren()
- */
- @Override
- protected Collection<VContainedElement> getChildren() {
- // TODO Auto-generated method stub
- return Collections.singleton(getVElement().getComposite());
- }
-
-}
+/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Edgar Mueller - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.dynamictree.ui.swt;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.emf.ecp.view.dynamictree.model.DynamicContainmentTree;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * SWT renderer for {@link DynamicContainmentTree}s.
+ *
+ * @author emueller
+ */
+public class SWTDynamicContainmentTreeRenderer extends ContainerSWTRenderer<DynamicContainmentTree> {
+
+ private static final EMFFormsDatabinding emfFormsDatabinding;
+ private static final EMFFormsRendererFactory emfFormsRendererFactory;
+
+ static {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(SWTDynamicContainmentTreeRenderer.class)
+ .getBundleContext();
+ final ServiceReference<EMFFormsDatabinding> emfFormsDatabindingServiceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ emfFormsDatabinding = bundleContext.getService(emfFormsDatabindingServiceReference);
+ final ServiceReference<EMFFormsRendererFactory> emfFormsLabelProviderServiceReference = bundleContext
+ .getServiceReference(EMFFormsRendererFactory.class);
+ emfFormsRendererFactory = bundleContext.getService(emfFormsLabelProviderServiceReference);
+ }
+
+ /**
+ * @param vElement the view model element to be rendered
+ * @param viewContext the view context
+ * @param reportService the {@link ReportService}
+ */
+ public SWTDynamicContainmentTreeRenderer(DynamicContainmentTree vElement, ViewModelContext viewContext,
+ ReportService reportService) {
+ super(vElement, viewContext, reportService, emfFormsRendererFactory, emfFormsDatabinding);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getCustomVariant()
+ */
+ @Override
+ protected String getCustomVariant() {
+ // TODO Auto-generated method stub
+ return "testTree";
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getChildren()
+ */
+ @Override
+ protected Collection<VContainedElement> getChildren() {
+ // TODO Auto-generated method stub
+ return Collections.singleton(getVElement().getComposite());
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.ui/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.dynamictree.ui/META-INF/MANIFEST.MF
index 85b2575..ddd2420 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.ui/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Model Dynamic Tree UI
Bundle-SymbolicName: org.eclipse.emf.ecp.view.dynamictree.ui;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Bundle-Vendor: Eclipse Modeling Project
@@ -10,6 +10,7 @@
org.eclipse.emf.ecp.view.dynamictree.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
org.eclipse.core.runtime;bundle-version="3.9.0",
- org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.5.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.view.dynamictree.ui;version="1.5.1
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
+Export-Package: org.eclipse.emf.ecp.view.dynamictree.ui;version="1.6.0
";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.dynamictree.ui/pom.xml b/tests/org.eclipse.emf.ecp.view.dynamictree.ui/pom.xml
index e055ef3..9e6bdbd 100644
--- a/tests/org.eclipse.emf.ecp.view.dynamictree.ui/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.dynamictree.ui/pom.xml
@@ -7,11 +7,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.dynamictree.ui</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.test/.gitignore b/tests/org.eclipse.emf.ecp.view.edapt.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.edapt.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.edapt.test/META-INF/MANIFEST.MF
index 3836b45..9c59742 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.edapt.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Test
Bundle-SymbolicName: org.eclipse.emf.ecp.view.edapt.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.view.edapt;bundle-version="1.4.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
@@ -17,6 +17,6 @@
org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.5.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.view.edapt.test;version="1.5.1";x-
+Export-Package: org.eclipse.emf.ecp.view.edapt.test;version="1.6.0";x-
internal:=true,org.eclipse.emf.ecp.view.edapt.test._140to150;version=
- "1.5.1";x-internal:=true
+ "1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.test/MigrationTest.launch b/tests/org.eclipse.emf.ecp.view.edapt.test/MigrationTest.launch
index bce96df..6a8913c 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.test/MigrationTest.launch
+++ b/tests/org.eclipse.emf.ecp.view.edapt.test/MigrationTest.launch
@@ -33,7 +33,7 @@
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,lpg.runtime.java@default:default,org.apache.ant@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edapt.common@default:default,org.eclipse.emf.edapt.declaration@default:default,org.eclipse.emf.edapt.history@default:default,org.eclipse.emf.edapt.migration@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jdt.annotation*2.0.0.v20140415-1436@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.ocl.common@default:default,org.eclipse.ocl.ecore@default:default,org.eclipse.ocl@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.ant.junit@default:false,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="ViewModelProjectTemplate@default:default,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ide.editor.view@default:default,org.eclipse.emf.ecp.ide.editor.viewmodel@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.makeithappen.model.viewmodel@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model.edit@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model.edit@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.dynamictree.model.edit@default:default,org.eclipse.emf.ecp.view.dynamictree.model@default:default,org.eclipse.emf.ecp.view.edapt.test@default:false,org.eclipse.emf.ecp.view.edapt@default:default,org.eclipse.emf.ecp.view.group.model.edit@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.groupedgrid.model.edit@default:default,org.eclipse.emf.ecp.view.groupedgrid.model@default:default,org.eclipse.emf.ecp.view.horizontal.model.edit@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.indexdmr.databinding@default:default,org.eclipse.emf.ecp.view.indexdmr.model.edit@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.edit@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model@default:default,org.eclipse.emf.ecp.view.label.model.edit@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.model.edit@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common.di@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.preview.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model.edit@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.section.model.edit@default:default,org.eclipse.emf.ecp.view.section.model@default:default,org.eclipse.emf.ecp.view.stack.model.edit@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.stack.viewmodel@default:default,org.eclipse.emf.ecp.view.table.edapt@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model.edit@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.viewproxy.model.edit@default:default,org.eclipse.emf.ecp.view.viewproxy.model@default:default,org.eclipse.emf.ecp.workspace.core@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="ViewModelProjectTemplate@default:default,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ide.editor.view@default:default,org.eclipse.emf.ecp.ide.editor.viewmodel@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.makeithappen.model.viewmodel@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model.edit@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model.edit@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.dynamictree.model.edit@default:default,org.eclipse.emf.ecp.view.dynamictree.model@default:default,org.eclipse.emf.ecp.view.edapt.test@default:false,org.eclipse.emf.ecp.view.edapt@default:default,org.eclipse.emf.ecp.view.group.model.edit@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.groupedgrid.model.edit@default:default,org.eclipse.emf.ecp.view.groupedgrid.model@default:default,org.eclipse.emf.ecp.view.horizontal.model.edit@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.indexdmr.model.edit@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.edit@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model@default:default,org.eclipse.emf.ecp.view.label.model.edit@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.model.edit@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common.di@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.preview.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model.edit@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.section.model.edit@default:default,org.eclipse.emf.ecp.view.section.model@default:default,org.eclipse.emf.ecp.view.stack.model.edit@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.stack.viewmodel@default:default,org.eclipse.emf.ecp.view.table.edapt@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model.edit@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.viewproxy.model.edit@default:default,org.eclipse.emf.ecp.view.viewproxy.model@default:default,org.eclipse.emf.ecp.workspace.core@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.edapt.test/pom.xml
index 6fdc0a9..eede019 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.edapt.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.edapt.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,33 +24,41 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.edapt.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.template.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.edapt.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/.gitignore b/tests/org.eclipse.emf.ecp.view.edapt.util.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.edapt.util.test/META-INF/MANIFEST.MF
index e016634..2429d8f 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/META-INF/MANIFEST.MF
@@ -2,52 +2,45 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.edapt.util.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Fragment-Host: org.eclipse.emf.ecp.view.edapt;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.view.edapt;version="1.5.1";x-inter
- nal:=true,org.eclipse.emf.ecp.view.edapt.util.test.model.a;version="1
- .5.1";x-internal:=true,org.eclipse.emf.ecp.view.edapt.util.test.model
- .a.impl;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.eda
- pt.util.test.model.a.util;version="1.5.1";x-internal:=true,org.eclips
- e.emf.ecp.view.edapt.util.test.model.b;version="1.5.1";x-internal:=tr
- ue,org.eclipse.emf.ecp.view.edapt.util.test.model.b.impl;version="1.5
- .1";x-internal:=true,org.eclipse.emf.ecp.view.edapt.util.test.model.b
- .util;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.edapt
- .util.test.model.c;version="1.5.1";x-internal:=true,org.eclipse.emf.e
- cp.view.edapt.util.test.model.c.impl;version="1.5.1";x-internal:=true
- ,org.eclipse.emf.ecp.view.edapt.util.test.model.c.util;version="1.5.1
- ";x-internal:=true,org.eclipse.emf.ecp.view.edapt.util.test.model.d;v
- ersion="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.edapt.util.t
- est.model.d.impl;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp
- .view.edapt.util.test.model.d.util;version="1.5.1";x-internal:=true,o
- rg.eclipse.emf.ecp.view.edapt.util.test.model.e;version="1.5.1";x-int
- ernal:=true,org.eclipse.emf.ecp.view.edapt.util.test.model.e.impl;ver
- sion="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.edapt.util.tes
- t.model.e.util;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.v
- iew.edapt.util.test.model.f;version="1.5.1";x-internal:=true,org.ecli
- pse.emf.ecp.view.edapt.util.test.model.f.impl;version="1.5.1";x-inter
- nal:=true,org.eclipse.emf.ecp.view.edapt.util.test.model.f.util;versi
- on="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.edapt.util.test.
- model.w;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.eda
- pt.util.test.model.w.impl;version="1.5.1";x-internal:=true,org.eclips
- e.emf.ecp.view.edapt.util.test.model.w.util;version="1.5.1";x-interna
- l:=true,org.eclipse.emf.ecp.view.edapt.util.test.model.x;version="1.5
- .1";x-internal:=true,org.eclipse.emf.ecp.view.edapt.util.test.model.x
- .impl;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.edapt
- .util.test.model.x.util;version="1.5.1";x-internal:=true,org.eclipse.
- emf.ecp.view.edapt.util.test.model.y;version="1.5.1";x-internal:=true
- ,org.eclipse.emf.ecp.view.edapt.util.test.model.y.impl;version="1.5.1
- ";x-internal:=true,org.eclipse.emf.ecp.view.edapt.util.test.model.y.u
- til;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.edapt.u
- til.test.model.z;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp
- .view.edapt.util.test.model.z.impl;version="1.5.1";x-internal:=true,o
- rg.eclipse.emf.ecp.view.edapt.util.test.model.z.util;version="1.5.1";
- x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.edapt;version="1.6.0",
+ org.eclipse.emf.ecp.view.edapt.util.test.model.a;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.a.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.a.util;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.b;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.b.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.b.util;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.c;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.c.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.c.util;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.d;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.d.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.d.util;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.e;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.e.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.e.util;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.f;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.f.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.f.util;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.w;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.w.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.w.util;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.x;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.x.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.x.util;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.y;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.y.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.y.util;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.z;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.z.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emf.ecp.view.edapt.util.test.model.z.util;version="1.6.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.core.runtime.compatibility;bundle-version="[3.2.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
org.junit;bundle-version="[4.0.0,5.0.0)"
Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/model/circle.genmodel b/tests/org.eclipse.emf.ecp.view.edapt.util.test/model/circle.genmodel
index 43df4a9..c15d7d4 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/model/circle.genmodel
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/model/circle.genmodel
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.ecp.view.edapt.util.test/src"
- modelPluginID="org.eclipse.emf.ecp.view.edapt.util.test" modelName="Circle" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html

Contributors:"
+ modelDirectory="/org.eclipse.emf.ecp.view.edapt.util.test/src" modelPluginID="org.eclipse.emf.ecp.view.edapt.util.test"
+ modelName="Circle" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
rootImplementsInterface="" runtimeCompatibility="true" importerID="org.eclipse.emf.importer.ecore"
complianceLevel="6.0" copyrightFields="false" interfaceNamePattern="EdaptTest{0}"
classNamePattern="EdaptTest{0}Impl" operationReflection="true" importOrganizing="true">
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/plugin.properties b/tests/org.eclipse.emf.ecp.view.edapt.util.test/plugin.properties
index 0648245..ac94672 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/plugin.properties
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/plugin.properties
@@ -1,4 +1,4 @@
#
pluginName = Circle Model
-providerName = www.example.org
+providerName = Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/pom.xml b/tests/org.eclipse.emf.ecp.view.edapt.util.test/pom.xml
index 1dcbc3e..cfd956d 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.edapt.util.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/EdaptTestA.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/EdaptTestA.java
index eb8c989..5b58b38 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/EdaptTestA.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/EdaptTestA.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.a;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/EdaptTestAFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/EdaptTestAFactory.java
index 58501ed..f69aa44 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/EdaptTestAFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/EdaptTestAFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.a;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/EdaptTestAPackage.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/EdaptTestAPackage.java
index 2c3cda2..4776294 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/EdaptTestAPackage.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/EdaptTestAPackage.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.a;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/impl/EdaptTestAFactoryImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/impl/EdaptTestAFactoryImpl.java
index aa0b00e..058e0bb 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/impl/EdaptTestAFactoryImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/impl/EdaptTestAFactoryImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.a.impl;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/impl/EdaptTestAImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/impl/EdaptTestAImpl.java
index de45765..8e48870 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/impl/EdaptTestAImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/impl/EdaptTestAImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.a.impl;
@@ -11,8 +19,6 @@
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>A</b></em>'.
* <!-- end-user-doc -->
- * <p>
- * </p>
*
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/impl/EdaptTestAPackageImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/impl/EdaptTestAPackageImpl.java
index 3486f03..1868286 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/impl/EdaptTestAPackageImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/impl/EdaptTestAPackageImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.a.impl;
@@ -44,13 +52,16 @@
private EClass aEClass = null;
/**
- * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
- * EPackage.Registry} by the package
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>
- * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
- * performs initialization of the package, or returns the registered package, if one already exists. <!--
- * begin-user-doc --> <!-- end-user-doc -->
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.a.EdaptTestAPackage#eNS_URI
@@ -73,9 +84,10 @@
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>
- * This method is used to initialize {@link EdaptTestAPackage#eINSTANCE} when that field is accessed. Clients should
- * not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
+ * This method is used to initialize {@link EdaptTestAPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see #eNS_URI
* @see #createPackageContents()
@@ -88,40 +100,40 @@
}
// Obtain or create and register package
- final EdaptTestAPackageImpl theAPackage = (EdaptTestAPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EdaptTestAPackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new EdaptTestAPackageImpl());
+ final EdaptTestAPackageImpl theAPackage = (EdaptTestAPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof EdaptTestAPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new EdaptTestAPackageImpl());
isInited = true;
// Obtain or create and register interdependencies
final EdaptTestBPackageImpl theBPackage = (EdaptTestBPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
+ .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
final EdaptTestCPackageImpl theCPackage = (EdaptTestCPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
+ .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
final EdaptTestDPackageImpl theDPackage = (EdaptTestDPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
+ .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
final EdaptTestEPackageImpl theEPackage = (EdaptTestEPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
+ .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
final EdaptTestFPackageImpl theFPackage = (EdaptTestFPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
+ .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
final EdaptTestWPackageImpl theWPackage = (EdaptTestWPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
+ .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
final EdaptTestXPackageImpl theXPackage = (EdaptTestXPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
+ .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
final EdaptTestYPackageImpl theYPackage = (EdaptTestYPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
+ .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
final EdaptTestZPackageImpl theZPackage = (EdaptTestZPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
+ .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
// Create package meta-data objects
theAPackage.createPackageContents();
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/util/AAdapterFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/util/AAdapterFactory.java
index 54f2eb1..28110f3 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/util/AAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/util/AAdapterFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.a.util;
@@ -69,18 +77,17 @@
*
* @generated
*/
- protected ASwitch<Adapter> modelSwitch =
- new ASwitch<Adapter>() {
- @Override
- public Adapter caseA(EdaptTestA object) {
- return createAAdapter();
- }
+ protected ASwitch<Adapter> modelSwitch = new ASwitch<Adapter>() {
+ @Override
+ public Adapter caseA(EdaptTestA object) {
+ return createAAdapter();
+ }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
/**
* Creates an adapter for the <code>target</code>.
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/util/ASwitch.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/util/ASwitch.java
index 4e3c579..a46ca06 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/util/ASwitch.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/a/util/ASwitch.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.a.util;
@@ -11,8 +19,8 @@
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each
- * class of the model,
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
@@ -50,7 +58,7 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @parameter ePackage the package in question.
+ * @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/EdaptTestB.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/EdaptTestB.java
index e409d20..11c87af 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/EdaptTestB.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/EdaptTestB.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.b;
@@ -13,11 +21,11 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.b.EdaptTestB#getA <em>A</em>}</li>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.b.EdaptTestB#getC <em>C</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.b.EdaptTestBPackage#getB()
* @model
@@ -28,7 +36,8 @@
* Returns the value of the '<em><b>A</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>A</em>' reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>A</em>' reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
*
@@ -56,7 +65,8 @@
* Returns the value of the '<em><b>C</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>C</em>' reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>C</em>' reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
*
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/EdaptTestBFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/EdaptTestBFactory.java
index ff43eee..8b77ac0 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/EdaptTestBFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/EdaptTestBFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.b;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/EdaptTestBPackage.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/EdaptTestBPackage.java
index 4859c3d..e6f5c09 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/EdaptTestBPackage.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/EdaptTestBPackage.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.b;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/impl/EdaptTestBFactoryImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/impl/EdaptTestBFactoryImpl.java
index 9f8da5f..78f3e89 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/impl/EdaptTestBFactoryImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/impl/EdaptTestBFactoryImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.b.impl;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/impl/EdaptTestBImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/impl/EdaptTestBImpl.java
index 3a3556b..00ddd1c 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/impl/EdaptTestBImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/impl/EdaptTestBImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.b.impl;
@@ -18,11 +26,11 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.b.impl.EdaptTestBImpl#getA <em>A</em>}</li>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.b.impl.EdaptTestBImpl#getC <em>C</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/impl/EdaptTestBPackageImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/impl/EdaptTestBPackageImpl.java
index 24e214d..e01e030 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/impl/EdaptTestBPackageImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/impl/EdaptTestBPackageImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.b.impl;
@@ -45,13 +53,16 @@
private EClass bEClass = null;
/**
- * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
- * EPackage.Registry} by the package
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>
- * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
- * performs initialization of the package, or returns the registered package, if one already exists. <!--
- * begin-user-doc --> <!-- end-user-doc -->
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.b.EdaptTestBPackage#eNS_URI
@@ -74,9 +85,10 @@
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>
- * This method is used to initialize {@link EdaptTestBPackage#eINSTANCE} when that field is accessed. Clients should
- * not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
+ * This method is used to initialize {@link EdaptTestBPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see #eNS_URI
* @see #createPackageContents()
@@ -89,40 +101,40 @@
}
// Obtain or create and register package
- final EdaptTestBPackageImpl theBPackage = (EdaptTestBPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EdaptTestBPackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new EdaptTestBPackageImpl());
+ final EdaptTestBPackageImpl theBPackage = (EdaptTestBPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof EdaptTestBPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new EdaptTestBPackageImpl());
isInited = true;
// Obtain or create and register interdependencies
final EdaptTestAPackageImpl theAPackage = (EdaptTestAPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
+ .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
final EdaptTestCPackageImpl theCPackage = (EdaptTestCPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
+ .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
final EdaptTestDPackageImpl theDPackage = (EdaptTestDPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
+ .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
final EdaptTestEPackageImpl theEPackage = (EdaptTestEPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
+ .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
final EdaptTestFPackageImpl theFPackage = (EdaptTestFPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
+ .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
final EdaptTestWPackageImpl theWPackage = (EdaptTestWPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
+ .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
final EdaptTestXPackageImpl theXPackage = (EdaptTestXPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
+ .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
final EdaptTestYPackageImpl theYPackage = (EdaptTestYPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
+ .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
final EdaptTestZPackageImpl theZPackage = (EdaptTestZPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
+ .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
// Create package meta-data objects
theBPackage.createPackageContents();
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/util/BAdapterFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/util/BAdapterFactory.java
index d6076aa..1731c4f 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/util/BAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/util/BAdapterFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.b.util;
@@ -69,18 +77,17 @@
*
* @generated
*/
- protected BSwitch<Adapter> modelSwitch =
- new BSwitch<Adapter>() {
- @Override
- public Adapter caseB(EdaptTestB object) {
- return createBAdapter();
- }
+ protected BSwitch<Adapter> modelSwitch = new BSwitch<Adapter>() {
+ @Override
+ public Adapter caseB(EdaptTestB object) {
+ return createBAdapter();
+ }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
/**
* Creates an adapter for the <code>target</code>.
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/util/BSwitch.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/util/BSwitch.java
index 615689f..819e835 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/util/BSwitch.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/b/util/BSwitch.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.b.util;
@@ -11,8 +19,8 @@
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each
- * class of the model,
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
@@ -50,7 +58,7 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @parameter ePackage the package in question.
+ * @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/EdaptTestC.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/EdaptTestC.java
index 5673075..ef3fd98 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/EdaptTestC.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/EdaptTestC.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.c;
@@ -12,10 +20,10 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.c.EdaptTestC#getD <em>D</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.c.EdaptTestCPackage#getC()
* @model
@@ -26,7 +34,8 @@
* Returns the value of the '<em><b>D</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>D</em>' reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>D</em>' reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
*
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/EdaptTestCFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/EdaptTestCFactory.java
index 3f9efe6..9397c55 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/EdaptTestCFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/EdaptTestCFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.c;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/EdaptTestCPackage.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/EdaptTestCPackage.java
index 9628462..760b96f 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/EdaptTestCPackage.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/EdaptTestCPackage.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.c;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/impl/EdaptTestCFactoryImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/impl/EdaptTestCFactoryImpl.java
index 6371322..fc9713d 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/impl/EdaptTestCFactoryImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/impl/EdaptTestCFactoryImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.c.impl;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/impl/EdaptTestCImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/impl/EdaptTestCImpl.java
index 8040b92..cc10b70 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/impl/EdaptTestCImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/impl/EdaptTestCImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.c.impl;
@@ -17,10 +25,10 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.c.impl.EdaptTestCImpl#getD <em>D</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/impl/EdaptTestCPackageImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/impl/EdaptTestCPackageImpl.java
index 40b3260..8a08083 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/impl/EdaptTestCPackageImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/impl/EdaptTestCPackageImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.c.impl;
@@ -45,13 +53,16 @@
private EClass cEClass = null;
/**
- * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
- * EPackage.Registry} by the package
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>
- * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
- * performs initialization of the package, or returns the registered package, if one already exists. <!--
- * begin-user-doc --> <!-- end-user-doc -->
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.c.EdaptTestCPackage#eNS_URI
@@ -74,9 +85,10 @@
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>
- * This method is used to initialize {@link EdaptTestCPackage#eINSTANCE} when that field is accessed. Clients should
- * not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
+ * This method is used to initialize {@link EdaptTestCPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see #eNS_URI
* @see #createPackageContents()
@@ -89,40 +101,40 @@
}
// Obtain or create and register package
- final EdaptTestCPackageImpl theCPackage = (EdaptTestCPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EdaptTestCPackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new EdaptTestCPackageImpl());
+ final EdaptTestCPackageImpl theCPackage = (EdaptTestCPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof EdaptTestCPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new EdaptTestCPackageImpl());
isInited = true;
// Obtain or create and register interdependencies
final EdaptTestAPackageImpl theAPackage = (EdaptTestAPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
+ .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
final EdaptTestBPackageImpl theBPackage = (EdaptTestBPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
+ .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
final EdaptTestDPackageImpl theDPackage = (EdaptTestDPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
+ .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
final EdaptTestEPackageImpl theEPackage = (EdaptTestEPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
+ .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
final EdaptTestFPackageImpl theFPackage = (EdaptTestFPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
+ .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
final EdaptTestWPackageImpl theWPackage = (EdaptTestWPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
+ .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
final EdaptTestXPackageImpl theXPackage = (EdaptTestXPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
+ .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
final EdaptTestYPackageImpl theYPackage = (EdaptTestYPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
+ .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
final EdaptTestZPackageImpl theZPackage = (EdaptTestZPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
+ .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
// Create package meta-data objects
theCPackage.createPackageContents();
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/util/CAdapterFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/util/CAdapterFactory.java
index f57ef12..cdef6ea 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/util/CAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/util/CAdapterFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.c.util;
@@ -69,18 +77,17 @@
*
* @generated
*/
- protected CSwitch<Adapter> modelSwitch =
- new CSwitch<Adapter>() {
- @Override
- public Adapter caseC(EdaptTestC object) {
- return createCAdapter();
- }
+ protected CSwitch<Adapter> modelSwitch = new CSwitch<Adapter>() {
+ @Override
+ public Adapter caseC(EdaptTestC object) {
+ return createCAdapter();
+ }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
/**
* Creates an adapter for the <code>target</code>.
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/util/CSwitch.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/util/CSwitch.java
index a606cbf..254e47b 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/util/CSwitch.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/c/util/CSwitch.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.c.util;
@@ -11,8 +19,8 @@
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each
- * class of the model,
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
@@ -50,7 +58,7 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @parameter ePackage the package in question.
+ * @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/EdaptTestD.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/EdaptTestD.java
index e345083..16297c8 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/EdaptTestD.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/EdaptTestD.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.d;
@@ -12,10 +20,10 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.d.EdaptTestD#getB <em>B</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.d.EdaptTestDPackage#getD()
* @model
@@ -26,7 +34,8 @@
* Returns the value of the '<em><b>B</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>B</em>' reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>B</em>' reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
*
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/EdaptTestDFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/EdaptTestDFactory.java
index 07d9a98..8088d8b 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/EdaptTestDFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/EdaptTestDFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.d;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/EdaptTestDPackage.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/EdaptTestDPackage.java
index 0b864ff..a68d4a1 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/EdaptTestDPackage.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/EdaptTestDPackage.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.d;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/impl/EdaptTestDFactoryImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/impl/EdaptTestDFactoryImpl.java
index 3dd44b3..66c43c7 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/impl/EdaptTestDFactoryImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/impl/EdaptTestDFactoryImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.d.impl;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/impl/EdaptTestDImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/impl/EdaptTestDImpl.java
index 6ec04cd..55b85a0 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/impl/EdaptTestDImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/impl/EdaptTestDImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.d.impl;
@@ -17,10 +25,10 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.d.impl.EdaptTestDImpl#getB <em>B</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/impl/EdaptTestDPackageImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/impl/EdaptTestDPackageImpl.java
index 0a2bf52..ae15977 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/impl/EdaptTestDPackageImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/impl/EdaptTestDPackageImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.d.impl;
@@ -45,13 +53,16 @@
private EClass dEClass = null;
/**
- * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
- * EPackage.Registry} by the package
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>
- * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
- * performs initialization of the package, or returns the registered package, if one already exists. <!--
- * begin-user-doc --> <!-- end-user-doc -->
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.d.EdaptTestDPackage#eNS_URI
@@ -74,9 +85,10 @@
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>
- * This method is used to initialize {@link EdaptTestDPackage#eINSTANCE} when that field is accessed. Clients should
- * not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
+ * This method is used to initialize {@link EdaptTestDPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see #eNS_URI
* @see #createPackageContents()
@@ -89,40 +101,40 @@
}
// Obtain or create and register package
- final EdaptTestDPackageImpl theDPackage = (EdaptTestDPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EdaptTestDPackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new EdaptTestDPackageImpl());
+ final EdaptTestDPackageImpl theDPackage = (EdaptTestDPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof EdaptTestDPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new EdaptTestDPackageImpl());
isInited = true;
// Obtain or create and register interdependencies
final EdaptTestAPackageImpl theAPackage = (EdaptTestAPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
+ .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
final EdaptTestBPackageImpl theBPackage = (EdaptTestBPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
+ .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
final EdaptTestCPackageImpl theCPackage = (EdaptTestCPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
+ .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
final EdaptTestEPackageImpl theEPackage = (EdaptTestEPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
+ .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
final EdaptTestFPackageImpl theFPackage = (EdaptTestFPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
+ .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
final EdaptTestWPackageImpl theWPackage = (EdaptTestWPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
+ .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
final EdaptTestXPackageImpl theXPackage = (EdaptTestXPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
+ .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
final EdaptTestYPackageImpl theYPackage = (EdaptTestYPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
+ .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
final EdaptTestZPackageImpl theZPackage = (EdaptTestZPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
+ .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
// Create package meta-data objects
theDPackage.createPackageContents();
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/util/DAdapterFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/util/DAdapterFactory.java
index dfaa4ba..ccdaea3 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/util/DAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/util/DAdapterFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.d.util;
@@ -69,18 +77,17 @@
*
* @generated
*/
- protected DSwitch<Adapter> modelSwitch =
- new DSwitch<Adapter>() {
- @Override
- public Adapter caseD(EdaptTestD object) {
- return createDAdapter();
- }
+ protected DSwitch<Adapter> modelSwitch = new DSwitch<Adapter>() {
+ @Override
+ public Adapter caseD(EdaptTestD object) {
+ return createDAdapter();
+ }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
/**
* Creates an adapter for the <code>target</code>.
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/util/DSwitch.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/util/DSwitch.java
index dccc119..f6d674b 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/util/DSwitch.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/d/util/DSwitch.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.d.util;
@@ -11,8 +19,8 @@
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each
- * class of the model,
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
@@ -50,7 +58,7 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @parameter ePackage the package in question.
+ * @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/EdaptTestE.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/EdaptTestE.java
index d636e4c..fd02783 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/EdaptTestE.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/EdaptTestE.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.e;
@@ -13,11 +21,11 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.e.EdaptTestE#getD <em>D</em>}</li>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.e.EdaptTestE#getF <em>F</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.e.EdaptTestEPackage#getE()
* @model
@@ -28,7 +36,8 @@
* Returns the value of the '<em><b>D</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>D</em>' reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>D</em>' reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
*
@@ -56,7 +65,8 @@
* Returns the value of the '<em><b>F</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>F</em>' reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>F</em>' reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
*
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/EdaptTestEFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/EdaptTestEFactory.java
index 469c06b..5eef829 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/EdaptTestEFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/EdaptTestEFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.e;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/EdaptTestEPackage.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/EdaptTestEPackage.java
index 771b97f..886e4ec 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/EdaptTestEPackage.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/EdaptTestEPackage.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.e;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/impl/EdaptTestEFactoryImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/impl/EdaptTestEFactoryImpl.java
index 575d7da..315094c 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/impl/EdaptTestEFactoryImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/impl/EdaptTestEFactoryImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.e.impl;
@@ -82,11 +90,11 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @generated NOT
+ * @generated
*/
@Override
public EdaptTestEPackage getEPackage() {
- return (EdaptTestEPackage) super.getEPackage();
+ return getEPackage();
}
/**
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/impl/EdaptTestEImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/impl/EdaptTestEImpl.java
index 6dbb944..c7e16cb 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/impl/EdaptTestEImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/impl/EdaptTestEImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.e.impl;
@@ -18,11 +26,11 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.e.impl.EdaptTestEImpl#getD <em>D</em>}</li>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.e.impl.EdaptTestEImpl#getF <em>F</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/impl/EdaptTestEPackageImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/impl/EdaptTestEPackageImpl.java
index b29513d..06777ec 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/impl/EdaptTestEPackageImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/impl/EdaptTestEPackageImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.e.impl;
@@ -45,13 +53,16 @@
private EClass eEClass = null;
/**
- * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
- * EPackage.Registry} by the package
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>
- * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
- * performs initialization of the package, or returns the registered package, if one already exists. <!--
- * begin-user-doc --> <!-- end-user-doc -->
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.e.EdaptTestEPackage#eNS_URI
@@ -74,9 +85,10 @@
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>
- * This method is used to initialize {@link EdaptTestEPackage#eINSTANCE} when that field is accessed. Clients should
- * not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
+ * This method is used to initialize {@link EdaptTestEPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see #eNS_URI
* @see #createPackageContents()
@@ -89,40 +101,40 @@
}
// Obtain or create and register package
- final EdaptTestEPackageImpl theEPackage = (EdaptTestEPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EdaptTestEPackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new EdaptTestEPackageImpl());
+ final EdaptTestEPackageImpl theEPackage = (EdaptTestEPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof EdaptTestEPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new EdaptTestEPackageImpl());
isInited = true;
// Obtain or create and register interdependencies
final EdaptTestAPackageImpl theAPackage = (EdaptTestAPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
+ .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
final EdaptTestBPackageImpl theBPackage = (EdaptTestBPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
+ .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
final EdaptTestCPackageImpl theCPackage = (EdaptTestCPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
+ .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
final EdaptTestDPackageImpl theDPackage = (EdaptTestDPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
+ .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
final EdaptTestFPackageImpl theFPackage = (EdaptTestFPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
+ .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
final EdaptTestWPackageImpl theWPackage = (EdaptTestWPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
+ .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
final EdaptTestXPackageImpl theXPackage = (EdaptTestXPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
+ .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
final EdaptTestYPackageImpl theYPackage = (EdaptTestYPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
+ .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
final EdaptTestZPackageImpl theZPackage = (EdaptTestZPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
+ .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
// Create package meta-data objects
theEPackage.createPackageContents();
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/util/EAdapterFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/util/EAdapterFactory.java
index 99895ac..f551b56 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/util/EAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/util/EAdapterFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.e.util;
@@ -69,18 +77,17 @@
*
* @generated
*/
- protected ESwitch<Adapter> modelSwitch =
- new ESwitch<Adapter>() {
- @Override
- public Adapter caseE(EdaptTestE object) {
- return createEAdapter();
- }
+ protected ESwitch<Adapter> modelSwitch = new ESwitch<Adapter>() {
+ @Override
+ public Adapter caseE(EdaptTestE object) {
+ return createEAdapter();
+ }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
/**
* Creates an adapter for the <code>target</code>.
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/util/ESwitch.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/util/ESwitch.java
index 50dc274..d4e871f 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/util/ESwitch.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/e/util/ESwitch.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.e.util;
@@ -11,8 +19,8 @@
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each
- * class of the model,
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
@@ -50,7 +58,7 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @parameter ePackage the package in question.
+ * @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/EdaptTestF.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/EdaptTestF.java
index d98808f..3eaa2f6 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/EdaptTestF.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/EdaptTestF.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.f;
@@ -12,10 +20,10 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.f.EdaptTestF#getE <em>E</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.f.EdaptTestFPackage#getF()
* @model
@@ -26,7 +34,8 @@
* Returns the value of the '<em><b>E</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>E</em>' reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>E</em>' reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
*
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/EdaptTestFFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/EdaptTestFFactory.java
index 43bc80a..2ee50c6 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/EdaptTestFFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/EdaptTestFFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.f;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/EdaptTestFPackage.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/EdaptTestFPackage.java
index fc2df56..2ce7c39 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/EdaptTestFPackage.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/EdaptTestFPackage.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.f;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/impl/EdaptTestFFactoryImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/impl/EdaptTestFFactoryImpl.java
index eab6aaa..87a3ddb 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/impl/EdaptTestFFactoryImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/impl/EdaptTestFFactoryImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.f.impl;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/impl/EdaptTestFImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/impl/EdaptTestFImpl.java
index c261dda..34da761 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/impl/EdaptTestFImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/impl/EdaptTestFImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.f.impl;
@@ -17,10 +25,10 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.f.impl.EdaptTestFImpl#getE <em>E</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/impl/EdaptTestFPackageImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/impl/EdaptTestFPackageImpl.java
index 921038c..c9813d9 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/impl/EdaptTestFPackageImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/impl/EdaptTestFPackageImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.f.impl;
@@ -45,13 +53,16 @@
private EClass fEClass = null;
/**
- * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
- * EPackage.Registry} by the package
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>
- * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
- * performs initialization of the package, or returns the registered package, if one already exists. <!--
- * begin-user-doc --> <!-- end-user-doc -->
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.f.EdaptTestFPackage#eNS_URI
@@ -74,9 +85,10 @@
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>
- * This method is used to initialize {@link EdaptTestFPackage#eINSTANCE} when that field is accessed. Clients should
- * not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
+ * This method is used to initialize {@link EdaptTestFPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see #eNS_URI
* @see #createPackageContents()
@@ -89,40 +101,40 @@
}
// Obtain or create and register package
- final EdaptTestFPackageImpl theFPackage = (EdaptTestFPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EdaptTestFPackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new EdaptTestFPackageImpl());
+ final EdaptTestFPackageImpl theFPackage = (EdaptTestFPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof EdaptTestFPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new EdaptTestFPackageImpl());
isInited = true;
// Obtain or create and register interdependencies
final EdaptTestAPackageImpl theAPackage = (EdaptTestAPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
+ .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
final EdaptTestBPackageImpl theBPackage = (EdaptTestBPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
+ .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
final EdaptTestCPackageImpl theCPackage = (EdaptTestCPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
+ .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
final EdaptTestDPackageImpl theDPackage = (EdaptTestDPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
+ .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
final EdaptTestEPackageImpl theEPackage = (EdaptTestEPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
+ .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
final EdaptTestWPackageImpl theWPackage = (EdaptTestWPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
+ .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
final EdaptTestXPackageImpl theXPackage = (EdaptTestXPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
+ .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
final EdaptTestYPackageImpl theYPackage = (EdaptTestYPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
+ .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
final EdaptTestZPackageImpl theZPackage = (EdaptTestZPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
+ .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
// Create package meta-data objects
theFPackage.createPackageContents();
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/util/FAdapterFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/util/FAdapterFactory.java
index cbdf7f3..ea4749b 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/util/FAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/util/FAdapterFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.f.util;
@@ -69,18 +77,17 @@
*
* @generated
*/
- protected FSwitch<Adapter> modelSwitch =
- new FSwitch<Adapter>() {
- @Override
- public Adapter caseF(EdaptTestF object) {
- return createFAdapter();
- }
+ protected FSwitch<Adapter> modelSwitch = new FSwitch<Adapter>() {
+ @Override
+ public Adapter caseF(EdaptTestF object) {
+ return createFAdapter();
+ }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
/**
* Creates an adapter for the <code>target</code>.
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/util/FSwitch.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/util/FSwitch.java
index 0338a5f..f320d5e 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/util/FSwitch.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/f/util/FSwitch.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.f.util;
@@ -11,8 +19,8 @@
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each
- * class of the model,
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
@@ -50,7 +58,7 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @parameter ePackage the package in question.
+ * @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/EdaptTestW.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/EdaptTestW.java
index 36c5854..8816bb8 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/EdaptTestW.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/EdaptTestW.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.w;
@@ -12,10 +20,10 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.w.EdaptTestW#getX <em>X</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.w.EdaptTestWPackage#getW()
* @model
@@ -26,7 +34,8 @@
* Returns the value of the '<em><b>X</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>X</em>' reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>X</em>' reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
*
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/EdaptTestWFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/EdaptTestWFactory.java
index 81cfcaf..d2efde2 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/EdaptTestWFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/EdaptTestWFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.w;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/EdaptTestWPackage.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/EdaptTestWPackage.java
index 630fbb5..b860b2a 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/EdaptTestWPackage.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/EdaptTestWPackage.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.w;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/impl/EdaptTestWFactoryImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/impl/EdaptTestWFactoryImpl.java
index a14ca0f..1c5455b 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/impl/EdaptTestWFactoryImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/impl/EdaptTestWFactoryImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.w.impl;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/impl/EdaptTestWImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/impl/EdaptTestWImpl.java
index beb776a..a42d5f0 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/impl/EdaptTestWImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/impl/EdaptTestWImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.w.impl;
@@ -17,10 +25,10 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.w.impl.EdaptTestWImpl#getX <em>X</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/impl/EdaptTestWPackageImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/impl/EdaptTestWPackageImpl.java
index 7979ec1..00651c1 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/impl/EdaptTestWPackageImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/impl/EdaptTestWPackageImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.w.impl;
@@ -45,13 +53,16 @@
private EClass wEClass = null;
/**
- * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
- * EPackage.Registry} by the package
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>
- * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
- * performs initialization of the package, or returns the registered package, if one already exists. <!--
- * begin-user-doc --> <!-- end-user-doc -->
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.w.EdaptTestWPackage#eNS_URI
@@ -74,9 +85,10 @@
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>
- * This method is used to initialize {@link EdaptTestWPackage#eINSTANCE} when that field is accessed. Clients should
- * not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
+ * This method is used to initialize {@link EdaptTestWPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see #eNS_URI
* @see #createPackageContents()
@@ -89,40 +101,40 @@
}
// Obtain or create and register package
- final EdaptTestWPackageImpl theWPackage = (EdaptTestWPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EdaptTestWPackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new EdaptTestWPackageImpl());
+ final EdaptTestWPackageImpl theWPackage = (EdaptTestWPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof EdaptTestWPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new EdaptTestWPackageImpl());
isInited = true;
// Obtain or create and register interdependencies
final EdaptTestAPackageImpl theAPackage = (EdaptTestAPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
+ .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
final EdaptTestBPackageImpl theBPackage = (EdaptTestBPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
+ .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
final EdaptTestCPackageImpl theCPackage = (EdaptTestCPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
+ .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
final EdaptTestDPackageImpl theDPackage = (EdaptTestDPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
+ .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
final EdaptTestEPackageImpl theEPackage = (EdaptTestEPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
+ .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
final EdaptTestFPackageImpl theFPackage = (EdaptTestFPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
+ .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
final EdaptTestXPackageImpl theXPackage = (EdaptTestXPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
+ .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
final EdaptTestYPackageImpl theYPackage = (EdaptTestYPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
+ .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
final EdaptTestZPackageImpl theZPackage = (EdaptTestZPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
+ .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
// Create package meta-data objects
theWPackage.createPackageContents();
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/util/WAdapterFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/util/WAdapterFactory.java
index 7db3c6e..9e04a8f 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/util/WAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/util/WAdapterFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.w.util;
@@ -69,18 +77,17 @@
*
* @generated
*/
- protected WSwitch<Adapter> modelSwitch =
- new WSwitch<Adapter>() {
- @Override
- public Adapter caseW(EdaptTestW object) {
- return createWAdapter();
- }
+ protected WSwitch<Adapter> modelSwitch = new WSwitch<Adapter>() {
+ @Override
+ public Adapter caseW(EdaptTestW object) {
+ return createWAdapter();
+ }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
/**
* Creates an adapter for the <code>target</code>.
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/util/WSwitch.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/util/WSwitch.java
index c251371..6787db7 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/util/WSwitch.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/w/util/WSwitch.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.w.util;
@@ -11,8 +19,8 @@
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each
- * class of the model,
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
@@ -50,7 +58,7 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @parameter ePackage the package in question.
+ * @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/EdaptTestX.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/EdaptTestX.java
index bd96825..dcd7484 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/EdaptTestX.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/EdaptTestX.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.x;
@@ -12,10 +20,10 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.x.EdaptTestX#getW <em>W</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.x.EdaptTestXPackage#getX()
* @model
@@ -26,7 +34,8 @@
* Returns the value of the '<em><b>W</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>W</em>' reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>W</em>' reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
*
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/EdaptTestXFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/EdaptTestXFactory.java
index 6da1e3d..71278ac 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/EdaptTestXFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/EdaptTestXFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.x;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/EdaptTestXPackage.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/EdaptTestXPackage.java
index f733659..ec8fa19 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/EdaptTestXPackage.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/EdaptTestXPackage.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.x;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/impl/EdaptTestXFactoryImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/impl/EdaptTestXFactoryImpl.java
index 8605c95..92a5344 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/impl/EdaptTestXFactoryImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/impl/EdaptTestXFactoryImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.x.impl;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/impl/EdaptTestXImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/impl/EdaptTestXImpl.java
index d3eda7e..a8312b1 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/impl/EdaptTestXImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/impl/EdaptTestXImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.x.impl;
@@ -17,10 +25,10 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.x.impl.EdaptTestXImpl#getW <em>W</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/impl/EdaptTestXPackageImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/impl/EdaptTestXPackageImpl.java
index b0ddc50..6990b27 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/impl/EdaptTestXPackageImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/impl/EdaptTestXPackageImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.x.impl;
@@ -45,13 +53,16 @@
private EClass xEClass = null;
/**
- * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
- * EPackage.Registry} by the package
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>
- * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
- * performs initialization of the package, or returns the registered package, if one already exists. <!--
- * begin-user-doc --> <!-- end-user-doc -->
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.x.EdaptTestXPackage#eNS_URI
@@ -74,9 +85,10 @@
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>
- * This method is used to initialize {@link EdaptTestXPackage#eINSTANCE} when that field is accessed. Clients should
- * not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
+ * This method is used to initialize {@link EdaptTestXPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see #eNS_URI
* @see #createPackageContents()
@@ -89,40 +101,40 @@
}
// Obtain or create and register package
- final EdaptTestXPackageImpl theXPackage = (EdaptTestXPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EdaptTestXPackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new EdaptTestXPackageImpl());
+ final EdaptTestXPackageImpl theXPackage = (EdaptTestXPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof EdaptTestXPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new EdaptTestXPackageImpl());
isInited = true;
// Obtain or create and register interdependencies
final EdaptTestAPackageImpl theAPackage = (EdaptTestAPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
+ .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
final EdaptTestBPackageImpl theBPackage = (EdaptTestBPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
+ .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
final EdaptTestCPackageImpl theCPackage = (EdaptTestCPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
+ .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
final EdaptTestDPackageImpl theDPackage = (EdaptTestDPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
+ .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
final EdaptTestEPackageImpl theEPackage = (EdaptTestEPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
+ .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
final EdaptTestFPackageImpl theFPackage = (EdaptTestFPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
+ .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
final EdaptTestWPackageImpl theWPackage = (EdaptTestWPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
+ .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
final EdaptTestYPackageImpl theYPackage = (EdaptTestYPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
+ .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
final EdaptTestZPackageImpl theZPackage = (EdaptTestZPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
+ .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
// Create package meta-data objects
theXPackage.createPackageContents();
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/util/XAdapterFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/util/XAdapterFactory.java
index 448f999..fb83e30 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/util/XAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/util/XAdapterFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.x.util;
@@ -69,18 +77,17 @@
*
* @generated
*/
- protected XSwitch<Adapter> modelSwitch =
- new XSwitch<Adapter>() {
- @Override
- public Adapter caseX(EdaptTestX object) {
- return createXAdapter();
- }
+ protected XSwitch<Adapter> modelSwitch = new XSwitch<Adapter>() {
+ @Override
+ public Adapter caseX(EdaptTestX object) {
+ return createXAdapter();
+ }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
/**
* Creates an adapter for the <code>target</code>.
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/util/XSwitch.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/util/XSwitch.java
index 36fe360..a4d7f1c 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/util/XSwitch.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/x/util/XSwitch.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.x.util;
@@ -11,8 +19,8 @@
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each
- * class of the model,
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
@@ -50,7 +58,7 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @parameter ePackage the package in question.
+ * @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/EdaptTestY.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/EdaptTestY.java
index 380ea2d..2cebfc3 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/EdaptTestY.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/EdaptTestY.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.y;
@@ -13,11 +21,11 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.y.EdaptTestY#getX <em>X</em>}</li>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.y.EdaptTestY#getZ <em>Z</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.y.EdaptTestYPackage#getY()
* @model
@@ -28,7 +36,8 @@
* Returns the value of the '<em><b>X</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>X</em>' reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>X</em>' reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
*
@@ -56,7 +65,8 @@
* Returns the value of the '<em><b>Z</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Z</em>' reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Z</em>' reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
*
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/EdaptTestYFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/EdaptTestYFactory.java
index 375cf67..cf668f9 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/EdaptTestYFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/EdaptTestYFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.y;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/EdaptTestYPackage.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/EdaptTestYPackage.java
index 8f50e69..2e2a2c7 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/EdaptTestYPackage.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/EdaptTestYPackage.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.y;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/impl/EdaptTestYFactoryImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/impl/EdaptTestYFactoryImpl.java
index bf2e1c1..acb8a5c 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/impl/EdaptTestYFactoryImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/impl/EdaptTestYFactoryImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.y.impl;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/impl/EdaptTestYImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/impl/EdaptTestYImpl.java
index 06b4aa3..a9f2a50 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/impl/EdaptTestYImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/impl/EdaptTestYImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.y.impl;
@@ -18,11 +26,11 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.y.impl.EdaptTestYImpl#getX <em>X</em>}</li>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.y.impl.EdaptTestYImpl#getZ <em>Z</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/impl/EdaptTestYPackageImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/impl/EdaptTestYPackageImpl.java
index 2e5c848..8d89283 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/impl/EdaptTestYPackageImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/impl/EdaptTestYPackageImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.y.impl;
@@ -45,13 +53,16 @@
private EClass yEClass = null;
/**
- * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
- * EPackage.Registry} by the package
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>
- * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
- * performs initialization of the package, or returns the registered package, if one already exists. <!--
- * begin-user-doc --> <!-- end-user-doc -->
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.y.EdaptTestYPackage#eNS_URI
@@ -74,9 +85,10 @@
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>
- * This method is used to initialize {@link EdaptTestYPackage#eINSTANCE} when that field is accessed. Clients should
- * not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
+ * This method is used to initialize {@link EdaptTestYPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see #eNS_URI
* @see #createPackageContents()
@@ -89,40 +101,40 @@
}
// Obtain or create and register package
- final EdaptTestYPackageImpl theYPackage = (EdaptTestYPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EdaptTestYPackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new EdaptTestYPackageImpl());
+ final EdaptTestYPackageImpl theYPackage = (EdaptTestYPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof EdaptTestYPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new EdaptTestYPackageImpl());
isInited = true;
// Obtain or create and register interdependencies
final EdaptTestAPackageImpl theAPackage = (EdaptTestAPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
+ .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
final EdaptTestBPackageImpl theBPackage = (EdaptTestBPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
+ .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
final EdaptTestCPackageImpl theCPackage = (EdaptTestCPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
+ .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
final EdaptTestDPackageImpl theDPackage = (EdaptTestDPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
+ .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
final EdaptTestEPackageImpl theEPackage = (EdaptTestEPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
+ .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
final EdaptTestFPackageImpl theFPackage = (EdaptTestFPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
+ .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
final EdaptTestWPackageImpl theWPackage = (EdaptTestWPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
+ .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
final EdaptTestXPackageImpl theXPackage = (EdaptTestXPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
+ .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
final EdaptTestZPackageImpl theZPackage = (EdaptTestZPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
+ .getEPackage(EdaptTestZPackage.eNS_URI) instanceof EdaptTestZPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestZPackage.eNS_URI) : EdaptTestZPackage.eINSTANCE);
// Create package meta-data objects
theYPackage.createPackageContents();
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/util/YAdapterFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/util/YAdapterFactory.java
index 61c41a8..646e8ed 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/util/YAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/util/YAdapterFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.y.util;
@@ -69,18 +77,17 @@
*
* @generated
*/
- protected YSwitch<Adapter> modelSwitch =
- new YSwitch<Adapter>() {
- @Override
- public Adapter caseY(EdaptTestY object) {
- return createYAdapter();
- }
+ protected YSwitch<Adapter> modelSwitch = new YSwitch<Adapter>() {
+ @Override
+ public Adapter caseY(EdaptTestY object) {
+ return createYAdapter();
+ }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
/**
* Creates an adapter for the <code>target</code>.
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/util/YSwitch.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/util/YSwitch.java
index 9f60acc..93b0ada 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/util/YSwitch.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/y/util/YSwitch.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.y.util;
@@ -11,8 +19,8 @@
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each
- * class of the model,
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
@@ -50,7 +58,7 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @parameter ePackage the package in question.
+ * @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/EdaptTestZ.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/EdaptTestZ.java
index 43717b4..7d5c7de 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/EdaptTestZ.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/EdaptTestZ.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.z;
@@ -12,10 +20,10 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.z.EdaptTestZ#getY <em>Y</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.z.EdaptTestZPackage#getZ()
* @model
@@ -26,7 +34,8 @@
* Returns the value of the '<em><b>Y</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Y</em>' reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Y</em>' reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
*
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/EdaptTestZFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/EdaptTestZFactory.java
index 81a7e0f..facd3f1 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/EdaptTestZFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/EdaptTestZFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.z;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/EdaptTestZPackage.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/EdaptTestZPackage.java
index 84eb3b3..823fd4c 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/EdaptTestZPackage.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/EdaptTestZPackage.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.z;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/impl/EdaptTestZFactoryImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/impl/EdaptTestZFactoryImpl.java
index 8d08d94..9434f4a 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/impl/EdaptTestZFactoryImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/impl/EdaptTestZFactoryImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.z.impl;
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/impl/EdaptTestZImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/impl/EdaptTestZImpl.java
index ccfba14..e51dea7 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/impl/EdaptTestZImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/impl/EdaptTestZImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.z.impl;
@@ -17,10 +25,10 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.emf.ecp.view.edapt.util.test.model.z.impl.EdaptTestZImpl#getY <em>Y</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/impl/EdaptTestZPackageImpl.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/impl/EdaptTestZPackageImpl.java
index 17238c5..fab5461 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/impl/EdaptTestZPackageImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/impl/EdaptTestZPackageImpl.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.z.impl;
@@ -45,13 +53,16 @@
private EClass zEClass = null;
/**
- * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
- * EPackage.Registry} by the package
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>
- * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
- * performs initialization of the package, or returns the registered package, if one already exists. <!--
- * begin-user-doc --> <!-- end-user-doc -->
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.eclipse.emf.ecp.view.edapt.util.test.model.z.EdaptTestZPackage#eNS_URI
@@ -74,9 +85,10 @@
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>
- * This method is used to initialize {@link EdaptTestZPackage#eINSTANCE} when that field is accessed. Clients should
- * not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc
- * --> <!-- end-user-doc -->
+ * This method is used to initialize {@link EdaptTestZPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
*
* @see #eNS_URI
* @see #createPackageContents()
@@ -89,40 +101,40 @@
}
// Obtain or create and register package
- final EdaptTestZPackageImpl theZPackage = (EdaptTestZPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EdaptTestZPackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new EdaptTestZPackageImpl());
+ final EdaptTestZPackageImpl theZPackage = (EdaptTestZPackageImpl) (EPackage.Registry.INSTANCE
+ .get(eNS_URI) instanceof EdaptTestZPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new EdaptTestZPackageImpl());
isInited = true;
// Obtain or create and register interdependencies
final EdaptTestAPackageImpl theAPackage = (EdaptTestAPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
+ .getEPackage(EdaptTestAPackage.eNS_URI) instanceof EdaptTestAPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestAPackage.eNS_URI) : EdaptTestAPackage.eINSTANCE);
final EdaptTestBPackageImpl theBPackage = (EdaptTestBPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
+ .getEPackage(EdaptTestBPackage.eNS_URI) instanceof EdaptTestBPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestBPackage.eNS_URI) : EdaptTestBPackage.eINSTANCE);
final EdaptTestCPackageImpl theCPackage = (EdaptTestCPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
+ .getEPackage(EdaptTestCPackage.eNS_URI) instanceof EdaptTestCPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestCPackage.eNS_URI) : EdaptTestCPackage.eINSTANCE);
final EdaptTestDPackageImpl theDPackage = (EdaptTestDPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
+ .getEPackage(EdaptTestDPackage.eNS_URI) instanceof EdaptTestDPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestDPackage.eNS_URI) : EdaptTestDPackage.eINSTANCE);
final EdaptTestEPackageImpl theEPackage = (EdaptTestEPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
+ .getEPackage(EdaptTestEPackage.eNS_URI) instanceof EdaptTestEPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestEPackage.eNS_URI) : EdaptTestEPackage.eINSTANCE);
final EdaptTestFPackageImpl theFPackage = (EdaptTestFPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
+ .getEPackage(EdaptTestFPackage.eNS_URI) instanceof EdaptTestFPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestFPackage.eNS_URI) : EdaptTestFPackage.eINSTANCE);
final EdaptTestWPackageImpl theWPackage = (EdaptTestWPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
+ .getEPackage(EdaptTestWPackage.eNS_URI) instanceof EdaptTestWPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestWPackage.eNS_URI) : EdaptTestWPackage.eINSTANCE);
final EdaptTestXPackageImpl theXPackage = (EdaptTestXPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
+ .getEPackage(EdaptTestXPackage.eNS_URI) instanceof EdaptTestXPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestXPackage.eNS_URI) : EdaptTestXPackage.eINSTANCE);
final EdaptTestYPackageImpl theYPackage = (EdaptTestYPackageImpl) (EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl ? EPackage.Registry.INSTANCE
- .getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
+ .getEPackage(EdaptTestYPackage.eNS_URI) instanceof EdaptTestYPackageImpl
+ ? EPackage.Registry.INSTANCE.getEPackage(EdaptTestYPackage.eNS_URI) : EdaptTestYPackage.eINSTANCE);
// Create package meta-data objects
theZPackage.createPackageContents();
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/util/ZAdapterFactory.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/util/ZAdapterFactory.java
index 53534aa..8793d00 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/util/ZAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/util/ZAdapterFactory.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.z.util;
@@ -69,18 +77,17 @@
*
* @generated
*/
- protected ZSwitch<Adapter> modelSwitch =
- new ZSwitch<Adapter>() {
- @Override
- public Adapter caseZ(EdaptTestZ object) {
- return createZAdapter();
- }
+ protected ZSwitch<Adapter> modelSwitch = new ZSwitch<Adapter>() {
+ @Override
+ public Adapter caseZ(EdaptTestZ object) {
+ return createZAdapter();
+ }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
/**
* Creates an adapter for the <code>target</code>.
diff --git a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/util/ZSwitch.java b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/util/ZSwitch.java
index aae577e..028ba88 100644
--- a/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/util/ZSwitch.java
+++ b/tests/org.eclipse.emf.ecp.view.edapt.util.test/src/org/eclipse/emf/ecp/view/edapt/util/test/model/z/util/ZSwitch.java
@@ -1,4 +1,12 @@
/**
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
*/
package org.eclipse.emf.ecp.view.edapt.util.test.model.z.util;
@@ -11,8 +19,8 @@
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each
- * class of the model,
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
@@ -50,7 +58,7 @@
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @parameter ePackage the package in question.
+ * @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
diff --git a/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/.gitignore b/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/GroupSWTTests.launch b/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/GroupSWTTests.launch
index fa37428..6cfa54f 100644
--- a/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/GroupSWTTests.launch
+++ b/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/GroupSWTTests.launch
@@ -32,8 +32,8 @@
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model.edit@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt.test@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:false,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service.test@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt.test@default:false,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.view.model.localization@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/META-INF/MANIFEST.MF
index 5ee7070..81f8bf9 100644
--- a/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,9 +2,10 @@
Bundle-ManifestVersion: 2
Bundle-Name: Tests for the Group SWT Renderer
Bundle-SymbolicName: org.eclipse.emf.ecp.view.group.ui.swt.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Fragment-Host: org.eclipse.emf.ecp.view.group.ui.swt;bundle-version="[1.6.0,2.0.0)"
Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.5.0,2.0.0)",
org.junit;bundle-version="[4.0.0,5.0.0)",
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
@@ -15,4 +16,4 @@
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.group.model;bundle-version="[1.5.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.view.group.ui.swt.test;version="1.
- 5.1";x-internal:=true
+ 6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/pom.xml
index 17be151..1b1c07f 100644
--- a/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.group.ui.swt.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,38 +24,71 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.group.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.locale.default</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.databinding.featurepath</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.emf</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.template.service</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.localization</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.core.swt</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.swt.layout</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecore.edit</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.model.edit</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.view.model.localization</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/src/org/eclipse/emf/ecp/view/group/ui/swt/test/SWTGroup_PTest.java b/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/src/org/eclipse/emf/ecp/view/group/ui/swt/test/SWTGroup_PTest.java
index 0b21f3f..a5f7bcb 100644
--- a/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/src/org/eclipse/emf/ecp/view/group/ui/swt/test/SWTGroup_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.group.ui.swt.test/src/org/eclipse/emf/ecp/view/group/ui/swt/test/SWTGroup_PTest.java
@@ -28,6 +28,7 @@
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
@@ -105,7 +106,8 @@
}
@Test
- public void testOneGroupinView() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testOneGroupinView() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
// setup model
final VView view = createViewWithOneGroup();
@@ -132,7 +134,8 @@
}
@Test
- public void testTwoGroupsinView() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testTwoGroupsinView() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
// setup model
final VView view = createViewWithTwoGroups();
@@ -173,7 +176,8 @@
}
@Test
- public void testTwoGroupsHierachicalinView() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testTwoGroupsHierachicalinView() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
final VView view = createViewWithTwoHierachicalGroups();
final org.eclipse.emf.ecp.view.spi.group.model.VGroup group = (org.eclipse.emf.ecp.view.spi.group.model.VGroup) view
@@ -212,7 +216,8 @@
}
@Test
- public void testTwoGroupsWithTwoControlsInView() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testTwoGroupsWithTwoControlsInView() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
final VView view = createViewWithTwoGroupsWithTwoControls();
final org.eclipse.emf.ecp.view.spi.group.model.VGroup group1 = (org.eclipse.emf.ecp.view.spi.group.model.VGroup) view
.getChildren()
@@ -256,7 +261,8 @@
}
@Test
- public void testEmptyGroup() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testEmptyGroup() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
// setup model
final VView view = createViewWithOneGroup();
diff --git a/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/META-INF/MANIFEST.MF
index 55bced3..c6f8415 100644
--- a/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,9 +2,10 @@
Bundle-ManifestVersion: 2
Bundle-Name: Tests for the Horizontal SWT Renderer
Bundle-SymbolicName: org.eclipse.emf.ecp.view.horizontal.ui.swt.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Fragment-Host: org.eclipse.emf.ecp.view.horizontal.ui.swt;bundle-version="[1.6.0,2.0.0)"
Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.5.0,2.0.0)",
org.junit;bundle-version="[4.0.0,5.0.0)",
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
@@ -16,4 +17,4 @@
org.eclipse.jface;bundle-version="3.8.102",
org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.5.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.view.horizontal.ui.swt.test;versio
- n="1.5.1";x-internal:=true
+ n="1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/SWTHorizontalTest.launch b/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/SWTHorizontalTest.launch
index 70aaaa4..2cb644f 100644
--- a/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/SWTHorizontalTest.launch
+++ b/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/SWTHorizontalTest.launch
@@ -32,8 +32,8 @@
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.commons.codec*1.4.0.v201209201156@default:default,org.apache.commons.logging@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts*1.3.1.v20130905-0905@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings*0.10.101.v20130801-2002@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench*1.0.1.v20130909-1436@default:default,org.eclipse.e4.ui.services*1.0.1.v20130909-1436@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench*1.0.1.v20130910-2014@default:default,org.eclipse.e4.ui.workbench.addons.swt*1.0.1.v20130823-1518@default:default,org.eclipse.e4.ui.workbench.renderers.swt*0.11.1.v20130812-1345@default:default,org.eclipse.e4.ui.workbench.swt*0.12.1.v20130815-1438@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds*1.4.101.v20130813-1853@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry*3.5.301.v20130717-1549@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface*3.9.1.v20130725-1141@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi*3.9.1.v20130814-1242@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.swt*3.102.1.v20130827-2021@default:default,org.eclipse.swt.win32.win32.x86_64*3.102.1.v20130827-2048@default:false,org.eclipse.ui.forms*3.6.1.v20130822-1117@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench*3.105.1.v20130821-1411@default:default,org.eclipse.ui@default:default,org.hamcrest.core*1.1.0.v20090501071000@default:default,org.hamcrest.core*1.3.0.v201303031735@default:default,org.junit*4.10.0.v4_10_0_v20120426-0900@default:default,org.junit*4.11.0.v201303080030@default:default,org.w3c.css.sac@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt.test@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.validation.test@default:false,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.6.0.v201011041432@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.6.0.v201011041432@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.6.0.v201011041432@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt.test@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emf.emfforms.core.services.labelprovider@default:default,org.eclipse.emf.emfforms.localization@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.swt.core@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/pom.xml
index 6628e1d..f99d665 100644
--- a/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.horizontal.ui.swt.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,38 +24,61 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.horizontal.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.locale.default</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.databinding.featurepath</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.emf</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.template.service</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.localization</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.core.swt</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.swt.layout</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecore.edit</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/src/org/eclipse/emf/ecp/view/horizontal/ui/swt/test/SWTHorizontal_PTest.java b/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/src/org/eclipse/emf/ecp/view/horizontal/ui/swt/test/SWTHorizontal_PTest.java
index dc7f314..7c902e1 100644
--- a/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/src/org/eclipse/emf/ecp/view/horizontal/ui/swt/test/SWTHorizontal_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.horizontal.ui.swt.test/src/org/eclipse/emf/ecp/view/horizontal/ui/swt/test/SWTHorizontal_PTest.java
@@ -30,6 +30,7 @@
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
@@ -93,7 +94,7 @@
@Test
public void testHorizontalWithoutChildren() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final HierarchyViewModelHandle handle = createHorizontalWithoutChildren();
final Control render = SWTViewTestHelper.render(handle.getRoot(), domainElement, shell);
@@ -104,7 +105,7 @@
@Test
public void testHorizontalWithTwoControlsAsChildren() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final HierarchyViewModelHandle handle = createHorizontalWithTwoControlsAsChildren();
final Control render = SWTViewTestHelper.render(handle.getRoot(), domainElement, shell);
@@ -118,7 +119,7 @@
@Test
public void testHorizontalWithTwoHorizontalAsChildrenAndControlAsSubChildren() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final HierarchyViewModelHandle handle =
createHorizontalWithTwoHorizontalAsChildrenAndControlAsSubChildren();
diff --git a/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/.gitignore b/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/META-INF/MANIFEST.MF
index 99364d9..b7073f1 100644
--- a/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.indexdmr.model.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.index.test.example;version="1
- .5.1";x-internal:=true,org.eclipse.emf.ecp.view.index.test.example.im
- pl;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.index.te
- st.example.util;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.
- view.indexdmr.model.test;version="1.5.1";x-internal:=true
+ .6.0";x-internal:=true,org.eclipse.emf.ecp.view.index.test.example.im
+ pl;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.index.te
+ st.example.util;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.
+ view.indexdmr.model.test;version="1.6.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
org.junit;bundle-version="[4.11.0,5.0.0)",
diff --git a/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/plugin.properties b/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/plugin.properties
index bb12185..a922ec2 100644
--- a/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/plugin.properties
+++ b/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/plugin.properties
@@ -1,4 +1,4 @@
#
pluginName = Example Model
-providerName = www.example.org
+providerName = Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/pom.xml b/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/pom.xml
index f51c56b..66386a2 100644
--- a/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.indexdmr.model.test</artifactId>
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/src/org/eclipse/emf/ecp/view/indexdmr/model/test/IndexDMRValidation_Test.java b/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/src/org/eclipse/emf/ecp/view/indexdmr/model/test/IndexDMRValidation_Test.java
index 6f36d84..87bae6a 100644
--- a/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/src/org/eclipse/emf/ecp/view/indexdmr/model/test/IndexDMRValidation_Test.java
+++ b/tests/org.eclipse.emf.ecp.view.indexdmr.model.test/src/org/eclipse/emf/ecp/view/indexdmr/model/test/IndexDMRValidation_Test.java
@@ -90,6 +90,7 @@
index = VIndexdmrFactory.eINSTANCE.createIndexDomainModelReference();
target = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
index.setTargetDMR(target);
+ index.setPrefixDMR(VViewFactory.eINSTANCE.createFeaturePathDomainModelReference());
control.setDomainModelReference(index);
validator = IndexdmrValidator.INSTANCE;
diff --git a/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/.gitignore b/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/KeyAttributeDMR_Test.launch b/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/KeyAttributeDMR_Test.launch
index f698b7d..a337e3c 100644
--- a/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/KeyAttributeDMR_Test.launch
+++ b/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/KeyAttributeDMR_Test.launch
@@ -12,7 +12,7 @@
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="_viewmodelTest,com.eclipsesource.bean.rcp,com.eclipsesource.bean.viewModel,de.neufeld.trainingplan.model,exampleeditor,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.application.e4.fx,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.common,org.eclipse.emf.ecp.common.test.fx,org.eclipse.emf.ecp.controls.fx,org.eclipse.emf.ecp.controls.fx.test,org.eclipse.emf.ecp.core,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.rap,org.eclipse.emf.ecp.core.rap.sessionprovider.rwt,org.eclipse.emf.ecp.core.rap.test,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.nl_de,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.core,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.e4.fx,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.application.sample.rap,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.editor,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.rap,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.nl_de,org.eclipse.emf.ecp.ui.rap,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.util.fx,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.control.multireference.nl_de,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.nl_de,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.example,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.ecore.viewmodels,org.eclipse.emf.ecp.view.group.fx,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.fx,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.label.fx,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.layout.custom,org.eclipse.emf.ecp.view.mappingdmr.databinding,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.common.test,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.fx,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.fx,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.util.swt.rap,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.fx,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.viewmodel.fx,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.fx.projects,org.eclipse.emf.emfstore.fx.util,org.eclipse.emf.rap.edit.ui.minimal,test,testCDO,testTemplate,userViewModel"/>
+<stringAttribute key="deselected_workspace_plugins" value="_viewmodelTest,com.eclipsesource.bean.rcp,com.eclipsesource.bean.viewModel,de.neufeld.trainingplan.model,exampleeditor,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.application.e4.fx,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.common,org.eclipse.emf.ecp.common.test.fx,org.eclipse.emf.ecp.controls.fx,org.eclipse.emf.ecp.controls.fx.test,org.eclipse.emf.ecp.core,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.rap,org.eclipse.emf.ecp.core.rap.sessionprovider.rwt,org.eclipse.emf.ecp.core.rap.test,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.nl_de,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.core,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.e4.fx,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.application.sample.rap,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.editor,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.rap,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.nl_de,org.eclipse.emf.ecp.ui.rap,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.util.fx,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.control.multireference.nl_de,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.nl_de,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.example,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.ecore.viewmodels,org.eclipse.emf.ecp.view.group.fx,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.fx,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.label.fx,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.layout.custom,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.common.test,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.fx,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.fx,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.util.swt.rap,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.fx,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.viewmodel.fx,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.fx.projects,org.eclipse.emf.emfstore.fx.util,org.eclipse.emf.rap.edit.ui.minimal,test,testCDO,testTemplate,userViewModel"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
diff --git a/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/META-INF/MANIFEST.MF
index 94638ff..4215b97 100644
--- a/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.keyattributedmr.model.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
@@ -13,7 +13,7 @@
org.eclipse.emf.ecp.view.keyattributedmr.model;bundle-version="[1.5.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.emf.ecp.view.keyattribute.test.example;ver
- sion="1.5.1",org.eclipse.emf.ecp.view.keyattribute.test.example.impl;
- version="1.5.1",org.eclipse.emf.ecp.view.keyattribute.test.example.ut
- il;version="1.5.1",org.eclipse.emf.ecp.view.keyattributedmr.model.tes
- t;version="1.5.1";x-internal:=true
+ sion="1.6.0",org.eclipse.emf.ecp.view.keyattribute.test.example.impl;
+ version="1.6.0",org.eclipse.emf.ecp.view.keyattribute.test.example.ut
+ il;version="1.6.0",org.eclipse.emf.ecp.view.keyattributedmr.model.tes
+ t;version="1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/plugin.properties b/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/plugin.properties
index bb12185..a922ec2 100644
--- a/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/plugin.properties
+++ b/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/plugin.properties
@@ -1,4 +1,4 @@
#
pluginName = Example Model
-providerName = www.example.org
+providerName = Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/pom.xml b/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/pom.xml
index 775d278..fc091f7 100644
--- a/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.keyattributedmr.model.test/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.keyattributedmr.model.test</artifactId>
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/META-INF/MANIFEST.MF
index 2a37258..7fd1acc 100644
--- a/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.mappingdmr.model.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.emf.ecp.view.mapping.test.example;version=
- "1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.mapping.test.exampl
- e.impl;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.mapp
- ing.test.example.util;version="1.5.1";x-internal:=true,org.eclipse.em
- f.ecp.view.mappingdmr.model.test;version="1.5.1";x-internal:=true
+ "1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.mapping.test.exampl
+ e.impl;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.mapp
+ ing.test.example.util;version="1.6.0";x-internal:=true,org.eclipse.em
+ f.ecp.view.mappingdmr.model.test;version="1.6.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
org.junit;bundle-version="[4.11.0,5.0.0)",
diff --git a/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/MappingDMR_MTest.launch b/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/MappingDMR_MTest.launch
index 3dbe714..88b0afb 100644
--- a/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/MappingDMR_MTest.launch
+++ b/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/MappingDMR_MTest.launch
@@ -12,7 +12,7 @@
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.common,org.eclipse.emf.ecp.common.ui,org.eclipse.emf.ecp.core,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.core,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.email.renderer,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.databinding,org.eclipse.emf.ecp.view.indexdmr.model,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.databinding,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui"/>
+<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.common,org.eclipse.emf.ecp.common.ui,org.eclipse.emf.ecp.core,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.core,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.email.renderer,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.model,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
diff --git a/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/plugin.properties b/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/plugin.properties
index 8591e55..3da1b08 100644
--- a/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/plugin.properties
+++ b/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/plugin.properties
@@ -9,4 +9,4 @@
# Johannes Faltermeier - initial API and implementation
pluginName = Example Model
-providerName = www.example.org
+providerName = Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/pom.xml b/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/pom.xml
index aa918a6..a4233b1 100644
--- a/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.mappingdmr.model.test/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.mappingdmr.model.test</artifactId>
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/tests/org.eclipse.emf.ecp.view.model.common.test/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to tests/org.eclipse.emf.ecp.view.model.common.test/.classpath
diff --git a/tests/org.eclipse.emf.ecp.view.model.common.test/.project b/tests/org.eclipse.emf.ecp.view.model.common.test/.project
new file mode 100644
index 0000000..e983079
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.common.test/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.ecp.view.model.common.test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs
copy to tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.core.prefs b/tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.pde.core.prefs
similarity index 100%
copy from examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.core.prefs
copy to tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.pde.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emf.ecp.view.model.common.test/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emf.ecp.view.model.common.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.model.common.test/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..91214b0
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.common.test/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: View Model Common Test
+Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.common.test
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Fragment-Host: org.eclipse.emf.ecp.view.model.common;bundle-version="1.5.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.view.model.common;version="1.6.0"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)"
diff --git a/tests/org.eclipse.emf.ecp.view.model.common.test/build.properties b/tests/org.eclipse.emf.ecp.view.model.common.test/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.common.test/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/org.eclipse.emf.ecp.view.model.common.test/pom.xml b/tests/org.eclipse.emf.ecp.view.model.common.test/pom.xml
new file mode 100644
index 0000000..3bc0719
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.common.test/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emf.ecp.view.model.common.test</artifactId>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/tests/org.eclipse.emf.ecp.view.model.common.test/src/org/eclipse/emf/ecp/view/model/common/AbstractRenderer_Test.java b/tests/org.eclipse.emf.ecp.view.model.common.test/src/org/eclipse/emf/ecp/view/model/common/AbstractRenderer_Test.java
new file mode 100644
index 0000000..4db1f23
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.common.test/src/org/eclipse/emf/ecp/view/model/common/AbstractRenderer_Test.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Jonas - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.model.common;
+
+import static org.junit.Assert.assertSame;
+import static org.mockito.Mockito.mock;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.junit.After;
+import org.junit.Test;
+
+/**
+ * @author Jonas
+ *
+ */
+public class AbstractRenderer_Test {
+
+ private AbstractRenderer<VElement> abstractRenderer;
+
+ @After
+ public void dispose() {
+ abstractRenderer = null;
+ }
+
+ @Test
+ public void testInitNotNull() {
+ final VElement vElement = mock(VElement.class);
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ final ReportService reportService = mock(ReportService.class);
+ abstractRenderer = new AbstractRenderer<VElement>(vElement, viewModelContext, reportService) {
+ };
+ assertSame(vElement, abstractRenderer.getVElement());
+ assertSame(viewModelContext, abstractRenderer.getViewModelContext());
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testInitVElementNull() {
+ final VElement vElement = mock(VElement.class);
+ final ReportService reportService = mock(ReportService.class);
+ abstractRenderer = new AbstractRenderer<VElement>(vElement, null, reportService) {
+ };
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testInitVContextNull() {
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ final ReportService reportService = mock(ReportService.class);
+ abstractRenderer = new AbstractRenderer<VElement>(null, viewModelContext, reportService) {
+ };
+ }
+
+ @Test(expected = IllegalStateException.class)
+ public void testDispose() {
+ final VElement vElement = mock(VElement.class);
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ final ReportService reportService = mock(ReportService.class);
+ abstractRenderer = new AbstractRenderer<VElement>(vElement, viewModelContext, reportService) {
+ };
+ abstractRenderer.dispose();
+ abstractRenderer.checkRenderer();
+ }
+
+ @Test(expected = IllegalStateException.class)
+ public void testDisposeGetVElement() {
+ final VElement vElement = mock(VElement.class);
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ final ReportService reportService = mock(ReportService.class);
+ abstractRenderer = new AbstractRenderer<VElement>(vElement, viewModelContext, reportService) {
+ };
+ abstractRenderer.dispose();
+ abstractRenderer.getVElement();
+ }
+
+ @Test(expected = IllegalStateException.class)
+ public void testDisposeGetVContext() {
+ final VElement vElement = mock(VElement.class);
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ final ReportService reportService = mock(ReportService.class);
+ abstractRenderer = new AbstractRenderer<VElement>(vElement, viewModelContext, reportService) {
+ };
+ abstractRenderer.dispose();
+ abstractRenderer.getViewModelContext();
+ }
+
+ @Test
+ public void testNotDisposes() {
+ final VElement vElement = mock(VElement.class);
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ final ReportService reportService = mock(ReportService.class);
+ abstractRenderer = new AbstractRenderer<VElement>(vElement, viewModelContext, reportService) {
+ };
+ abstractRenderer.checkRenderer();
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.model.edit.test/.gitignore b/tests/org.eclipse.emf.ecp.view.model.edit.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.edit.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.model.edit.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.model.edit.test/META-INF/MANIFEST.MF
index c5a9fb7..9e1df15 100644
--- a/tests/org.eclipse.emf.ecp.view.model.edit.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.model.edit.test/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
Bundle-ManifestVersion: 2
Bundle-Name: Test
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.edit.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Fragment-Host: org.eclipse.emf.ecp.view.model.edit;bundle-version="1.4.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)"
-Export-Package: org.eclipse.emf.ecp.view.model.edit.test;version="1.5.
- 1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.model.edit.test;version="1.6.
+ 0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.model.edit.test/pom.xml b/tests/org.eclipse.emf.ecp.view.model.edit.test/pom.xml
index 2701734..39ef786 100644
--- a/tests/org.eclipse.emf.ecp.view.model.edit.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.edit.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.model.edit.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,23 +24,31 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/feature.xml b/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/feature.xml
index 8c9a168..65c1b51 100644
--- a/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/feature.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.emf.ecp.view.model.editor.test.feature"
label="View Model Editor Test Feature"
- version="1.5.1.qualifier">
+ version="1.6.0.qualifier">
<description>
Plugins for testing the View Model Editor with Q7.
diff --git a/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/pom.xml b/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/pom.xml
index 6d5439f..f366d33 100644
--- a/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.editor.test.feature/pom.xml
@@ -5,11 +5,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-features-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.features/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.model.editor.test.feature</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/.gitignore b/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/META-INF/MANIFEST.MF
index 0cbb97a..4d285dc4 100644
--- a/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Editor Test Plugin for Q7
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.editor.testplugin;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.5.0,2.0.0)"
diff --git a/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/pom.xml b/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/pom.xml
index ef86a8d..1f33f91 100644
--- a/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.editor.testplugin/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.model.editor.testplugin</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.model.integrationtest/.gitignore b/tests/org.eclipse.emf.ecp.view.model.integrationtest/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.integrationtest/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.model.integrationtest/ChildrenDescriptorExtension_PTest.launch b/tests/org.eclipse.emf.ecp.view.model.integrationtest/ChildrenDescriptorExtension_PTest.launch
index 1666945..cf6ba64 100644
--- a/tests/org.eclipse.emf.ecp.view.model.integrationtest/ChildrenDescriptorExtension_PTest.launch
+++ b/tests/org.eclipse.emf.ecp.view.model.integrationtest/ChildrenDescriptorExtension_PTest.launch
@@ -1,43 +1,43 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="false"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.emf.ecp.view.model.integrationtest/src/org/eclipse/emf/ecp/view/model/integrationtest/ChildrenDescriptorExtension_PTest.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.model.integrationtest.ChildrenDescriptorExtension_PTest"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.model.integrationtest"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.emf.cdo.server.product.tcp_h2"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.commons.codec*1.3.0.v201101211617@default:default,org.apache.commons.codec*1.4.0.v201209201156@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources*3.8.101.v20130717-0806@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts*1.3.1.v20130905-0905@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings*0.10.101.v20130801-2002@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench*1.0.1.v20130909-1436@default:default,org.eclipse.e4.ui.services*1.0.1.v20130909-1436@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench*1.0.1.v20130910-2014@default:default,org.eclipse.e4.ui.workbench.addons.swt*1.0.1.v20130823-1518@default:default,org.eclipse.e4.ui.workbench.renderers.swt*0.11.1.v20130812-1345@default:default,org.eclipse.e4.ui.workbench.swt*0.12.1.v20130815-1438@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds*1.4.100.v20130515-2026@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry*3.5.300.v20130327-1442@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface*3.9.0.v20130521-1714@default:default,org.eclipse.jface*3.9.1.v20130725-1141@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text*3.8.100.v20130515-1957@default:default,org.eclipse.jface.text*3.8.101.v20130802-1147@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi*3.9.0.v20130529-1710@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.swt*3.102.1.v20130827-2021@default:default,org.eclipse.swt.win32.win32.x86_64*3.102.1.v20130827-2048@default:false,org.eclipse.text@default:default,org.eclipse.ui.forms*3.6.1.v20130822-1117@default:default,org.eclipse.ui.ide*3.9.1.v20130704-1828@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench*3.105.1.v20130821-1411@default:default,org.eclipse.ui@default:default,org.hamcrest.core*1.1.0.v20090501071000@default:default,org.hamcrest.core*1.3.0.v201303031735@default:default,org.junit*4.10.0.v4_10_0_v20120426-0900@default:default,org.junit*4.11.0.v201303080030@default:default,org.w3c.css.sac@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.examplemodel.ui@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model.edit@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui.swt@default:default,org.eclipse.emf.ecp.view.custom.ui@default:default,org.eclipse.emf.ecp.view.group.model.edit@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.groupedgrid.model.edit@default:default,org.eclipse.emf.ecp.view.groupedgrid.model@default:default,org.eclipse.emf.ecp.view.groupedgrid.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model.edit@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.label.model.edit@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.integrationtest@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model.edit@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.rule@default:default,org.eclipse.emf.ecp.view.separator.model.edit@default:default,org.eclipse.emf.ecp.view.separator.model@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="false"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.ecp.view.model.integrationtest/src/org/eclipse/emf/ecp/view/model/integrationtest/ChildrenDescriptorExtension_PTest.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.model.integrationtest.ChildrenDescriptorExtension_PTest"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.model.integrationtest"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.emf.cdo.server.product.tcp_h2"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.xml@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model.edit@default:default,org.eclipse.emf.ecp.view.compoundcontrol.model@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.custom.model.edit@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.group.model.edit@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.groupedgrid.model.edit@default:default,org.eclipse.emf.ecp.view.groupedgrid.model@default:default,org.eclipse.emf.ecp.view.horizontal.model.edit@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.indexdmr.model.edit@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model.edit@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model@default:default,org.eclipse.emf.ecp.view.label.model.edit@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.model.edit@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.integrationtest@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model.edit@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.section.model.edit@default:default,org.eclipse.emf.ecp.view.section.model@default:default,org.eclipse.emf.ecp.view.stack.model.edit@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model.edit@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model.edit@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.viewproxy.model.edit@default:default,org.eclipse.emf.ecp.view.viewproxy.model@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emf.ecp.view.model.integrationtest/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.model.integrationtest/META-INF/MANIFEST.MF
index 48cb3c3..1b0ebfb 100644
--- a/tests/org.eclipse.emf.ecp.view.model.integrationtest/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.model.integrationtest/META-INF/MANIFEST.MF
@@ -2,19 +2,27 @@
Bundle-ManifestVersion: 2
Bundle-Name: Integrationtest
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.integrationtest
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.groupedgrid.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.label.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.group.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.table.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.common
+ org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.viewproxy.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.stack.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.section.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.compoundcontrol.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.6.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.view.model.integrationtest;version
- ="1.5.1";x-internal:=true
+ ="1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.model.integrationtest/pom.xml b/tests/org.eclipse.emf.ecp.view.model.integrationtest/pom.xml
index 6452ad5..24a293f 100644
--- a/tests/org.eclipse.emf.ecp.view.model.integrationtest/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.integrationtest/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.model.integrationtest</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,73 +24,121 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.custom.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.groupedgrid.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.label.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.rule.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.vertical.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.horizontal.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.group.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.table.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.categorization.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.custom.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.groupedgrid.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.label.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.rule.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.vertical.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.horizontal.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.group.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.table.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.categorization.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.treemasterdetail.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.section.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.viewproxy.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.stack.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.compoundcontrol.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.indexdmr.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.mappingdmr.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.keyattributedmr.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.emfstore.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.model.integrationtest/src/org/eclipse/emf/ecp/view/model/integrationtest/ChildrenDescriptorExtension_PTest.java b/tests/org.eclipse.emf.ecp.view.model.integrationtest/src/org/eclipse/emf/ecp/view/model/integrationtest/ChildrenDescriptorExtension_PTest.java
index c792fce..e716ce5 100644
--- a/tests/org.eclipse.emf.ecp.view.model.integrationtest/src/org/eclipse/emf/ecp/view/model/integrationtest/ChildrenDescriptorExtension_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.model.integrationtest/src/org/eclipse/emf/ecp/view/model/integrationtest/ChildrenDescriptorExtension_PTest.java
@@ -22,15 +22,25 @@
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecp.common.spi.ChildrenDescriptorCollector;
import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationPackage;
+import org.eclipse.emf.ecp.view.spi.compoundcontrol.model.VCompoundcontrolPackage;
+import org.eclipse.emf.ecp.view.spi.custom.model.VCustomPackage;
import org.eclipse.emf.ecp.view.spi.group.model.VGroupPackage;
import org.eclipse.emf.ecp.view.spi.groupedgrid.model.VGroupedGridPackage;
+import org.eclipse.emf.ecp.view.spi.horizontal.model.VHorizontalPackage;
+import org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
import org.eclipse.emf.ecp.view.spi.rule.model.RulePackage;
+import org.eclipse.emf.ecp.view.spi.section.model.VSectionPackage;
+import org.eclipse.emf.ecp.view.spi.stack.model.VStackPackage;
import org.eclipse.emf.ecp.view.spi.table.model.VTablePackage;
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalPackage;
+import org.eclipse.emf.ecp.view.spi.viewproxy.model.VViewproxyPackage;
+import org.eclipse.emf.ecp.view.treemasterdetail.model.VTreeMasterDetailPackage;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.junit.Test;
+@SuppressWarnings("restriction")
public class ChildrenDescriptorExtension_PTest {
/**
@@ -43,8 +53,11 @@
private static final int COMPOSITE_CHILD_COUNT = RENDERABLE_CHILD_COUNT;
private static final int ABSTRACTCATEGORIZATION_CHILD_COUNT = RENDERABLE_CHILD_COUNT + 1;
private static final int NUMBER_OF_MAIN_COMPOSITES = 1;
- // label, table, vertical, horizontal, group, groupedgrid, categorizationElement, custom control
- private static final int NUMBER_OF_EXTERNAL_COMPOSITES = 8;
+ // label, table, vertical, horizontal, group, groupedgrid, categorizationElement, custom control, section,
+ // stack,viewproxy, compoundcontrol, treemasterdetail
+ private static final int NUMBER_OF_EXTERNAL_COMPOSITES = 13;
+ // VDomainModelReference -> VFeaturePathDR, VPredefinedDR, VTableDR,KEYDMR, MAPPINGDMR,IndexDMR
+ private static final int DOMAINMODELREFERENCE_COUNT = 6;
private static final int NUMBER_OF_COMPOSITES = NUMBER_OF_MAIN_COMPOSITES + NUMBER_OF_EXTERNAL_COMPOSITES;
// categorization, category
private static final int NUMBER_OF_CATEGORIZATIONS = 2;
@@ -57,24 +70,19 @@
private static final int LEAFCONDITION_CHILD_COUNT = 1;
private static final int ORCONDITION_CHILD_COUNT = 3;
private static final int ANDCONDITION_CHILD_COUNT = 3;
- // TODO: Should be not -10, labels, groupedgrid, span, 2 rules, vertical, horizontal, table, group
- // are missing
+ // TODO: Should be not - NUMBER_OF_EXTERNAL_COMPOSITES
// TODO: upper hierarchy is missing, can't find children +2 because of hardcoded layouts
- private static final int CATEGORY_CHILD_COUNT = NUMBER_OF_COMPOSITES + ABSTRACTCATEGORIZATION_CHILD_COUNT - 10 + 3
- + 2;
- // VDomainModelReference -> VFeaturePathDR, VPredefinedDR, VTableDR
- private static final int CONTROL_CHILD_COUNT = COMPOSITE_CHILD_COUNT + 3;
+ private static final int CATEGORY_CHILD_COUNT = NUMBER_OF_COMPOSITES + ABSTRACTCATEGORIZATION_CHILD_COUNT
+ - NUMBER_OF_EXTERNAL_COMPOSITES + 2 + 1;
+
+ private static final int CONTROL_CHILD_COUNT = COMPOSITE_CHILD_COUNT + DOMAINMODELREFERENCE_COUNT;
private static final int TABLECONTROL_CHILD_COUNT = CONTROL_CHILD_COUNT + 2;
- private static final int SEPARATOR_CHILD_COUNT = RENDERABLE_CHILD_COUNT;
- // private static final int COLUMNCOMPOSITE_CHILD_COUNT = COMPOSITECOLLECTION_CHILD_COUNT;
- // private static final int COLUMN_CHILD_COUNT = COMPOSITECOLLECTION_CHILD_COUNT;
- private static final int GROUP_CHILD_COUNT = COMPOSITECOLLECTION_CHILD_COUNT;
private static final int ACTION_CHILD_COUNT = 0;
private static final int GROUPEDGRID_CHILD_COUNT = RENDERABLE_CHILD_COUNT + 1;
private static final int GRIDEDGROUP_CHILD_COUNT = 1;
- // TODO: Should be not -7, labels, group, vertical, horizontal, table,categorizationelement are missing
+ // TODO: Should be not - NUMBER_OF_EXTERNAL_COMPOSITES are missing
// TODO: upper hierarchy is missing, can't find children
- private static final int GRIDEDGROUPROW_CHILD_COUNT = NUMBER_OF_COMPOSITES - 7;
+ private static final int GRIDEDGROUPROW_CHILD_COUNT = NUMBER_OF_COMPOSITES - NUMBER_OF_EXTERNAL_COMPOSITES + 1;
private static final int GRIDEDGROUPSPAN_CHILD_COUNT = 0;
private final ChildrenDescriptorCollector descriptorCollector = new ChildrenDescriptorCollector();
@@ -206,7 +214,79 @@
@Test
public void testGroupDescriptors() {
final int size = getChildrenSize(VGroupPackage.eINSTANCE.getGroup());
- assertEquals(GROUP_CHILD_COUNT, size);
+ assertEquals(COMPOSITECOLLECTION_CHILD_COUNT, size);
+ }
+
+ @Test
+ public void testHorizontalDescriptors() {
+ final int size = getChildrenSize(VHorizontalPackage.eINSTANCE.getHorizontalLayout());
+ assertEquals(COMPOSITECOLLECTION_CHILD_COUNT, size);
+ }
+
+ @Test
+ public void testVerticalDescriptors() {
+ final int size = getChildrenSize(VVerticalPackage.eINSTANCE.getVerticalLayout());
+ assertEquals(COMPOSITECOLLECTION_CHILD_COUNT, size);
+ }
+
+ @Test
+ public void testLabelDescriptors() {
+ final int size = getChildrenSize(VLabelPackage.eINSTANCE.getLabel());
+ // -5 because only the VFeaturePath is found
+ assertEquals(ATTACHMENT_CHILD_COUNT + DOMAINMODELREFERENCE_COUNT - 5, size);
+ }
+
+ @Test
+ public void testCustomControlDescriptors() {
+ final int size = getChildrenSize(VCustomPackage.eINSTANCE.getCustomControl());
+ assertEquals(CONTROL_CHILD_COUNT, size);
+ }
+
+ @Test
+ public void testSectionDescriptors() {
+ final int size = getChildrenSize(VSectionPackage.eINSTANCE.getSection());
+ assertEquals(COMPOSITECOLLECTION_CHILD_COUNT, size);
+ }
+
+ @Test
+ public void testSectionAreaDescriptors() {
+ final int size = getChildrenSize(VSectionPackage.eINSTANCE.getSectionedArea());
+ // +1 because of section
+ assertEquals(ATTACHMENT_CHILD_COUNT + 1, size);
+ }
+
+ @Test
+ public void testStackItemDescriptors() {
+ final int size = getChildrenSize(VStackPackage.eINSTANCE.getStackItem());
+ // -1 because of treemasterdetail as it only can be added to containedContainer
+ assertEquals(COMPOSITECOLLECTION_CHILD_COUNT - 1, size);
+ }
+
+ @Test
+ public void testStackLayoutDescriptors() {
+ final int size = getChildrenSize(VStackPackage.eINSTANCE.getStackLayout());
+ // +1 for stack items
+ assertEquals(ATTACHMENT_CHILD_COUNT + 1, size);
+ }
+
+ @Test
+ public void testViewProxyDescriptors() {
+ final int size = getChildrenSize(VViewproxyPackage.eINSTANCE.getViewProxy());
+ assertEquals(ATTACHMENT_CHILD_COUNT, size);
+ }
+
+ @Test
+ public void testCompoundControlDescriptors() {
+ final int size = getChildrenSize(VCompoundcontrolPackage.eINSTANCE.getCompoundControl());
+ // +1 because of vcontrol TODO table and custom control is missing
+ assertEquals(ATTACHMENT_CHILD_COUNT + 1, size);
+ }
+
+ @Test
+ public void testTreeMasterDetailDescriptors() {
+ final int size = getChildrenSize(VTreeMasterDetailPackage.eINSTANCE.getTreeMasterDetail());
+ // +1 because of VView
+ assertEquals(ATTACHMENT_CHILD_COUNT + 1, size);
}
/**
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/META-INF/MANIFEST.MF
index 6f35f60..976bb2f 100644
--- a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: ECP XMI Provider Test
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.provider.xmi.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="1.4.0"
Bundle-ClassPath: .
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8.0",
@@ -11,5 +11,6 @@
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.model.provider.xmi.test;versi
- on="1.5.1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.model.provider.xmi;version="1
+ .6.0";x-internal:=true,org.eclipse.emf.ecp.view.model.provider.xmi.te
+ st;version="1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/pom.xml b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/pom.xml
index 41f3a8c..6b64676 100644
--- a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.model.provider.xmi.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,28 +24,36 @@
<configuration>
<useUIHarness>false</useUIHarness>
<useUIThread>false</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.emfstore.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/src/org/eclipse/emf/ecp/view/model/provider/xmi/ViewModelFileExtensionsManager_PTest.java b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/src/org/eclipse/emf/ecp/view/model/provider/xmi/ViewModelFileExtensionsManager_PTest.java
new file mode 100644
index 0000000..b547f37
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/src/org/eclipse/emf/ecp/view/model/provider/xmi/ViewModelFileExtensionsManager_PTest.java
@@ -0,0 +1,79 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Jonas - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.model.provider.xmi;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.view.model.provider.xmi.ViewModelFileExtensionsManager.ExtensionDescription;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
+import org.eclipse.emf.emfstore.bowling.BowlingPackage;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * @author Jonas
+ *
+ */
+public class ViewModelFileExtensionsManager_PTest {
+
+ private static final String FILEPATH = "viewmodel.view";
+
+ private static final URI FILE_URI = URI.createPlatformPluginURI("org.eclipse.emf.ecp.view.model.provider.xmi"
+ + "/" + FILEPATH, false);
+ private static final String VIEWNAME = "the view name";
+ private ViewModelFileExtensionsManager manager;
+ private final EClass eClass1 = BowlingPackage.eINSTANCE.getLeague();
+
+ @Before
+ public void init() throws IOException {
+ ViewModelFileExtensionsManager.dispose();
+ manager = ViewModelFileExtensionsManager.getInstance();
+ }
+
+ @Test
+ public void testGetExtensionURIs() {
+ final Map<URI, ExtensionDescription> extensionURIS = ViewModelFileExtensionsManager.getExtensionURIS();
+ assertEquals(1, extensionURIS.size());
+ final URI uri = extensionURIS.keySet().iterator().next();
+ assertEquals(FILE_URI, uri);
+
+ }
+
+ @Test
+ public void testHasViewModelFor() {
+ final EObject eObject = EcoreUtil.create(eClass1);
+ assertTrue(manager.hasViewModelFor(eObject, null));
+ }
+
+ @Test
+ public void testCreateViewModel() {
+ final EObject eObject = EcoreUtil.create(eClass1);
+ final VView view = manager.createView(eObject, null);
+ assertEquals(VIEWNAME, view.getName());
+ }
+
+ @Test
+ public void testIntegrationWithViewProvider() {
+ final EObject eObject = EcoreUtil.create(eClass1);
+ final VView view = ViewProviderHelper.getView(eObject, null);
+ assertEquals(VIEWNAME, view.getName());
+ }
+}
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/src/org/eclipse/emf/ecp/view/model/provider/xmi/test/AllTests.java b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/src/org/eclipse/emf/ecp/view/model/provider/xmi/test/AllTests.java
index 8764ed7..674561c 100644
--- a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/src/org/eclipse/emf/ecp/view/model/provider/xmi/test/AllTests.java
+++ b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/src/org/eclipse/emf/ecp/view/model/provider/xmi/test/AllTests.java
@@ -12,6 +12,7 @@
*******************************************************************************/
package org.eclipse.emf.ecp.view.model.provider.xmi.test;
+import org.eclipse.emf.ecp.view.model.provider.xmi.ViewModelFileExtensionsManager_PTest;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
diff --git a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/src/org/eclipse/emf/ecp/view/model/provider/xmi/test/ViewModelFileExtensionsManager_PTest.java b/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/src/org/eclipse/emf/ecp/view/model/provider/xmi/test/ViewModelFileExtensionsManager_PTest.java
deleted file mode 100644
index fe7d32d..0000000
--- a/tests/org.eclipse.emf.ecp.view.model.provider.xmi.test/src/org/eclipse/emf/ecp/view/model/provider/xmi/test/ViewModelFileExtensionsManager_PTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jonas - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.model.provider.xmi.test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.io.IOException;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecp.view.model.provider.xmi.ViewModelFileExtensionsManager;
-import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
-import org.eclipse.emf.emfstore.bowling.BowlingPackage;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * @author Jonas
- *
- */
-public class ViewModelFileExtensionsManager_PTest {
-
- private static final String FILEPATH = "viewmodel.view";
-
- private static final URI FILE_URI = URI.createPlatformPluginURI("org.eclipse.emf.ecp.view.model.provider.xmi"
- + "/" + FILEPATH, false);
- private static final String VIEWNAME = "the view name";
- private ViewModelFileExtensionsManager manager;
- private final EClass eClass1 = BowlingPackage.eINSTANCE.getLeague();
-
- @Before
- public void init() throws IOException {
- ViewModelFileExtensionsManager.dispose();
- manager = ViewModelFileExtensionsManager.getInstance();
- }
-
- @Test
- public void testGetExtensionURIs() {
- final Map<URI, Map<String, String>> extensionURIS = ViewModelFileExtensionsManager.getExtensionURIS();
- assertEquals(1, extensionURIS.size());
- final URI uri = extensionURIS.keySet().iterator().next();
- assertEquals(FILE_URI, uri);
-
- }
-
- @Test
- public void testHasViewModelFor() {
- final EObject eObject = EcoreUtil.create(eClass1);
- assertTrue(manager.hasViewModelFor(eObject, null));
- }
-
- @Test
- public void testCreateViewModel() {
- final EObject eObject = EcoreUtil.create(eClass1);
- final VView view = manager.createView(eObject, null);
- assertEquals(VIEWNAME, view.getName());
- }
-
- @Test
- public void testIntegrationWithViewProvider() {
- final EObject eObject = EcoreUtil.create(eClass1);
- final VView view = ViewProviderHelper.getView(eObject, null);
- assertEquals(VIEWNAME, view.getName());
- }
-}
diff --git a/tests/org.eclipse.emf.ecp.view.model.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.model.test/META-INF/MANIFEST.MF
index 29d18af..ac8bfd6 100644
--- a/tests/org.eclipse.emf.ecp.view.model.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.model.test/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
Bundle-ManifestVersion: 2
Bundle-Name: Model Test
Bundle-SymbolicName: org.eclipse.emf.ecp.view.model.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.view.model.test;version="1.5.1";x-
- internal:=true,org.eclipse.emf.ecp.view.spi.model;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.model.test;version="1.6.0";x-
+ internal:=true,org.eclipse.emf.ecp.view.spi.model;version="1.6.0"
diff --git a/tests/org.eclipse.emf.ecp.view.model.test/pom.xml b/tests/org.eclipse.emf.ecp.view.model.test/pom.xml
index b763477..bb67e6d 100644
--- a/tests/org.eclipse.emf.ecp.view.model.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.model.test/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
diff --git a/tests/org.eclipse.emf.ecp.view.rule.test/AllRuleTests.launch b/tests/org.eclipse.emf.ecp.view.rule.test/AllRuleTests.launch
index 34ee85b..ba06a54 100644
--- a/tests/org.eclipse.emf.ecp.view.rule.test/AllRuleTests.launch
+++ b/tests/org.eclipse.emf.ecp.view.rule.test/AllRuleTests.launch
@@ -32,8 +32,8 @@
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.model@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.rule.test@default:default,org.eclipse.emf.ecp.view.rule.ui.swt.test@default:false,org.eclipse.emf.ecp.view.rule@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.test.model@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.rule.test@default:default,org.eclipse.emf.ecp.view.rule.ui.swt.test@default:false,org.eclipse.emf.ecp.view.rule@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emf.emfforms.core.services.labelprovider@default:default,org.eclipse.emf.emfforms.localization@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.view.model.localization@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<stringAttribute key="timestamp" value="1383829357863"/>
<booleanAttribute key="tracing" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.rule.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.rule.test/META-INF/MANIFEST.MF
index 8459c8e..0e4bfca 100644
--- a/tests/org.eclipse.emf.ecp.view.rule.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.rule.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Model Rule Test
Bundle-SymbolicName: org.eclipse.emf.ecp.view.rule.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
@@ -15,6 +15,8 @@
org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.test.common;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.test.model;bundle-version="[1.5.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.view.rule.test;version="1.5.1"
+ org.eclipse.emf.ecp.test.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.view.indexdmr.model;bundle-version="1.6.0"
+Export-Package: org.eclipse.emf.ecp.view.rule.test;version="1.6.0"
Bundle-Vendor: Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.ecp.view.rule.test/pom.xml b/tests/org.eclipse.emf.ecp.view.rule.test/pom.xml
index 62434e6..a0e6ffd 100644
--- a/tests/org.eclipse.emf.ecp.view.rule.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.rule.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.rule.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,38 +24,51 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.vertical.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.rule.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.emfstore.example.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.vertical.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.rule.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.emfstore.example.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.indexdmr.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/AllTests.java b/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/AllTests.java
index aaa89af..79e126b 100644
--- a/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/AllTests.java
+++ b/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/AllTests.java
@@ -17,11 +17,11 @@
@RunWith(Suite.class)
@SuiteClasses({
- RuleServiceGC_Test.class,
+ RuleServiceGC_PTest.class,
RuleService_PTest.class,
ConditionEvaluator_Test.class,
- DynamicRuleService_Test.class,
- RuleRegistry_Test.class
+ DynamicRuleService_PTest.class,
+ RuleRegistry_PTest.class
})
public class AllTests {
diff --git a/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/DynamicRuleService_PTest.java b/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/DynamicRuleService_PTest.java
new file mode 100644
index 0000000..6aa6dd3
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/DynamicRuleService_PTest.java
@@ -0,0 +1,633 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.rule.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.NoSuchElementException;
+
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.internal.rule.RuleService;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
+import org.eclipse.emf.ecp.view.spi.model.VContainedContainer;
+import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.rule.model.EnableRule;
+import org.eclipse.emf.ecp.view.spi.rule.model.LeafCondition;
+import org.eclipse.emf.ecp.view.spi.rule.model.OrCondition;
+import org.eclipse.emf.ecp.view.spi.rule.model.RuleFactory;
+import org.eclipse.emf.ecp.view.spi.rule.model.ShowRule;
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalFactory;
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout;
+import org.eclipse.emf.emfstore.bowling.BowlingFactory;
+import org.eclipse.emf.emfstore.bowling.BowlingPackage;
+import org.eclipse.emf.emfstore.bowling.Player;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * @author Eugen
+ * @author jfaltermeier
+ *
+ */
+public class DynamicRuleService_PTest {
+
+ private static final double HEIGHT = 2;
+ private static final double HEIGHT_ALT = 3;
+ private static final double PLAYER_HEIGHT = 1;
+
+ private RuleService rs;
+ private VView view;
+ private Player domainObject;
+ private DefaultRealm realm;
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Before
+ public void setUp() throws Exception {
+ realm = new DefaultRealm();
+ rs = new RuleService();
+ domainObject = createDomainObject();
+ }
+
+ @After
+ public void tearDown() {
+ realm.dispose();
+ }
+
+ private void initialize() {
+ ViewModelContextFactory.INSTANCE.createViewModelContext(view, domainObject,
+ rs);
+ }
+
+ private Player createDomainObject() {
+ final Player player = BowlingFactory.eINSTANCE.createPlayer();
+ player.setName("Test");
+ player.setHeight(PLAYER_HEIGHT);
+ return player;
+ }
+
+ private ShowRule createShowRule(double expectedValue) {
+ final ShowRule showRule = RuleFactory.eINSTANCE.createShowRule();
+ final LeafCondition lc = RuleFactory.eINSTANCE.createLeafCondition();
+ showRule.setCondition(lc);
+ final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Height());
+ lc.setDomainModelReference(dmr);
+ lc.setExpectedValue(expectedValue);
+ return showRule;
+ }
+
+ private EnableRule createEnableRule(double expectedValue) {
+ final EnableRule enabelRule = RuleFactory.eINSTANCE.createEnableRule();
+ final LeafCondition lc = RuleFactory.eINSTANCE.createLeafCondition();
+ enabelRule.setCondition(lc);
+ final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Height());
+ lc.setDomainModelReference(dmr);
+ lc.setExpectedValue(expectedValue);
+ return enabelRule;
+ }
+
+ private EnableRule createEnableRule(double expectedValue1, double expectedValue2) {
+ final EnableRule enableRule = RuleFactory.eINSTANCE.createEnableRule();
+
+ final OrCondition oc = RuleFactory.eINSTANCE.createOrCondition();
+
+ final LeafCondition lc1 = RuleFactory.eINSTANCE.createLeafCondition();
+ final VFeaturePathDomainModelReference dmr1 = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmr1.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Height());
+ lc1.setDomainModelReference(dmr1);
+ lc1.setExpectedValue(expectedValue1);
+ oc.getConditions().add(lc1);
+
+ final LeafCondition lc2 = RuleFactory.eINSTANCE.createLeafCondition();
+ final VFeaturePathDomainModelReference dmr2 = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmr2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Height());
+ lc2.setDomainModelReference(dmr2);
+ lc2.setExpectedValue(expectedValue2);
+ oc.getConditions().add(lc2);
+
+ enableRule.setCondition(oc);
+
+ return enableRule;
+ }
+
+ private VView createSimpleView() {
+ final VView view = VViewFactory.eINSTANCE.createView();
+ final VControl controlName = VViewFactory.eINSTANCE.createControl();
+ final VFeaturePathDomainModelReference dmrName = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmrName.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
+ controlName.setDomainModelReference(dmrName);
+ view.getChildren().add(controlName);
+ return view;
+ }
+
+ private VView createContainerView() {
+ final VView view = VViewFactory.eINSTANCE.createView();
+ final VVerticalLayout verticalLayout = VVerticalFactory.eINSTANCE.createVerticalLayout();
+ view.getChildren().add(verticalLayout);
+ final VControl controlName = VViewFactory.eINSTANCE.createControl();
+ final VFeaturePathDomainModelReference dmrName = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmrName.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
+ controlName.setDomainModelReference(dmrName);
+ verticalLayout.getChildren().add(controlName);
+ return view;
+ }
+
+ private VVerticalLayout getVerticalLayout(VView view) {
+ for (final VContainedElement element : view.getChildren()) {
+ if (element instanceof VVerticalLayout) {
+ return (VVerticalLayout) element;
+ }
+ }
+ throw new NoSuchElementException("No vertical layout found in the view's children.");
+ }
+
+ @Test
+ public void testInitEmptyShowRuleOnControl() {
+ view = createSimpleView();
+ final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
+ view.getChildren().get(0).getAttachments().add(sr);
+ initialize();
+
+ assertTrue(view.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testInitEmptyShowRuleOppositeOnControl() {
+ view = createSimpleView();
+ final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
+ sr.setHide(true);
+ view.getChildren().get(0).getAttachments().add(sr);
+ initialize();
+
+ assertTrue(view.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testInitEmptyConditionOnControl() {
+ view = createSimpleView();
+ final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
+ final LeafCondition lc = RuleFactory.eINSTANCE.createLeafCondition();
+ sr.setCondition(lc);
+ view.getChildren().get(0).getAttachments().add(sr);
+ initialize();
+
+ assertTrue(view.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testInitEmptyDMROnControl() {
+ view = createSimpleView();
+ final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
+ final LeafCondition lc = RuleFactory.eINSTANCE.createLeafCondition();
+ final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ lc.setDomainModelReference(dmr);
+ sr.setCondition(lc);
+ view.getChildren().get(0).getAttachments().add(sr);
+ initialize();
+
+ assertTrue(view.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testUnsetDMROnControl() {
+ view = createSimpleView();
+ final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
+ final LeafCondition lc = RuleFactory.eINSTANCE.createLeafCondition();
+ final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Height());
+ lc.setDomainModelReference(dmr);
+ sr.setCondition(lc);
+ view.getChildren().get(0).getAttachments().add(sr);
+ initialize();
+
+ assertFalse(view.getChildren().get(0).isVisible());
+
+ dmr.setDomainModelEFeature(null);
+
+ assertTrue(view.getChildren().get(0).isVisible());
+
+ }
+
+ @Test
+ public void testAddEmptyShowRuleOnControl() {
+ view = createSimpleView();
+ initialize();
+
+ final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
+ view.getChildren().get(0).getAttachments().add(sr);
+ assertTrue(view.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testAddEmptyConditionOnControl() {
+ view = createSimpleView();
+ final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
+ view.getChildren().get(0).getAttachments().add(sr);
+ initialize();
+ final LeafCondition lc = RuleFactory.eINSTANCE.createLeafCondition();
+ sr.setCondition(lc);
+ assertTrue(view.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testAddEmptyShowRuleOppositeOnControl() {
+ view = createSimpleView();
+ initialize();
+
+ final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
+ sr.setHide(true);
+ view.getChildren().get(0).getAttachments().add(sr);
+ assertTrue(view.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testAddAndRemoveEmptyShowRuleOnControl() {
+ view = createSimpleView();
+ initialize();
+
+ final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
+ view.getChildren().get(0).getAttachments().add(sr);
+ assertTrue(view.getChildren().get(0).isVisible());
+ view.getChildren().get(0).getAttachments().remove(sr);
+ assertTrue(view.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testAddEmptyEnableRuleOnControl() {
+ view = createSimpleView();
+ initialize();
+
+ final EnableRule er = RuleFactory.eINSTANCE.createEnableRule();
+ view.getChildren().get(0).getAttachments().add(er);
+ assertTrue(view.getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testAddAndRemoveEmptyEnableRuleOnControl() {
+ view = createSimpleView();
+ initialize();
+
+ final EnableRule er = RuleFactory.eINSTANCE.createEnableRule();
+ view.getChildren().get(0).getAttachments().add(er);
+ assertTrue(view.getChildren().get(0).isEnabled());
+ view.getChildren().get(0).getAttachments().remove(er);
+ assertTrue(view.getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testAddEmptyShowRuleOnContainer() {
+ view = createContainerView();
+ initialize();
+
+ final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
+ view.getChildren().get(0).getAttachments().add(sr);
+ assertTrue(view.getChildren().get(0).isVisible());
+ assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testAddAndRemoveEmptyShowRuleOnContainer() {
+ view = createContainerView();
+ initialize();
+
+ final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
+ view.getChildren().get(0).getAttachments().add(sr);
+ assertTrue(view.getChildren().get(0).isVisible());
+ assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
+ view.getChildren().get(0).getAttachments().remove(sr);
+ assertTrue(view.getChildren().get(0).isVisible());
+ assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testAddEmptyEnableRuleOnContainer() {
+ view = createContainerView();
+ initialize();
+
+ final EnableRule er = RuleFactory.eINSTANCE.createEnableRule();
+ view.getChildren().get(0).getAttachments().add(er);
+ assertTrue(view.getChildren().get(0).isEnabled());
+ assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testAddAndRemoveEmptyEnableRuleOnContainer() {
+ view = createContainerView();
+ initialize();
+
+ final EnableRule er = RuleFactory.eINSTANCE.createEnableRule();
+ view.getChildren().get(0).getAttachments().add(er);
+ assertTrue(view.getChildren().get(0).isEnabled());
+ assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isEnabled());
+ view.getChildren().get(0).getAttachments().remove(er);
+ assertTrue(view.getChildren().get(0).isEnabled());
+ assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testAddEmptyShowRuleOnContainerAndControl() {
+ view = createContainerView();
+ initialize();
+
+ final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
+ final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
+ final ShowRule sr2 = RuleFactory.eINSTANCE.createShowRule();
+ container.getAttachments().add(sr);
+ container.getChildren().get(0).getAttachments().add(sr2);
+
+ assertTrue(container.isVisible());
+ assertTrue(container.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testAddAndRemoveEmptyShowRuleOnContainerAndControl() {
+ view = createContainerView();
+ initialize();
+
+ final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
+ final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
+ final ShowRule sr2 = RuleFactory.eINSTANCE.createShowRule();
+ container.getAttachments().add(sr);
+ container.getChildren().get(0).getAttachments().add(sr2);
+
+ assertTrue(view.getChildren().get(0).isVisible());
+ assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
+ container.getAttachments().remove(sr);
+ assertTrue(container.isVisible());
+ assertTrue(container.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testAddEmptyEnableRuleOnContainerAndControl() {
+ view = createContainerView();
+ initialize();
+
+ final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
+ final EnableRule er = RuleFactory.eINSTANCE.createEnableRule();
+ final EnableRule er2 = RuleFactory.eINSTANCE.createEnableRule();
+ container.getAttachments().add(er);
+ container.getChildren().get(0).getAttachments().add(er2);
+ assertTrue(container.isEnabled());
+ assertTrue(container.getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testAddAndRemoveEmptyEnableRuleOnContainerAndControl() {
+ view = createContainerView();
+ initialize();
+
+ final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
+ final EnableRule er = RuleFactory.eINSTANCE.createEnableRule();
+ final EnableRule er2 = RuleFactory.eINSTANCE.createEnableRule();
+ container.getAttachments().add(er);
+ container.getChildren().get(0).getAttachments().add(er2);
+ assertTrue(container.isEnabled());
+ assertTrue(container.getChildren().get(0).isEnabled());
+
+ container.getAttachments().remove(er);
+ assertTrue(container.isEnabled());
+ assertTrue(container.getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testAddShowRuleOnControl() {
+ view = createSimpleView();
+ initialize();
+
+ final ShowRule sr = createShowRule(HEIGHT);
+ view.getChildren().get(0).getAttachments().add(sr);
+ assertFalse(view.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testAddAndRemoveShowRuleOnControl() {
+ view = createSimpleView();
+ initialize();
+
+ final ShowRule sr = createShowRule(HEIGHT);
+ view.getChildren().get(0).getAttachments().add(sr);
+ assertFalse(view.getChildren().get(0).isVisible());
+ view.getChildren().get(0).getAttachments().remove(sr);
+ assertTrue(view.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testAddEnableRuleOnControl() {
+ view = createSimpleView();
+ initialize();
+
+ final EnableRule er = createEnableRule(HEIGHT);
+ view.getChildren().get(0).getAttachments().add(er);
+ assertFalse(view.getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testAddAndRemoveEnableRuleOnControl() {
+ view = createSimpleView();
+ initialize();
+
+ final EnableRule er = createEnableRule(HEIGHT);
+ view.getChildren().get(0).getAttachments().add(er);
+ assertFalse(view.getChildren().get(0).isEnabled());
+ view.getChildren().get(0).getAttachments().remove(er);
+ assertTrue(view.getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testAddShowRuleOnContainer() {
+ view = createContainerView();
+ initialize();
+
+ final ShowRule sr = createShowRule(HEIGHT);
+ view.getChildren().get(0).getAttachments().add(sr);
+ assertFalse(view.getChildren().get(0).isVisible());
+ assertFalse(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testAddAndRemoveShowRuleOnContainer() {
+ view = createContainerView();
+ initialize();
+
+ final ShowRule sr = createShowRule(HEIGHT);
+ view.getChildren().get(0).getAttachments().add(sr);
+ assertFalse(view.getChildren().get(0).isVisible());
+ assertFalse(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
+ view.getChildren().get(0).getAttachments().remove(sr);
+ assertTrue(view.getChildren().get(0).isVisible());
+ assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testAddEnableRuleOnContainer() {
+ view = createContainerView();
+ initialize();
+
+ final EnableRule er = createEnableRule(HEIGHT);
+ view.getChildren().get(0).getAttachments().add(er);
+ assertFalse(view.getChildren().get(0).isEnabled());
+ assertFalse(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testAddAndRemoveEnableRuleOnContainer() {
+ view = createContainerView();
+ initialize();
+
+ final EnableRule er = createEnableRule(HEIGHT);
+ view.getChildren().get(0).getAttachments().add(er);
+ assertFalse(view.getChildren().get(0).isEnabled());
+ assertFalse(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isEnabled());
+ view.getChildren().get(0).getAttachments().remove(er);
+ assertTrue(view.getChildren().get(0).isEnabled());
+ assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testAddShowRuleOnContainerAndControl() {
+ view = createContainerView();
+ initialize();
+
+ final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
+ final ShowRule sr = createShowRule(HEIGHT);
+ final ShowRule sr2 = createShowRule(HEIGHT);
+ container.getAttachments().add(sr);
+ container.getChildren().get(0).getAttachments().add(sr2);
+
+ assertFalse(container.isVisible());
+ assertFalse(container.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testAddAndRemoveShowRuleOnContainerAndControl() {
+ view = createContainerView();
+ initialize();
+
+ final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
+ final ShowRule sr = createShowRule(HEIGHT);
+ final ShowRule sr2 = createShowRule(HEIGHT);
+ container.getAttachments().add(sr);
+ container.getChildren().get(0).getAttachments().add(sr2);
+
+ assertFalse(view.getChildren().get(0).isVisible());
+ assertFalse(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
+ container.getAttachments().remove(sr);
+ assertTrue(container.isVisible());
+ assertFalse(container.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testAddEnableRuleOnContainerAndControl() {
+ view = createContainerView();
+ initialize();
+
+ final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
+ final EnableRule er = createEnableRule(HEIGHT);
+ final EnableRule er2 = createEnableRule(HEIGHT);
+ container.getAttachments().add(er);
+ container.getChildren().get(0).getAttachments().add(er2);
+ assertFalse(container.isEnabled());
+ assertFalse(container.getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testAddAndRemoveEnableRuleOnContainerAndControl() {
+ view = createContainerView();
+ initialize();
+
+ final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
+ final EnableRule er = createEnableRule(HEIGHT);
+ final EnableRule er2 = createEnableRule(HEIGHT);
+ container.getAttachments().add(er);
+ container.getChildren().get(0).getAttachments().add(er2);
+ assertFalse(container.isEnabled());
+ assertFalse(container.getChildren().get(0).isEnabled());
+
+ container.getAttachments().remove(er);
+ assertTrue(container.isEnabled());
+ assertFalse(container.getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testAddNewVElementWithoutRule() {
+ // setup
+ view = createContainerView();
+ initialize();
+
+ // act
+ final VVerticalLayout verticalLayout = getVerticalLayout(view);
+ final VControl controlName = VViewFactory.eINSTANCE.createControl();
+ final VFeaturePathDomainModelReference dmrName = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmrName.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
+ controlName.setDomainModelReference(dmrName);
+ verticalLayout.getChildren().add(controlName);
+
+ // assert
+ // no exceptions expected
+ }
+
+ @Test
+ public void testAddNewVElementWithLeafCondition() {
+ // setup
+ view = createContainerView();
+ initialize();
+
+ // act
+ final VVerticalLayout verticalLayout = getVerticalLayout(view);
+ final VControl controlName = VViewFactory.eINSTANCE.createControl();
+ final VFeaturePathDomainModelReference dmrName = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmrName.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
+ controlName.setDomainModelReference(dmrName);
+
+ final EnableRule er = createEnableRule(HEIGHT);
+ controlName.getAttachments().add(er);
+
+ verticalLayout.getChildren().add(controlName);
+
+ // assert
+ assertTrue(verticalLayout.getChildren().get(0).isEnabled());
+ assertFalse(verticalLayout.getChildren().get(1).isEnabled());
+ }
+
+ @Test
+ public void testAddNewVElementWithNonLeafCondition() {
+ // setup
+ view = createContainerView();
+ initialize();
+
+ // act
+ final VVerticalLayout verticalLayout = getVerticalLayout(view);
+ final VControl controlName = VViewFactory.eINSTANCE.createControl();
+ final VFeaturePathDomainModelReference dmrName = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmrName.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
+ controlName.setDomainModelReference(dmrName);
+
+ final EnableRule er = createEnableRule(HEIGHT, HEIGHT_ALT);
+ controlName.getAttachments().add(er);
+
+ verticalLayout.getChildren().add(controlName);
+
+ // assert
+ assertTrue(verticalLayout.getChildren().get(0).isEnabled());
+ assertFalse(verticalLayout.getChildren().get(1).isEnabled());
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/DynamicRuleService_Test.java b/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/DynamicRuleService_Test.java
deleted file mode 100644
index 8eb4e58..0000000
--- a/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/DynamicRuleService_Test.java
+++ /dev/null
@@ -1,624 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eugen - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.rule.test;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.util.NoSuchElementException;
-
-import org.eclipse.emf.ecp.view.internal.rule.RuleService;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
-import org.eclipse.emf.ecp.view.spi.model.VContainedContainer;
-import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
-import org.eclipse.emf.ecp.view.spi.model.VControl;
-import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
-import org.eclipse.emf.ecp.view.spi.rule.model.EnableRule;
-import org.eclipse.emf.ecp.view.spi.rule.model.LeafCondition;
-import org.eclipse.emf.ecp.view.spi.rule.model.OrCondition;
-import org.eclipse.emf.ecp.view.spi.rule.model.RuleFactory;
-import org.eclipse.emf.ecp.view.spi.rule.model.ShowRule;
-import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalFactory;
-import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout;
-import org.eclipse.emf.emfstore.bowling.BowlingFactory;
-import org.eclipse.emf.emfstore.bowling.BowlingPackage;
-import org.eclipse.emf.emfstore.bowling.Player;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * @author Eugen
- * @author jfaltermeier
- *
- */
-public class DynamicRuleService_Test {
-
- private static final double HEIGHT = 2;
- private static final double HEIGHT_ALT = 3;
- private static final double PLAYER_HEIGHT = 1;
-
- private RuleService rs;
- private VView view;
- private Player domainObject;
-
- /**
- * @throws java.lang.Exception
- */
- @Before
- public void setUp() throws Exception {
- rs = new RuleService();
- domainObject = createDomainObject();
- }
-
- private void initialize() {
- ViewModelContextFactory.INSTANCE.createViewModelContext(view, domainObject,
- rs);
- }
-
- private Player createDomainObject() {
- final Player player = BowlingFactory.eINSTANCE.createPlayer();
- player.setName("Test");
- player.setHeight(PLAYER_HEIGHT);
- return player;
- }
-
- private ShowRule createShowRule(double expectedValue) {
- final ShowRule showRule = RuleFactory.eINSTANCE.createShowRule();
- final LeafCondition lc = RuleFactory.eINSTANCE.createLeafCondition();
- showRule.setCondition(lc);
- final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Height());
- lc.setDomainModelReference(dmr);
- lc.setExpectedValue(expectedValue);
- return showRule;
- }
-
- private EnableRule createEnableRule(double expectedValue) {
- final EnableRule enabelRule = RuleFactory.eINSTANCE.createEnableRule();
- final LeafCondition lc = RuleFactory.eINSTANCE.createLeafCondition();
- enabelRule.setCondition(lc);
- final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Height());
- lc.setDomainModelReference(dmr);
- lc.setExpectedValue(expectedValue);
- return enabelRule;
- }
-
- private EnableRule createEnableRule(double expectedValue1, double expectedValue2) {
- final EnableRule enableRule = RuleFactory.eINSTANCE.createEnableRule();
-
- final OrCondition oc = RuleFactory.eINSTANCE.createOrCondition();
-
- final LeafCondition lc1 = RuleFactory.eINSTANCE.createLeafCondition();
- final VFeaturePathDomainModelReference dmr1 = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmr1.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Height());
- lc1.setDomainModelReference(dmr1);
- lc1.setExpectedValue(expectedValue1);
- oc.getConditions().add(lc1);
-
- final LeafCondition lc2 = RuleFactory.eINSTANCE.createLeafCondition();
- final VFeaturePathDomainModelReference dmr2 = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmr2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Height());
- lc2.setDomainModelReference(dmr2);
- lc2.setExpectedValue(expectedValue2);
- oc.getConditions().add(lc2);
-
- enableRule.setCondition(oc);
-
- return enableRule;
- }
-
- private VView createSimpleView() {
- final VView view = VViewFactory.eINSTANCE.createView();
- final VControl controlName = VViewFactory.eINSTANCE.createControl();
- final VFeaturePathDomainModelReference dmrName = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmrName.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
- controlName.setDomainModelReference(dmrName);
- view.getChildren().add(controlName);
- return view;
- }
-
- private VView createContainerView() {
- final VView view = VViewFactory.eINSTANCE.createView();
- final VVerticalLayout verticalLayout = VVerticalFactory.eINSTANCE.createVerticalLayout();
- view.getChildren().add(verticalLayout);
- final VControl controlName = VViewFactory.eINSTANCE.createControl();
- final VFeaturePathDomainModelReference dmrName = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmrName.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
- controlName.setDomainModelReference(dmrName);
- verticalLayout.getChildren().add(controlName);
- return view;
- }
-
- private VVerticalLayout getVerticalLayout(VView view) {
- for (final VContainedElement element : view.getChildren()) {
- if (element instanceof VVerticalLayout) {
- return (VVerticalLayout) element;
- }
- }
- throw new NoSuchElementException("No vertical layout found in the view's children.");
- }
-
- @Test
- public void testInitEmptyShowRuleOnControl() {
- view = createSimpleView();
- final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
- view.getChildren().get(0).getAttachments().add(sr);
- initialize();
-
- assertTrue(view.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testInitEmptyShowRuleOppositeOnControl() {
- view = createSimpleView();
- final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
- sr.setHide(true);
- view.getChildren().get(0).getAttachments().add(sr);
- initialize();
-
- assertTrue(view.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testInitEmptyConditionOnControl() {
- view = createSimpleView();
- final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
- final LeafCondition lc = RuleFactory.eINSTANCE.createLeafCondition();
- sr.setCondition(lc);
- view.getChildren().get(0).getAttachments().add(sr);
- initialize();
-
- assertTrue(view.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testInitEmptyDMROnControl() {
- view = createSimpleView();
- final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
- final LeafCondition lc = RuleFactory.eINSTANCE.createLeafCondition();
- final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- lc.setDomainModelReference(dmr);
- sr.setCondition(lc);
- view.getChildren().get(0).getAttachments().add(sr);
- initialize();
-
- assertTrue(view.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testUnsetDMROnControl() {
- view = createSimpleView();
- final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
- final LeafCondition lc = RuleFactory.eINSTANCE.createLeafCondition();
- final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Height());
- lc.setDomainModelReference(dmr);
- sr.setCondition(lc);
- view.getChildren().get(0).getAttachments().add(sr);
- initialize();
-
- assertFalse(view.getChildren().get(0).isVisible());
-
- dmr.setDomainModelEFeature(null);
-
- assertTrue(view.getChildren().get(0).isVisible());
-
- }
-
- @Test
- public void testAddEmptyShowRuleOnControl() {
- view = createSimpleView();
- initialize();
-
- final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
- view.getChildren().get(0).getAttachments().add(sr);
- assertTrue(view.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testAddEmptyConditionOnControl() {
- view = createSimpleView();
- final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
- view.getChildren().get(0).getAttachments().add(sr);
- initialize();
- final LeafCondition lc = RuleFactory.eINSTANCE.createLeafCondition();
- sr.setCondition(lc);
- assertTrue(view.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testAddEmptyShowRuleOppositeOnControl() {
- view = createSimpleView();
- initialize();
-
- final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
- sr.setHide(true);
- view.getChildren().get(0).getAttachments().add(sr);
- assertTrue(view.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testAddAndRemoveEmptyShowRuleOnControl() {
- view = createSimpleView();
- initialize();
-
- final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
- view.getChildren().get(0).getAttachments().add(sr);
- assertTrue(view.getChildren().get(0).isVisible());
- view.getChildren().get(0).getAttachments().remove(sr);
- assertTrue(view.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testAddEmptyEnableRuleOnControl() {
- view = createSimpleView();
- initialize();
-
- final EnableRule er = RuleFactory.eINSTANCE.createEnableRule();
- view.getChildren().get(0).getAttachments().add(er);
- assertTrue(view.getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testAddAndRemoveEmptyEnableRuleOnControl() {
- view = createSimpleView();
- initialize();
-
- final EnableRule er = RuleFactory.eINSTANCE.createEnableRule();
- view.getChildren().get(0).getAttachments().add(er);
- assertTrue(view.getChildren().get(0).isEnabled());
- view.getChildren().get(0).getAttachments().remove(er);
- assertTrue(view.getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testAddEmptyShowRuleOnContainer() {
- view = createContainerView();
- initialize();
-
- final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
- view.getChildren().get(0).getAttachments().add(sr);
- assertTrue(view.getChildren().get(0).isVisible());
- assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
- }
-
- @Test
- public void testAddAndRemoveEmptyShowRuleOnContainer() {
- view = createContainerView();
- initialize();
-
- final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
- view.getChildren().get(0).getAttachments().add(sr);
- assertTrue(view.getChildren().get(0).isVisible());
- assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
- view.getChildren().get(0).getAttachments().remove(sr);
- assertTrue(view.getChildren().get(0).isVisible());
- assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
- }
-
- @Test
- public void testAddEmptyEnableRuleOnContainer() {
- view = createContainerView();
- initialize();
-
- final EnableRule er = RuleFactory.eINSTANCE.createEnableRule();
- view.getChildren().get(0).getAttachments().add(er);
- assertTrue(view.getChildren().get(0).isEnabled());
- assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testAddAndRemoveEmptyEnableRuleOnContainer() {
- view = createContainerView();
- initialize();
-
- final EnableRule er = RuleFactory.eINSTANCE.createEnableRule();
- view.getChildren().get(0).getAttachments().add(er);
- assertTrue(view.getChildren().get(0).isEnabled());
- assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isEnabled());
- view.getChildren().get(0).getAttachments().remove(er);
- assertTrue(view.getChildren().get(0).isEnabled());
- assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testAddEmptyShowRuleOnContainerAndControl() {
- view = createContainerView();
- initialize();
-
- final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
- final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
- final ShowRule sr2 = RuleFactory.eINSTANCE.createShowRule();
- container.getAttachments().add(sr);
- container.getChildren().get(0).getAttachments().add(sr2);
-
- assertTrue(container.isVisible());
- assertTrue(container.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testAddAndRemoveEmptyShowRuleOnContainerAndControl() {
- view = createContainerView();
- initialize();
-
- final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
- final ShowRule sr = RuleFactory.eINSTANCE.createShowRule();
- final ShowRule sr2 = RuleFactory.eINSTANCE.createShowRule();
- container.getAttachments().add(sr);
- container.getChildren().get(0).getAttachments().add(sr2);
-
- assertTrue(view.getChildren().get(0).isVisible());
- assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
- container.getAttachments().remove(sr);
- assertTrue(container.isVisible());
- assertTrue(container.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testAddEmptyEnableRuleOnContainerAndControl() {
- view = createContainerView();
- initialize();
-
- final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
- final EnableRule er = RuleFactory.eINSTANCE.createEnableRule();
- final EnableRule er2 = RuleFactory.eINSTANCE.createEnableRule();
- container.getAttachments().add(er);
- container.getChildren().get(0).getAttachments().add(er2);
- assertTrue(container.isEnabled());
- assertTrue(container.getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testAddAndRemoveEmptyEnableRuleOnContainerAndControl() {
- view = createContainerView();
- initialize();
-
- final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
- final EnableRule er = RuleFactory.eINSTANCE.createEnableRule();
- final EnableRule er2 = RuleFactory.eINSTANCE.createEnableRule();
- container.getAttachments().add(er);
- container.getChildren().get(0).getAttachments().add(er2);
- assertTrue(container.isEnabled());
- assertTrue(container.getChildren().get(0).isEnabled());
-
- container.getAttachments().remove(er);
- assertTrue(container.isEnabled());
- assertTrue(container.getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testAddShowRuleOnControl() {
- view = createSimpleView();
- initialize();
-
- final ShowRule sr = createShowRule(HEIGHT);
- view.getChildren().get(0).getAttachments().add(sr);
- assertFalse(view.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testAddAndRemoveShowRuleOnControl() {
- view = createSimpleView();
- initialize();
-
- final ShowRule sr = createShowRule(HEIGHT);
- view.getChildren().get(0).getAttachments().add(sr);
- assertFalse(view.getChildren().get(0).isVisible());
- view.getChildren().get(0).getAttachments().remove(sr);
- assertTrue(view.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testAddEnableRuleOnControl() {
- view = createSimpleView();
- initialize();
-
- final EnableRule er = createEnableRule(HEIGHT);
- view.getChildren().get(0).getAttachments().add(er);
- assertFalse(view.getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testAddAndRemoveEnableRuleOnControl() {
- view = createSimpleView();
- initialize();
-
- final EnableRule er = createEnableRule(HEIGHT);
- view.getChildren().get(0).getAttachments().add(er);
- assertFalse(view.getChildren().get(0).isEnabled());
- view.getChildren().get(0).getAttachments().remove(er);
- assertTrue(view.getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testAddShowRuleOnContainer() {
- view = createContainerView();
- initialize();
-
- final ShowRule sr = createShowRule(HEIGHT);
- view.getChildren().get(0).getAttachments().add(sr);
- assertFalse(view.getChildren().get(0).isVisible());
- assertFalse(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
- }
-
- @Test
- public void testAddAndRemoveShowRuleOnContainer() {
- view = createContainerView();
- initialize();
-
- final ShowRule sr = createShowRule(HEIGHT);
- view.getChildren().get(0).getAttachments().add(sr);
- assertFalse(view.getChildren().get(0).isVisible());
- assertFalse(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
- view.getChildren().get(0).getAttachments().remove(sr);
- assertTrue(view.getChildren().get(0).isVisible());
- assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
- }
-
- @Test
- public void testAddEnableRuleOnContainer() {
- view = createContainerView();
- initialize();
-
- final EnableRule er = createEnableRule(HEIGHT);
- view.getChildren().get(0).getAttachments().add(er);
- assertFalse(view.getChildren().get(0).isEnabled());
- assertFalse(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testAddAndRemoveEnableRuleOnContainer() {
- view = createContainerView();
- initialize();
-
- final EnableRule er = createEnableRule(HEIGHT);
- view.getChildren().get(0).getAttachments().add(er);
- assertFalse(view.getChildren().get(0).isEnabled());
- assertFalse(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isEnabled());
- view.getChildren().get(0).getAttachments().remove(er);
- assertTrue(view.getChildren().get(0).isEnabled());
- assertTrue(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testAddShowRuleOnContainerAndControl() {
- view = createContainerView();
- initialize();
-
- final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
- final ShowRule sr = createShowRule(HEIGHT);
- final ShowRule sr2 = createShowRule(HEIGHT);
- container.getAttachments().add(sr);
- container.getChildren().get(0).getAttachments().add(sr2);
-
- assertFalse(container.isVisible());
- assertFalse(container.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testAddAndRemoveShowRuleOnContainerAndControl() {
- view = createContainerView();
- initialize();
-
- final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
- final ShowRule sr = createShowRule(HEIGHT);
- final ShowRule sr2 = createShowRule(HEIGHT);
- container.getAttachments().add(sr);
- container.getChildren().get(0).getAttachments().add(sr2);
-
- assertFalse(view.getChildren().get(0).isVisible());
- assertFalse(VContainedContainer.class.cast(view.getChildren().get(0)).getChildren().get(0).isVisible());
- container.getAttachments().remove(sr);
- assertTrue(container.isVisible());
- assertFalse(container.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testAddEnableRuleOnContainerAndControl() {
- view = createContainerView();
- initialize();
-
- final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
- final EnableRule er = createEnableRule(HEIGHT);
- final EnableRule er2 = createEnableRule(HEIGHT);
- container.getAttachments().add(er);
- container.getChildren().get(0).getAttachments().add(er2);
- assertFalse(container.isEnabled());
- assertFalse(container.getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testAddAndRemoveEnableRuleOnContainerAndControl() {
- view = createContainerView();
- initialize();
-
- final VContainedContainer container = VContainedContainer.class.cast(view.getChildren().get(0));
- final EnableRule er = createEnableRule(HEIGHT);
- final EnableRule er2 = createEnableRule(HEIGHT);
- container.getAttachments().add(er);
- container.getChildren().get(0).getAttachments().add(er2);
- assertFalse(container.isEnabled());
- assertFalse(container.getChildren().get(0).isEnabled());
-
- container.getAttachments().remove(er);
- assertTrue(container.isEnabled());
- assertFalse(container.getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testAddNewVElementWithoutRule() {
- // setup
- view = createContainerView();
- initialize();
-
- // act
- final VVerticalLayout verticalLayout = getVerticalLayout(view);
- final VControl controlName = VViewFactory.eINSTANCE.createControl();
- final VFeaturePathDomainModelReference dmrName = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmrName.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
- controlName.setDomainModelReference(dmrName);
- verticalLayout.getChildren().add(controlName);
-
- // assert
- // no exceptions expected
- }
-
- @Test
- public void testAddNewVElementWithLeafCondition() {
- // setup
- view = createContainerView();
- initialize();
-
- // act
- final VVerticalLayout verticalLayout = getVerticalLayout(view);
- final VControl controlName = VViewFactory.eINSTANCE.createControl();
- final VFeaturePathDomainModelReference dmrName = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmrName.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
- controlName.setDomainModelReference(dmrName);
-
- final EnableRule er = createEnableRule(HEIGHT);
- controlName.getAttachments().add(er);
-
- verticalLayout.getChildren().add(controlName);
-
- // assert
- assertTrue(verticalLayout.getChildren().get(0).isEnabled());
- assertFalse(verticalLayout.getChildren().get(1).isEnabled());
- }
-
- @Test
- public void testAddNewVElementWithNonLeafCondition() {
- // setup
- view = createContainerView();
- initialize();
-
- // act
- final VVerticalLayout verticalLayout = getVerticalLayout(view);
- final VControl controlName = VViewFactory.eINSTANCE.createControl();
- final VFeaturePathDomainModelReference dmrName = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmrName.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
- controlName.setDomainModelReference(dmrName);
-
- final EnableRule er = createEnableRule(HEIGHT, HEIGHT_ALT);
- controlName.getAttachments().add(er);
-
- verticalLayout.getChildren().add(controlName);
-
- // assert
- assertTrue(verticalLayout.getChildren().get(0).isEnabled());
- assertFalse(verticalLayout.getChildren().get(1).isEnabled());
- }
-
-}
diff --git a/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleRegistry_PTest.java b/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleRegistry_PTest.java
new file mode 100644
index 0000000..a8d7cb3
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleRegistry_PTest.java
@@ -0,0 +1,1551 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * jfaltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.rule.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.lang.reflect.Field;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+
+import org.eclipse.emf.ecp.common.spi.BidirectionalMap;
+import org.eclipse.emf.ecp.common.spi.UniqueSetting;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.internal.rule.RuleRegistry;
+import org.eclipse.emf.ecp.view.internal.rule.RuleService;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.rule.model.Condition;
+import org.eclipse.emf.ecp.view.spi.rule.model.LeafCondition;
+import org.eclipse.emf.ecp.view.spi.rule.model.OrCondition;
+import org.eclipse.emf.ecp.view.spi.rule.model.RuleFactory;
+import org.eclipse.emf.ecp.view.spi.rule.model.ShowRule;
+import org.eclipse.emf.emfstore.bowling.BowlingFactory;
+import org.eclipse.emf.emfstore.bowling.BowlingPackage;
+import org.eclipse.emf.emfstore.bowling.Fan;
+import org.eclipse.emf.emfstore.bowling.Merchandise;
+import org.eclipse.emf.emfstore.bowling.Tournament;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests that assert that the {@link RuleRegistry}'s maps are updated correctly, especially on deletes.
+ *
+ * @author jfaltermeier
+ *
+ */
+public class RuleRegistry_PTest {
+ // assertions are pretty complex
+ // BEGIN COMPLEX CODE
+ private static final String CONDITION_TO_SETTINGS_FIELD_NAME = "conditionToSettings";
+ private static final String RULES_TO_RENDERABLES_FIELD_NAME = "rulesToRenderables";
+ private static final String SETTING_TO_RULES_FIELD_NAME = "settingToRules";
+ private static final String REFLECTION_FAIL_FIX_TEST_SETUP = "Reflection fail. Fix test setup!";
+ private static final String SHOW_RULE_REGISTRY_FIELD_NAME = "showRuleRegistry";
+ private static final String FM_RIGHT = "Bowling Ball";
+ private static final String M2_RIGHT = "Shirt";
+ private static final String M1_RIGHT = "Scarf";
+
+ private RuleService ruleService;
+
+ private Fan fan;
+ private Merchandise merchandise1;
+ private Merchandise merchandise2;
+ private Merchandise favMerchandise;
+
+ private UniqueSetting favMerchandiseSetting;
+ private UniqueSetting merchandise1Setting;
+ private UniqueSetting merchandise2Setting;
+ private UniqueSetting fanSetting;
+
+ private VView view;
+ private VControl control1;
+ private VControl control2;
+ private DefaultRealm realm;
+
+ @Before
+ public void setUp() {
+ realm = new DefaultRealm();
+ ruleService = new RuleService();
+ createView();
+ createDomainObject();
+ }
+
+ @After
+ public void tearDown() {
+ realm.dispose();
+ }
+
+ private void createDomainObject() {
+ fan = BowlingFactory.eINSTANCE.createFan();
+
+ merchandise1 = BowlingFactory.eINSTANCE.createMerchandise();
+ merchandise1.setName(M1_RIGHT);
+ merchandise1Setting = UniqueSetting.createSetting(merchandise1, BowlingPackage.eINSTANCE.getMerchandise_Name());
+
+ merchandise2 = BowlingFactory.eINSTANCE.createMerchandise();
+ merchandise2.setName(M2_RIGHT);
+ merchandise2Setting = UniqueSetting.createSetting(merchandise2, BowlingPackage.eINSTANCE.getMerchandise_Name());
+
+ favMerchandise = BowlingFactory.eINSTANCE.createMerchandise();
+ favMerchandise.setName(FM_RIGHT);
+ favMerchandiseSetting = UniqueSetting.createSetting(favMerchandise,
+ BowlingPackage.eINSTANCE.getMerchandise_Name());
+
+ fan.setFavouriteMerchandise(favMerchandise);
+ fan.getFanMerchandise().add(merchandise1);
+ fan.getFanMerchandise().add(merchandise2);
+ fanSetting = UniqueSetting.createSetting(fan, BowlingPackage.eINSTANCE.getFan_FanMerchandise());
+ }
+
+ private void createView() {
+ view = VViewFactory.eINSTANCE.createView();
+
+ control1 = VViewFactory.eINSTANCE.createControl();
+ control1.setDomainModelReference(BowlingPackage.eINSTANCE.getFan_DateOfBirth());
+
+ control2 = VViewFactory.eINSTANCE.createControl();
+ control2.setDomainModelReference(BowlingPackage.eINSTANCE.getFan_EMails());
+
+ view.getChildren().add(control1);
+ view.getChildren().add(control2);
+ }
+
+ private void initialize() {
+ ViewModelContextFactory.INSTANCE.createViewModelContext(view, fan, ruleService);
+ }
+
+ private static ShowRule addFavMerchandiseRule(VElement element) {
+ final ShowRule rule = RuleFactory.eINSTANCE.createShowRule();
+
+ final LeafCondition condition = RuleFactory.eINSTANCE.createLeafCondition();
+
+ final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmr.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
+ dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
+
+ condition.setExpectedValue(FM_RIGHT);
+ condition.setDomainModelReference(dmr);
+ rule.setCondition(condition);
+
+ element.getAttachments().add(rule);
+
+ return rule;
+ }
+
+ private static ShowRule addFanMerchandiseRule(VElement element) {
+ final ShowRule rule = RuleFactory.eINSTANCE.createShowRule();
+
+ final LeafCondition condition = RuleFactory.eINSTANCE.createLeafCondition();
+
+ final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_FanMerchandise());
+
+ final VFeaturePathDomainModelReference valueDMR = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ valueDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
+
+ condition.setExpectedValue(M1_RIGHT);
+ condition.setDomainModelReference(dmr);
+ condition.setValueDomainModelReference(valueDMR);
+ rule.setCondition(condition);
+
+ element.getAttachments().add(rule);
+
+ return rule;
+ }
+
+ private static ShowRule addFanMerchandiseOrRule(VElement element) {
+ final ShowRule rule = RuleFactory.eINSTANCE.createShowRule();
+
+ final OrCondition condition = RuleFactory.eINSTANCE.createOrCondition();
+
+ final LeafCondition condition1 = RuleFactory.eINSTANCE.createLeafCondition();
+ final VFeaturePathDomainModelReference dmr1 = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmr1.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_FanMerchandise());
+ final VFeaturePathDomainModelReference valueDMR1 = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ valueDMR1.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
+ condition1.setExpectedValue(M1_RIGHT);
+ condition1.setDomainModelReference(dmr1);
+ condition1.setValueDomainModelReference(valueDMR1);
+
+ final LeafCondition condition2 = RuleFactory.eINSTANCE.createLeafCondition();
+ final VFeaturePathDomainModelReference dmr2 = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmr2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_FanMerchandise());
+ final VFeaturePathDomainModelReference valueDMR2 = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ valueDMR2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
+ condition2.setExpectedValue(M2_RIGHT);
+ condition2.setDomainModelReference(dmr2);
+ condition2.setValueDomainModelReference(valueDMR2);
+
+ condition.getConditions().add(condition1);
+ condition.getConditions().add(condition2);
+
+ rule.setCondition(condition);
+
+ element.getAttachments().add(rule);
+
+ return rule;
+ }
+
+ private Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> getSettingsToRules() {
+ try {
+ final RuleRegistry<ShowRule> ruleRegistry = getRuleRegistry();
+
+ final Field field = ruleRegistry.getClass().getDeclaredField(SETTING_TO_RULES_FIELD_NAME);
+ field.setAccessible(true);
+ @SuppressWarnings("unchecked")
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> result = (Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>>) field
+ .get(ruleRegistry);
+ return result;
+ } catch (final SecurityException ex) {
+ } catch (final NoSuchFieldException ex) {
+ } catch (final IllegalArgumentException ex) {
+ } catch (final IllegalAccessException ex) {
+ }
+ fail(REFLECTION_FAIL_FIX_TEST_SETUP);
+ return null;
+ }
+
+ private BidirectionalMap<ShowRule, VElement> getRulesToRenderables() {
+ try {
+ final RuleRegistry<ShowRule> ruleRegistry = getRuleRegistry();
+
+ final Field field = ruleRegistry.getClass().getDeclaredField(RULES_TO_RENDERABLES_FIELD_NAME);
+ field.setAccessible(true);
+ @SuppressWarnings("unchecked")
+ final BidirectionalMap<ShowRule, VElement> result = (BidirectionalMap<ShowRule, VElement>) field
+ .get(ruleRegistry);
+ return result;
+ } catch (final SecurityException ex) {
+ } catch (final NoSuchFieldException ex) {
+ } catch (final IllegalArgumentException ex) {
+ } catch (final IllegalAccessException ex) {
+ }
+ fail(REFLECTION_FAIL_FIX_TEST_SETUP);
+ return null;
+ }
+
+ private Map<Condition, Set<UniqueSetting>> getConditionsToSettings() {
+ try {
+ final RuleRegistry<ShowRule> ruleRegistry = getRuleRegistry();
+
+ final Field field = ruleRegistry.getClass().getDeclaredField(CONDITION_TO_SETTINGS_FIELD_NAME);
+ field.setAccessible(true);
+ @SuppressWarnings("unchecked")
+ final Map<Condition, Set<UniqueSetting>> result = (Map<Condition, Set<UniqueSetting>>) field
+ .get(ruleRegistry);
+ return result;
+ } catch (final SecurityException ex) {
+ } catch (final NoSuchFieldException ex) {
+ } catch (final IllegalArgumentException ex) {
+ } catch (final IllegalAccessException ex) {
+ }
+ fail(REFLECTION_FAIL_FIX_TEST_SETUP);
+ return null;
+ }
+
+ private RuleRegistry<ShowRule> getRuleRegistry() {
+ try {
+ final Field field = ruleService.getClass().getDeclaredField(SHOW_RULE_REGISTRY_FIELD_NAME);
+ field.setAccessible(true);
+ @SuppressWarnings("unchecked")
+ final RuleRegistry<ShowRule> result = (RuleRegistry<ShowRule>) field.get(ruleService);
+ return result;
+ } catch (final SecurityException ex) {
+ } catch (final NoSuchFieldException ex) {
+ } catch (final IllegalArgumentException ex) {
+ } catch (final IllegalAccessException ex) {
+ }
+ fail(REFLECTION_FAIL_FIX_TEST_SETUP);
+ return null;
+ }
+
+ @Test
+ public void testInitOneSingleRefRule() {
+ // setup
+ final ShowRule rule = addFavMerchandiseRule(control1);
+
+ // act
+ initialize();
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(1, settingsToRules.size());
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry = settingsToRules.entrySet()
+ .iterator()
+ .next();
+ assertEquals(favMerchandiseSetting, entry.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules = entry.getValue();
+ assertEquals(1, conditionToRules.keys().size());
+ assertEquals(1, conditionToRules.values().size());
+ final Condition condition = conditionToRules.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition);
+ assertEquals(rule, conditionToRules.getValue(condition));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(1, rulesToRenderables.keys().size());
+ assertEquals(1, rulesToRenderables.values().size());
+ final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
+ assertEquals(rule, ruleKey);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(1, conditionsToSettings.size());
+ final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
+ assertEquals(rule.getCondition(), entry.getKey());
+ assertEquals(1, entry.getValue().size());
+ assertEquals(favMerchandiseSetting, entry.getValue().iterator().next());
+ }
+ }
+
+ @Test
+ public void testInitTwoSimilarSingleRefRule() {
+ // setup
+ final ShowRule rule1 = addFavMerchandiseRule(control1);
+ final ShowRule rule2 = addFavMerchandiseRule(control2);
+
+ // act
+ initialize();
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(1, settingsToRules.size());
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry = settingsToRules.entrySet()
+ .iterator().next();
+ assertEquals(favMerchandiseSetting, entry.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules = entry.getValue();
+ assertEquals(2, conditionToRules.keys().size());
+ assertEquals(2, conditionToRules.values().size());
+ final Iterator<Condition> iterator = conditionToRules.keys().iterator();
+ final Condition condition1 = iterator.next();
+ assertEquals(rule1.getCondition(), condition1);
+ assertEquals(rule1, conditionToRules.getValue(condition1));
+ final Condition condition2 = iterator.next();
+ assertEquals(rule2.getCondition(), condition2);
+ assertEquals(rule2, conditionToRules.getValue(condition2));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(2, rulesToRenderables.keys().size());
+ assertEquals(2, rulesToRenderables.values().size());
+ final Iterator<ShowRule> iterator = rulesToRenderables.keys().iterator();
+ final ShowRule ruleKey1 = iterator.next();
+ assertEquals(rule1, ruleKey1);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey1));
+ final ShowRule ruleKey2 = iterator.next();
+ assertEquals(rule2, ruleKey2);
+ assertEquals(control2, rulesToRenderables.getValue(ruleKey2));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(2, conditionsToSettings.size());
+ final Iterator<Entry<Condition, Set<UniqueSetting>>> iterator = conditionsToSettings.entrySet().iterator();
+ final Entry<Condition, Set<UniqueSetting>> entry1 = iterator.next();
+ assertEquals(rule1.getCondition(), entry1.getKey());
+ assertEquals(1, entry1.getValue().size());
+ assertEquals(favMerchandiseSetting, entry1.getValue().iterator().next());
+ final Entry<Condition, Set<UniqueSetting>> entry2 = iterator.next();
+ assertEquals(rule2.getCondition(), entry2.getKey());
+ assertEquals(1, entry2.getValue().size());
+ assertEquals(favMerchandiseSetting, entry2.getValue().iterator().next());
+ }
+ }
+
+ @Test
+ public void testInitOneMultiRefRule() {
+ // setup
+ final ShowRule rule = addFanMerchandiseRule(control1);
+
+ // act
+ initialize();
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(3, settingsToRules.size());
+ final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
+ .entrySet().iterator();
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
+ assertEquals(fanSetting, entry1.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
+ assertEquals(1, conditionToRules1.keys().size());
+ assertEquals(1, conditionToRules1.values().size());
+ final Condition condition1 = conditionToRules1.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition1);
+ assertEquals(rule, conditionToRules1.getValue(condition1));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
+ assertEquals(merchandise1Setting, entry2.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
+ assertEquals(1, conditionToRules2.keys().size());
+ assertEquals(1, conditionToRules2.values().size());
+ final Condition condition2 = conditionToRules2.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition2);
+ assertEquals(rule, conditionToRules2.getValue(condition2));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
+ assertEquals(merchandise2Setting, entry3.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
+ assertEquals(1, conditionToRules3.keys().size());
+ assertEquals(1, conditionToRules3.values().size());
+ final Condition condition3 = conditionToRules3.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition3);
+ assertEquals(rule, conditionToRules3.getValue(condition3));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(1, rulesToRenderables.keys().size());
+ assertEquals(1, rulesToRenderables.values().size());
+ final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
+ assertEquals(rule, ruleKey);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(1, conditionsToSettings.size());
+ final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
+ assertEquals(rule.getCondition(), entry.getKey());
+ assertEquals(3, entry.getValue().size());
+ final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
+ assertEquals(fanSetting, iterator.next());
+ assertEquals(merchandise1Setting, iterator.next());
+ assertEquals(merchandise2Setting, iterator.next());
+ }
+ }
+
+ @Test
+ public void testInitTwoSimilarMultiRefRule() {
+ // setup
+ final ShowRule rule1 = addFanMerchandiseRule(control1);
+ final ShowRule rule2 = addFanMerchandiseRule(control2);
+
+ // act
+ initialize();
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(3, settingsToRules.size());
+ final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
+ .entrySet().iterator();
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
+ assertEquals(fanSetting, entry1.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
+ assertEquals(2, conditionToRules1.keys().size());
+ assertEquals(2, conditionToRules1.values().size());
+ final Iterator<Condition> conditionToRulesIterator1 = conditionToRules1.keys().iterator();
+ final Condition condition11 = conditionToRulesIterator1.next();
+ assertEquals(rule1.getCondition(), condition11);
+ assertEquals(rule1, conditionToRules1.getValue(condition11));
+ final Condition condition12 = conditionToRulesIterator1.next();
+ assertEquals(rule2.getCondition(), condition12);
+ assertEquals(rule2, conditionToRules1.getValue(condition12));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
+ assertEquals(merchandise1Setting, entry2.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
+ assertEquals(2, conditionToRules2.keys().size());
+ assertEquals(2, conditionToRules2.values().size());
+ final Iterator<Condition> conditionToRulesIterator2 = conditionToRules2.keys().iterator();
+ final Condition condition21 = conditionToRulesIterator2.next();
+ assertEquals(rule1.getCondition(), condition21);
+ assertEquals(rule1, conditionToRules2.getValue(condition21));
+ final Condition condition22 = conditionToRulesIterator2.next();
+ assertEquals(rule2.getCondition(), condition22);
+ assertEquals(rule2, conditionToRules2.getValue(condition22));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
+ assertEquals(merchandise2Setting, entry3.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
+ assertEquals(2, conditionToRules3.keys().size());
+ assertEquals(2, conditionToRules3.values().size());
+ final Iterator<Condition> conditionToRulesIterator3 = conditionToRules3.keys().iterator();
+ final Condition condition31 = conditionToRulesIterator3.next();
+ assertEquals(rule1.getCondition(), condition31);
+ assertEquals(rule1, conditionToRules3.getValue(condition31));
+ final Condition condition32 = conditionToRulesIterator3.next();
+ assertEquals(rule2.getCondition(), condition32);
+ assertEquals(rule2, conditionToRules3.getValue(condition32));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(2, rulesToRenderables.keys().size());
+ assertEquals(2, rulesToRenderables.values().size());
+ final Iterator<ShowRule> iterator = rulesToRenderables.keys().iterator();
+
+ final ShowRule ruleKey1 = iterator.next();
+ assertEquals(rule1, ruleKey1);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey1));
+
+ final ShowRule ruleKey2 = iterator.next();
+ assertEquals(rule2, ruleKey2);
+ assertEquals(control2, rulesToRenderables.getValue(ruleKey2));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(2, conditionsToSettings.size());
+ final Iterator<Entry<Condition, Set<UniqueSetting>>> iterator = conditionsToSettings.entrySet().iterator();
+
+ final Entry<Condition, Set<UniqueSetting>> entry1 = iterator.next();
+ assertEquals(rule1.getCondition(), entry1.getKey());
+ assertEquals(3, entry1.getValue().size());
+ assertTrue(entry1.getValue().contains(fanSetting));
+ assertTrue(entry1.getValue().contains(merchandise1Setting));
+ assertTrue(entry1.getValue().contains(merchandise2Setting));
+
+ final Entry<Condition, Set<UniqueSetting>> entry2 = iterator.next();
+ assertEquals(rule2.getCondition(), entry2.getKey());
+ assertEquals(3, entry2.getValue().size());
+ assertTrue(entry2.getValue().contains(fanSetting));
+ assertTrue(entry2.getValue().contains(merchandise1Setting));
+ assertTrue(entry2.getValue().contains(merchandise2Setting));
+ }
+ }
+
+ @Test
+ public void testInitOrMultiRefRule() {
+ // setup
+ final ShowRule rule = addFanMerchandiseOrRule(control1);
+ final OrCondition orCondition = (OrCondition) rule.getCondition();
+ final Condition condition1 = orCondition.getConditions().get(0);
+ final Condition condition2 = orCondition.getConditions().get(1);
+
+ // act
+ initialize();
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(3, settingsToRules.size());
+ final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
+ .entrySet().iterator();
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
+ assertEquals(fanSetting, entry1.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
+ assertEquals(2, conditionToRules1.keys().size());
+ assertEquals(1, conditionToRules1.values().size());
+ assertTrue(conditionToRules1.keys().contains(condition1));
+ assertEquals(rule, conditionToRules1.getValue(condition1));
+ assertTrue(conditionToRules1.keys().contains(condition2));
+ assertEquals(rule, conditionToRules1.getValue(condition2));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
+ assertEquals(merchandise1Setting, entry2.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
+ assertEquals(2, conditionToRules2.keys().size());
+ assertEquals(1, conditionToRules2.values().size());
+ assertTrue(conditionToRules2.keys().contains(condition1));
+ assertEquals(rule, conditionToRules2.getValue(condition1));
+ assertTrue(conditionToRules2.keys().contains(condition2));
+ assertEquals(rule, conditionToRules2.getValue(condition2));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
+ assertEquals(merchandise2Setting, entry3.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
+ assertEquals(2, conditionToRules3.keys().size());
+ assertEquals(1, conditionToRules3.values().size());
+ assertTrue(conditionToRules3.keys().contains(condition1));
+ assertEquals(rule, conditionToRules3.getValue(condition1));
+ assertTrue(conditionToRules3.keys().contains(condition2));
+ assertEquals(rule, conditionToRules3.getValue(condition2));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(1, rulesToRenderables.keys().size());
+ assertEquals(1, rulesToRenderables.values().size());
+ final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
+ assertEquals(rule, ruleKey);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(2, conditionsToSettings.size());
+ final Iterator<Entry<Condition, Set<UniqueSetting>>> iterator = conditionsToSettings.entrySet().iterator();
+
+ final Entry<Condition, Set<UniqueSetting>> entry1 = iterator.next();
+ assertEquals(condition1, entry1.getKey());
+ assertEquals(3, entry1.getValue().size());
+ assertTrue(entry1.getValue().contains(fanSetting));
+ assertTrue(entry1.getValue().contains(merchandise1Setting));
+ assertTrue(entry1.getValue().contains(merchandise2Setting));
+
+ final Entry<Condition, Set<UniqueSetting>> entry2 = iterator.next();
+ assertEquals(condition2, entry2.getKey());
+ assertEquals(3, entry2.getValue().size());
+ assertTrue(entry2.getValue().contains(fanSetting));
+ assertTrue(entry2.getValue().contains(merchandise1Setting));
+ assertTrue(entry2.getValue().contains(merchandise2Setting));
+ }
+ }
+
+ @Test
+ public void testInitOneMultiRefRuleEmptyList() {
+ // setup
+ fan.getFanMerchandise().clear();
+ final ShowRule rule = addFanMerchandiseRule(control1);
+
+ // act
+ initialize();
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(1, settingsToRules.size());
+ final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
+ .entrySet().iterator();
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
+ assertEquals(fanSetting, entry1.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
+ assertEquals(1, conditionToRules1.keys().size());
+ assertEquals(1, conditionToRules1.values().size());
+ final Condition condition1 = conditionToRules1.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition1);
+ assertEquals(rule, conditionToRules1.getValue(condition1));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(1, rulesToRenderables.keys().size());
+ assertEquals(1, rulesToRenderables.values().size());
+ final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
+ assertEquals(rule, ruleKey);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(1, conditionsToSettings.size());
+ final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
+ assertEquals(rule.getCondition(), entry.getKey());
+ assertEquals(1, entry.getValue().size());
+ final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
+ assertEquals(fanSetting, iterator.next());
+ }
+ }
+
+ @Test
+ public void testDynmicOneSingleRefRuleChangeDomain() {
+ // setup
+ final ShowRule rule = addFavMerchandiseRule(control1);
+ initialize();
+
+ // act
+ final Merchandise newMerchandise = BowlingFactory.eINSTANCE.createMerchandise();
+ fan.setFavouriteMerchandise(newMerchandise);
+ final UniqueSetting newSetting = UniqueSetting.createSetting(newMerchandise,
+ BowlingPackage.eINSTANCE.getMerchandise_Name());
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(1, settingsToRules.size());
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry = settingsToRules.entrySet()
+ .iterator()
+ .next();
+ assertEquals(newSetting, entry.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules = entry.getValue();
+ assertEquals(1, conditionToRules.keys().size());
+ assertEquals(1, conditionToRules.values().size());
+ final Condition condition = conditionToRules.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition);
+ assertEquals(rule, conditionToRules.getValue(condition));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(1, rulesToRenderables.keys().size());
+ assertEquals(1, rulesToRenderables.values().size());
+ final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
+ assertEquals(rule, ruleKey);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(1, conditionsToSettings.size());
+ final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
+ assertEquals(rule.getCondition(), entry.getKey());
+ assertEquals(1, entry.getValue().size());
+ assertEquals(newSetting, entry.getValue().iterator().next());
+ }
+ }
+
+ @Test
+ public void testDynamicOneMultiRefRuleChangeDomainAdd() {
+ // setup
+ final ShowRule rule = addFanMerchandiseRule(control1);
+ initialize();
+
+ // act
+ final Merchandise newMerchandise = BowlingFactory.eINSTANCE.createMerchandise();
+ fan.getFanMerchandise().add(newMerchandise);
+ final UniqueSetting newSetting = UniqueSetting.createSetting(newMerchandise,
+ BowlingPackage.eINSTANCE.getMerchandise_Name());
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(4, settingsToRules.size());
+ final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
+ .entrySet().iterator();
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
+ assertEquals(fanSetting, entry1.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
+ assertEquals(1, conditionToRules1.keys().size());
+ assertEquals(1, conditionToRules1.values().size());
+ final Condition condition1 = conditionToRules1.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition1);
+ assertEquals(rule, conditionToRules1.getValue(condition1));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
+ assertEquals(merchandise1Setting, entry2.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
+ assertEquals(1, conditionToRules2.keys().size());
+ assertEquals(1, conditionToRules2.values().size());
+ final Condition condition2 = conditionToRules2.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition2);
+ assertEquals(rule, conditionToRules2.getValue(condition2));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
+ assertEquals(merchandise2Setting, entry3.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
+ assertEquals(1, conditionToRules3.keys().size());
+ assertEquals(1, conditionToRules3.values().size());
+ final Condition condition3 = conditionToRules3.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition3);
+ assertEquals(rule, conditionToRules3.getValue(condition3));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry4 = iterator.next();
+ assertEquals(newSetting, entry4.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules4 = entry4.getValue();
+ assertEquals(1, conditionToRules4.keys().size());
+ assertEquals(1, conditionToRules4.values().size());
+ final Condition condition4 = conditionToRules4.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition4);
+ assertEquals(rule, conditionToRules4.getValue(condition4));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(1, rulesToRenderables.keys().size());
+ assertEquals(1, rulesToRenderables.values().size());
+ final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
+ assertEquals(rule, ruleKey);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(1, conditionsToSettings.size());
+ final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
+ assertEquals(rule.getCondition(), entry.getKey());
+ assertEquals(4, entry.getValue().size());
+ final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
+ assertEquals(fanSetting, iterator.next());
+ assertEquals(merchandise1Setting, iterator.next());
+ assertEquals(merchandise2Setting, iterator.next());
+ assertEquals(newSetting, iterator.next());
+ }
+ }
+
+ @Test
+ public void testDynamicOneMultiRefRuleChangeDomainRemove() {
+ // setup
+ final ShowRule rule = addFanMerchandiseRule(control1);
+ initialize();
+
+ // act
+ fan.getFanMerchandise().remove(1);
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(2, settingsToRules.size());
+ final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
+ .entrySet().iterator();
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
+ assertEquals(fanSetting, entry1.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
+ assertEquals(1, conditionToRules1.keys().size());
+ assertEquals(1, conditionToRules1.values().size());
+ final Condition condition1 = conditionToRules1.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition1);
+ assertEquals(rule, conditionToRules1.getValue(condition1));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
+ assertEquals(merchandise1Setting, entry2.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
+ assertEquals(1, conditionToRules2.keys().size());
+ assertEquals(1, conditionToRules2.values().size());
+ final Condition condition2 = conditionToRules2.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition2);
+ assertEquals(rule, conditionToRules2.getValue(condition2));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(1, rulesToRenderables.keys().size());
+ assertEquals(1, rulesToRenderables.values().size());
+ final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
+ assertEquals(rule, ruleKey);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(1, conditionsToSettings.size());
+ final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
+ assertEquals(rule.getCondition(), entry.getKey());
+ assertEquals(2, entry.getValue().size());
+ final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
+ assertEquals(fanSetting, iterator.next());
+ assertEquals(merchandise1Setting, iterator.next());
+ }
+ }
+
+ @Test
+ public void testDynamicOneMultiRefRuleChangeDomainClear() {
+ // setup
+ final ShowRule rule = addFanMerchandiseRule(control1);
+ initialize();
+
+ // act
+ fan.getFanMerchandise().clear();
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(1, settingsToRules.size());
+ final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
+ .entrySet().iterator();
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
+ assertEquals(fanSetting, entry1.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
+ assertEquals(1, conditionToRules1.keys().size());
+ assertEquals(1, conditionToRules1.values().size());
+ final Condition condition1 = conditionToRules1.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition1);
+ assertEquals(rule, conditionToRules1.getValue(condition1));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(1, rulesToRenderables.keys().size());
+ assertEquals(1, rulesToRenderables.values().size());
+ final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
+ assertEquals(rule, ruleKey);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(1, conditionsToSettings.size());
+ final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
+ assertEquals(rule.getCondition(), entry.getKey());
+ assertEquals(1, entry.getValue().size());
+ final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
+ assertEquals(fanSetting, iterator.next());
+ }
+ }
+
+ @Test
+ public void testDynamicOneMultiRefRuleChangeDomainUnaffected() {
+ // setup
+ final ShowRule rule = addFanMerchandiseRule(control1);
+ initialize();
+
+ // act
+ fan.getVisitedTournaments().add(BowlingFactory.eINSTANCE.createTournament());
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(3, settingsToRules.size());
+ final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
+ .entrySet().iterator();
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
+ assertEquals(fanSetting, entry1.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
+ assertEquals(1, conditionToRules1.keys().size());
+ assertEquals(1, conditionToRules1.values().size());
+ final Condition condition1 = conditionToRules1.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition1);
+ assertEquals(rule, conditionToRules1.getValue(condition1));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
+ assertEquals(merchandise1Setting, entry2.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
+ assertEquals(1, conditionToRules2.keys().size());
+ assertEquals(1, conditionToRules2.values().size());
+ final Condition condition2 = conditionToRules2.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition2);
+ assertEquals(rule, conditionToRules2.getValue(condition2));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
+ assertEquals(merchandise2Setting, entry3.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
+ assertEquals(1, conditionToRules3.keys().size());
+ assertEquals(1, conditionToRules3.values().size());
+ final Condition condition3 = conditionToRules3.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition3);
+ assertEquals(rule, conditionToRules3.getValue(condition3));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(1, rulesToRenderables.keys().size());
+ assertEquals(1, rulesToRenderables.values().size());
+ final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
+ assertEquals(rule, ruleKey);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(1, conditionsToSettings.size());
+ final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
+ assertEquals(rule.getCondition(), entry.getKey());
+ assertEquals(3, entry.getValue().size());
+ final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
+ assertEquals(fanSetting, iterator.next());
+ assertEquals(merchandise1Setting, iterator.next());
+ assertEquals(merchandise2Setting, iterator.next());
+ }
+ }
+
+ @Test
+ public void testDynamicOneMultiRefRuleChangeDomainAddNonContainment() {
+ // setup
+ final ShowRule rule = RuleFactory.eINSTANCE.createShowRule();
+ final LeafCondition condition = RuleFactory.eINSTANCE.createLeafCondition();
+ final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_VisitedTournaments());
+ final VFeaturePathDomainModelReference valueDMR = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ valueDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getTournament_PriceMoney());
+ condition.setExpectedValue(99.99);
+ condition.setDomainModelReference(dmr);
+ condition.setValueDomainModelReference(valueDMR);
+ rule.setCondition(condition);
+ control1.getAttachments().add(rule);
+
+ final Tournament tournament1 = BowlingFactory.eINSTANCE.createTournament();
+ fan.getVisitedTournaments().add(tournament1);
+
+ final UniqueSetting newSettingList = UniqueSetting.createSetting(fan,
+ BowlingPackage.eINSTANCE.getFan_VisitedTournaments());
+ final UniqueSetting newSettingLeaf1 = UniqueSetting.createSetting(tournament1,
+ BowlingPackage.eINSTANCE.getTournament_PriceMoney());
+
+ initialize();
+
+ // act
+ final Tournament tournament2 = BowlingFactory.eINSTANCE.createTournament();
+ fan.getVisitedTournaments().add(tournament2);
+ final UniqueSetting newSettingLeaf2 = UniqueSetting.createSetting(tournament2,
+ BowlingPackage.eINSTANCE.getTournament_PriceMoney());
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(3, settingsToRules.size());
+ final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
+ .entrySet().iterator();
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
+ assertEquals(newSettingList, entry1.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
+ assertEquals(1, conditionToRules1.keys().size());
+ assertEquals(1, conditionToRules1.values().size());
+ final Condition condition1 = conditionToRules1.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition1);
+ assertEquals(rule, conditionToRules1.getValue(condition1));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
+ assertEquals(newSettingLeaf1, entry2.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
+ assertEquals(1, conditionToRules2.keys().size());
+ assertEquals(1, conditionToRules2.values().size());
+ final Condition condition2 = conditionToRules2.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition2);
+ assertEquals(rule, conditionToRules2.getValue(condition2));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
+ assertEquals(newSettingLeaf2, entry3.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
+ assertEquals(1, conditionToRules3.keys().size());
+ assertEquals(1, conditionToRules3.values().size());
+ final Condition condition3 = conditionToRules3.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition3);
+ assertEquals(rule, conditionToRules3.getValue(condition3));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(1, rulesToRenderables.keys().size());
+ assertEquals(1, rulesToRenderables.values().size());
+ final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
+ assertEquals(rule, ruleKey);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(1, conditionsToSettings.size());
+ final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
+ assertEquals(rule.getCondition(), entry.getKey());
+ assertEquals(3, entry.getValue().size());
+ final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
+ assertEquals(newSettingList, iterator.next());
+ assertEquals(newSettingLeaf1, iterator.next());
+ assertEquals(newSettingLeaf2, iterator.next());
+ }
+ }
+
+ @Test
+ public void testDynamicOneSingleRefRuleRemoveRule() {
+ // setup
+ addFavMerchandiseRule(control1);
+ initialize();
+
+ // act
+ control1.getAttachments().clear();
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(0, settingsToRules.size());
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(0, rulesToRenderables.keys().size());
+ assertEquals(0, rulesToRenderables.values().size());
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(0, conditionsToSettings.size());
+ }
+ }
+
+ @Test
+ public void testDynamicTwoSimilarSingleRefRuleRemoveOneRule() {
+ // setup
+ final ShowRule rule1 = addFavMerchandiseRule(control1);
+ addFavMerchandiseRule(control2);
+ initialize();
+
+ // act
+ control2.getAttachments().clear();
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(1, settingsToRules.size());
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry = settingsToRules.entrySet()
+ .iterator().next();
+ assertEquals(favMerchandiseSetting, entry.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules = entry.getValue();
+ assertEquals(1, conditionToRules.keys().size());
+ assertEquals(1, conditionToRules.values().size());
+ final Iterator<Condition> iterator = conditionToRules.keys().iterator();
+ final Condition condition1 = iterator.next();
+ assertEquals(rule1.getCondition(), condition1);
+ assertEquals(rule1, conditionToRules.getValue(condition1));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(1, rulesToRenderables.keys().size());
+ assertEquals(1, rulesToRenderables.values().size());
+ final Iterator<ShowRule> iterator = rulesToRenderables.keys().iterator();
+ final ShowRule ruleKey1 = iterator.next();
+ assertEquals(rule1, ruleKey1);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey1));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(1, conditionsToSettings.size());
+ final Iterator<Entry<Condition, Set<UniqueSetting>>> iterator = conditionsToSettings.entrySet().iterator();
+ final Entry<Condition, Set<UniqueSetting>> entry1 = iterator.next();
+ assertEquals(rule1.getCondition(), entry1.getKey());
+ assertEquals(1, entry1.getValue().size());
+ assertEquals(favMerchandiseSetting, entry1.getValue().iterator().next());
+ }
+ }
+
+ @Test
+ public void testDynmicOneMultiRefRuleRemoveRule() {
+ // setup
+ addFanMerchandiseRule(control1);
+ initialize();
+
+ // act
+ control1.getAttachments().clear();
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(0, settingsToRules.size());
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(0, rulesToRenderables.keys().size());
+ assertEquals(0, rulesToRenderables.values().size());
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(0, conditionsToSettings.size());
+ }
+ }
+
+ @Test
+ public void testDynamicTwoSimilarMultiRefRuleRemoveOneRule() {
+ // setup
+ final ShowRule rule1 = addFanMerchandiseRule(control1);
+ addFanMerchandiseRule(control2);
+ initialize();
+
+ // act
+ control2.getAttachments().clear();
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(3, settingsToRules.size());
+ final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
+ .entrySet().iterator();
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
+ assertEquals(fanSetting, entry1.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
+ assertEquals(1, conditionToRules1.keys().size());
+ assertEquals(1, conditionToRules1.values().size());
+ final Iterator<Condition> conditionToRulesIterator1 = conditionToRules1.keys().iterator();
+ final Condition condition11 = conditionToRulesIterator1.next();
+ assertEquals(rule1.getCondition(), condition11);
+ assertEquals(rule1, conditionToRules1.getValue(condition11));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
+ assertEquals(merchandise1Setting, entry2.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
+ assertEquals(1, conditionToRules2.keys().size());
+ assertEquals(1, conditionToRules2.values().size());
+ final Iterator<Condition> conditionToRulesIterator2 = conditionToRules2.keys().iterator();
+ final Condition condition21 = conditionToRulesIterator2.next();
+ assertEquals(rule1.getCondition(), condition21);
+ assertEquals(rule1, conditionToRules2.getValue(condition21));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
+ assertEquals(merchandise2Setting, entry3.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
+ assertEquals(1, conditionToRules3.keys().size());
+ assertEquals(1, conditionToRules3.values().size());
+ final Iterator<Condition> conditionToRulesIterator3 = conditionToRules3.keys().iterator();
+ final Condition condition31 = conditionToRulesIterator3.next();
+ assertEquals(rule1.getCondition(), condition31);
+ assertEquals(rule1, conditionToRules3.getValue(condition31));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(1, rulesToRenderables.keys().size());
+ assertEquals(1, rulesToRenderables.values().size());
+ final Iterator<ShowRule> iterator = rulesToRenderables.keys().iterator();
+
+ final ShowRule ruleKey1 = iterator.next();
+ assertEquals(rule1, ruleKey1);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey1));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(1, conditionsToSettings.size());
+ final Iterator<Entry<Condition, Set<UniqueSetting>>> iterator = conditionsToSettings.entrySet().iterator();
+
+ final Entry<Condition, Set<UniqueSetting>> entry1 = iterator.next();
+ assertEquals(rule1.getCondition(), entry1.getKey());
+ assertEquals(3, entry1.getValue().size());
+ assertTrue(entry1.getValue().contains(fanSetting));
+ assertTrue(entry1.getValue().contains(merchandise1Setting));
+ assertTrue(entry1.getValue().contains(merchandise2Setting));
+ }
+ }
+
+ @Test
+ public void testDynmicOneSingleRefRuleChangeCondition() {
+ // setup
+ final ShowRule rule = addFavMerchandiseRule(control1);
+ initialize();
+
+ // act
+ final LeafCondition leafCondition = (LeafCondition) rule.getCondition();
+ final VFeaturePathDomainModelReference reference = (VFeaturePathDomainModelReference) leafCondition
+ .getDomainModelReference();
+ reference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_SerialNumber());
+ leafCondition.setExpectedValue(1234567890);
+ final UniqueSetting newSetting = UniqueSetting.createSetting(favMerchandise,
+ BowlingPackage.eINSTANCE.getMerchandise_SerialNumber());
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(1, settingsToRules.size());
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry = settingsToRules.entrySet()
+ .iterator()
+ .next();
+ assertEquals(newSetting, entry.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules = entry.getValue();
+ assertEquals(1, conditionToRules.keys().size());
+ assertEquals(1, conditionToRules.values().size());
+ final Condition condition = conditionToRules.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition);
+ assertEquals(rule, conditionToRules.getValue(condition));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(1, rulesToRenderables.keys().size());
+ assertEquals(1, rulesToRenderables.values().size());
+ final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
+ assertEquals(rule, ruleKey);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(1, conditionsToSettings.size());
+ final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
+ assertEquals(rule.getCondition(), entry.getKey());
+ assertEquals(1, entry.getValue().size());
+ assertEquals(newSetting, entry.getValue().iterator().next());
+ }
+ }
+
+ @Test
+ public void testDynamicTwoSimilarSingleRefRuleChangeOneCondition() {
+ // setup
+ final ShowRule rule1 = addFavMerchandiseRule(control1);
+ final ShowRule rule2 = addFavMerchandiseRule(control2);
+ initialize();
+
+ // act
+ final LeafCondition leafCondition = (LeafCondition) rule2.getCondition();
+ final VFeaturePathDomainModelReference reference = (VFeaturePathDomainModelReference) leafCondition
+ .getDomainModelReference();
+ reference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_SerialNumber());
+ leafCondition.setExpectedValue(1234567890);
+ final UniqueSetting newSetting = UniqueSetting.createSetting(favMerchandise,
+ BowlingPackage.eINSTANCE.getMerchandise_SerialNumber());
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(2, settingsToRules.size());
+
+ assertTrue(settingsToRules.containsKey(favMerchandiseSetting));
+ final BidirectionalMap<Condition, ShowRule> conditionToRules1 = settingsToRules.get(favMerchandiseSetting);
+ assertEquals(1, conditionToRules1.keys().size());
+ assertEquals(1, conditionToRules1.values().size());
+ final Iterator<Condition> iterator1 = conditionToRules1.keys().iterator();
+ final Condition condition1 = iterator1.next();
+ assertEquals(rule1.getCondition(), condition1);
+ assertEquals(rule1, conditionToRules1.getValue(condition1));
+
+ assertTrue(settingsToRules.containsKey(newSetting));
+ final BidirectionalMap<Condition, ShowRule> conditionToRules2 = settingsToRules.get(newSetting);
+ assertEquals(1, conditionToRules2.keys().size());
+ assertEquals(1, conditionToRules2.values().size());
+ final Iterator<Condition> iterator2 = conditionToRules2.keys().iterator();
+ final Condition condition2 = iterator2.next();
+ assertEquals(rule2.getCondition(), condition2);
+ assertEquals(rule2, conditionToRules2.getValue(condition2));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(2, rulesToRenderables.keys().size());
+ assertEquals(2, rulesToRenderables.values().size());
+ final Iterator<ShowRule> iterator = rulesToRenderables.keys().iterator();
+ final ShowRule ruleKey1 = iterator.next();
+ assertEquals(rule1, ruleKey1);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey1));
+ final ShowRule ruleKey2 = iterator.next();
+ assertEquals(rule2, ruleKey2);
+ assertEquals(control2, rulesToRenderables.getValue(ruleKey2));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(2, conditionsToSettings.size());
+ final Iterator<Entry<Condition, Set<UniqueSetting>>> iterator = conditionsToSettings.entrySet().iterator();
+ final Entry<Condition, Set<UniqueSetting>> entry1 = iterator.next();
+ assertEquals(rule1.getCondition(), entry1.getKey());
+ assertEquals(1, entry1.getValue().size());
+ assertEquals(favMerchandiseSetting, entry1.getValue().iterator().next());
+ final Entry<Condition, Set<UniqueSetting>> entry2 = iterator.next();
+ assertEquals(rule2.getCondition(), entry2.getKey());
+ assertEquals(1, entry2.getValue().size());
+ assertEquals(newSetting, entry2.getValue().iterator().next());
+ }
+ }
+
+ @Test
+ public void testDynamicOneMultiRefRuleChangeConditionToOtherMultiRef() {
+ // setup
+ final ShowRule rule = addFanMerchandiseRule(control1);
+ initialize();
+
+ // act
+ final Tournament tournament = BowlingFactory.eINSTANCE.createTournament();
+ fan.getVisitedTournaments().add(tournament);
+
+ final LeafCondition leafCondition = (LeafCondition) rule.getCondition();
+ final VFeaturePathDomainModelReference reference = (VFeaturePathDomainModelReference) leafCondition
+ .getDomainModelReference();
+ reference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_VisitedTournaments());
+ final VFeaturePathDomainModelReference valueDMR = (VFeaturePathDomainModelReference) leafCondition
+ .getValueDomainModelReference();
+ valueDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getTournament_PriceMoney());
+ leafCondition.setExpectedValue(99.99);
+
+ final UniqueSetting newSettingList = UniqueSetting.createSetting(fan,
+ BowlingPackage.eINSTANCE.getFan_VisitedTournaments());
+ final UniqueSetting newSettingLeaf = UniqueSetting.createSetting(tournament,
+ BowlingPackage.eINSTANCE.getTournament_PriceMoney());
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(2, settingsToRules.size());
+ final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
+ .entrySet().iterator();
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
+ assertEquals(newSettingList, entry1.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
+ assertEquals(1, conditionToRules1.keys().size());
+ assertEquals(1, conditionToRules1.values().size());
+ final Condition condition1 = conditionToRules1.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition1);
+ assertEquals(rule, conditionToRules1.getValue(condition1));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
+ assertEquals(newSettingLeaf, entry2.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
+ assertEquals(1, conditionToRules2.keys().size());
+ assertEquals(1, conditionToRules2.values().size());
+ final Condition condition2 = conditionToRules2.keys().iterator().next();
+ assertEquals(rule.getCondition(), condition2);
+ assertEquals(rule, conditionToRules2.getValue(condition2));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(1, rulesToRenderables.keys().size());
+ assertEquals(1, rulesToRenderables.values().size());
+ final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
+ assertEquals(rule, ruleKey);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(1, conditionsToSettings.size());
+ final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
+ assertEquals(rule.getCondition(), entry.getKey());
+ assertEquals(2, entry.getValue().size());
+ final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
+ assertEquals(newSettingList, iterator.next());
+ assertEquals(newSettingLeaf, iterator.next());
+ }
+ }
+
+ @Test
+ public void testDynamicTwoSimilarMultiRefRuleChangeOneConditionNoNonMulti() {
+ // setup
+ final ShowRule rule1 = addFanMerchandiseRule(control1);
+ final ShowRule rule2 = addFanMerchandiseRule(control2);
+ initialize();
+
+ // act
+ final LeafCondition leafCondition = (LeafCondition) rule2.getCondition();
+ final VFeaturePathDomainModelReference reference = (VFeaturePathDomainModelReference) leafCondition
+ .getDomainModelReference();
+ reference.getDomainModelEReferencePath().clear();
+ reference.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
+ reference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_SerialNumber());
+ leafCondition.setExpectedValue(1234567890);
+ final UniqueSetting newSetting = UniqueSetting.createSetting(favMerchandise,
+ BowlingPackage.eINSTANCE.getMerchandise_SerialNumber());
+
+ // assert settingsToRules
+ {
+ final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
+ assertEquals(4, settingsToRules.size());
+ final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
+ .entrySet().iterator();
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
+ assertEquals(fanSetting, entry1.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
+ assertEquals(1, conditionToRules1.keys().size());
+ assertEquals(1, conditionToRules1.values().size());
+ final Iterator<Condition> conditionToRulesIterator1 = conditionToRules1.keys().iterator();
+ final Condition condition11 = conditionToRulesIterator1.next();
+ assertEquals(rule1.getCondition(), condition11);
+ assertEquals(rule1, conditionToRules1.getValue(condition11));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
+ assertEquals(merchandise1Setting, entry2.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
+ assertEquals(1, conditionToRules2.keys().size());
+ assertEquals(1, conditionToRules2.values().size());
+ final Iterator<Condition> conditionToRulesIterator2 = conditionToRules2.keys().iterator();
+ final Condition condition21 = conditionToRulesIterator2.next();
+ assertEquals(rule1.getCondition(), condition21);
+ assertEquals(rule1, conditionToRules2.getValue(condition21));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
+ assertEquals(merchandise2Setting, entry3.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
+ assertEquals(1, conditionToRules3.keys().size());
+ assertEquals(1, conditionToRules3.values().size());
+ final Iterator<Condition> conditionToRulesIterator3 = conditionToRules3.keys().iterator();
+ final Condition condition31 = conditionToRulesIterator3.next();
+ assertEquals(rule1.getCondition(), condition31);
+ assertEquals(rule1, conditionToRules3.getValue(condition31));
+
+ final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry4 = iterator.next();
+ assertEquals(newSetting, entry4.getKey());
+ final BidirectionalMap<Condition, ShowRule> conditionToRules4 = entry4.getValue();
+ assertEquals(1, conditionToRules4.keys().size());
+ assertEquals(1, conditionToRules4.values().size());
+ final Iterator<Condition> conditionToRulesIterator4 = conditionToRules4.keys().iterator();
+ final Condition condition41 = conditionToRulesIterator4.next();
+ assertEquals(rule2.getCondition(), condition41);
+ assertEquals(rule2, conditionToRules4.getValue(condition41));
+ }
+
+ // assert rulesToRenderables
+ {
+ final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
+ assertEquals(2, rulesToRenderables.keys().size());
+ assertEquals(2, rulesToRenderables.values().size());
+ final Iterator<ShowRule> iterator = rulesToRenderables.keys().iterator();
+
+ final ShowRule ruleKey1 = iterator.next();
+ assertEquals(rule1, ruleKey1);
+ assertEquals(control1, rulesToRenderables.getValue(ruleKey1));
+
+ final ShowRule ruleKey2 = iterator.next();
+ assertEquals(rule2, ruleKey2);
+ assertEquals(control2, rulesToRenderables.getValue(ruleKey2));
+ }
+
+ // assert conditionToSettings
+ {
+ final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
+ assertEquals(2, conditionsToSettings.size());
+ final Iterator<Entry<Condition, Set<UniqueSetting>>> iterator = conditionsToSettings.entrySet().iterator();
+
+ final Entry<Condition, Set<UniqueSetting>> entry1 = iterator.next();
+ assertEquals(rule1.getCondition(), entry1.getKey());
+ assertEquals(3, entry1.getValue().size());
+ assertTrue(entry1.getValue().contains(fanSetting));
+ assertTrue(entry1.getValue().contains(merchandise1Setting));
+ assertTrue(entry1.getValue().contains(merchandise2Setting));
+
+ final Entry<Condition, Set<UniqueSetting>> entry2 = iterator.next();
+ assertEquals(rule2.getCondition(), entry2.getKey());
+ assertEquals(1, entry2.getValue().size());
+ assertTrue(entry2.getValue().contains(newSetting));
+ }
+ }
+
+}// END COMPLEX CODE
diff --git a/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleRegistry_Test.java b/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleRegistry_Test.java
deleted file mode 100644
index 30bdfbe..0000000
--- a/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleRegistry_Test.java
+++ /dev/null
@@ -1,1542 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * jfaltermeier - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.rule.test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.lang.reflect.Field;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import org.eclipse.emf.ecp.common.spi.BidirectionalMap;
-import org.eclipse.emf.ecp.common.spi.UniqueSetting;
-import org.eclipse.emf.ecp.view.internal.rule.RuleRegistry;
-import org.eclipse.emf.ecp.view.internal.rule.RuleService;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
-import org.eclipse.emf.ecp.view.spi.model.VControl;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
-import org.eclipse.emf.ecp.view.spi.rule.model.Condition;
-import org.eclipse.emf.ecp.view.spi.rule.model.LeafCondition;
-import org.eclipse.emf.ecp.view.spi.rule.model.OrCondition;
-import org.eclipse.emf.ecp.view.spi.rule.model.RuleFactory;
-import org.eclipse.emf.ecp.view.spi.rule.model.ShowRule;
-import org.eclipse.emf.emfstore.bowling.BowlingFactory;
-import org.eclipse.emf.emfstore.bowling.BowlingPackage;
-import org.eclipse.emf.emfstore.bowling.Fan;
-import org.eclipse.emf.emfstore.bowling.Merchandise;
-import org.eclipse.emf.emfstore.bowling.Tournament;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Tests that assert that the {@link RuleRegistry}'s maps are updated correctly, especially on deletes.
- *
- * @author jfaltermeier
- *
- */
-public class RuleRegistry_Test {
- // assertions are pretty complex
- // BEGIN COMPLEX CODE
- private static final String CONDITION_TO_SETTINGS_FIELD_NAME = "conditionToSettings";
- private static final String RULES_TO_RENDERABLES_FIELD_NAME = "rulesToRenderables";
- private static final String SETTING_TO_RULES_FIELD_NAME = "settingToRules";
- private static final String REFLECTION_FAIL_FIX_TEST_SETUP = "Reflection fail. Fix test setup!";
- private static final String SHOW_RULE_REGISTRY_FIELD_NAME = "showRuleRegistry";
- private static final String FM_RIGHT = "Bowling Ball";
- private static final String M2_RIGHT = "Shirt";
- private static final String M1_RIGHT = "Scarf";
-
- private RuleService ruleService;
-
- private Fan fan;
- private Merchandise merchandise1;
- private Merchandise merchandise2;
- private Merchandise favMerchandise;
-
- private UniqueSetting favMerchandiseSetting;
- private UniqueSetting merchandise1Setting;
- private UniqueSetting merchandise2Setting;
- private UniqueSetting fanSetting;
-
- private VView view;
- private VControl control1;
- private VControl control2;
-
- @Before
- public void setUp() {
- ruleService = new RuleService();
- createView();
- createDomainObject();
- }
-
- private void createDomainObject() {
- fan = BowlingFactory.eINSTANCE.createFan();
-
- merchandise1 = BowlingFactory.eINSTANCE.createMerchandise();
- merchandise1.setName(M1_RIGHT);
- merchandise1Setting = UniqueSetting.createSetting(merchandise1, BowlingPackage.eINSTANCE.getMerchandise_Name());
-
- merchandise2 = BowlingFactory.eINSTANCE.createMerchandise();
- merchandise2.setName(M2_RIGHT);
- merchandise2Setting = UniqueSetting.createSetting(merchandise2, BowlingPackage.eINSTANCE.getMerchandise_Name());
-
- favMerchandise = BowlingFactory.eINSTANCE.createMerchandise();
- favMerchandise.setName(FM_RIGHT);
- favMerchandiseSetting = UniqueSetting.createSetting(favMerchandise,
- BowlingPackage.eINSTANCE.getMerchandise_Name());
-
- fan.setFavouriteMerchandise(favMerchandise);
- fan.getFanMerchandise().add(merchandise1);
- fan.getFanMerchandise().add(merchandise2);
- fanSetting = UniqueSetting.createSetting(fan, BowlingPackage.eINSTANCE.getFan_FanMerchandise());
- }
-
- private void createView() {
- view = VViewFactory.eINSTANCE.createView();
-
- control1 = VViewFactory.eINSTANCE.createControl();
- control1.setDomainModelReference(BowlingPackage.eINSTANCE.getFan_DateOfBirth());
-
- control2 = VViewFactory.eINSTANCE.createControl();
- control2.setDomainModelReference(BowlingPackage.eINSTANCE.getFan_EMails());
-
- view.getChildren().add(control1);
- view.getChildren().add(control2);
- }
-
- private void initialize() {
- ViewModelContextFactory.INSTANCE.createViewModelContext(view, fan, ruleService);
- }
-
- private static ShowRule addFavMerchandiseRule(VElement element) {
- final ShowRule rule = RuleFactory.eINSTANCE.createShowRule();
-
- final LeafCondition condition = RuleFactory.eINSTANCE.createLeafCondition();
-
- final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmr.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
- dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
-
- condition.setExpectedValue(FM_RIGHT);
- condition.setDomainModelReference(dmr);
- rule.setCondition(condition);
-
- element.getAttachments().add(rule);
-
- return rule;
- }
-
- private static ShowRule addFanMerchandiseRule(VElement element) {
- final ShowRule rule = RuleFactory.eINSTANCE.createShowRule();
-
- final LeafCondition condition = RuleFactory.eINSTANCE.createLeafCondition();
-
- final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_FanMerchandise());
-
- final VFeaturePathDomainModelReference valueDMR = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- valueDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
-
- condition.setExpectedValue(M1_RIGHT);
- condition.setDomainModelReference(dmr);
- condition.setValueDomainModelReference(valueDMR);
- rule.setCondition(condition);
-
- element.getAttachments().add(rule);
-
- return rule;
- }
-
- private static ShowRule addFanMerchandiseOrRule(VElement element) {
- final ShowRule rule = RuleFactory.eINSTANCE.createShowRule();
-
- final OrCondition condition = RuleFactory.eINSTANCE.createOrCondition();
-
- final LeafCondition condition1 = RuleFactory.eINSTANCE.createLeafCondition();
- final VFeaturePathDomainModelReference dmr1 = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmr1.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_FanMerchandise());
- final VFeaturePathDomainModelReference valueDMR1 = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- valueDMR1.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
- condition1.setExpectedValue(M1_RIGHT);
- condition1.setDomainModelReference(dmr1);
- condition1.setValueDomainModelReference(valueDMR1);
-
- final LeafCondition condition2 = RuleFactory.eINSTANCE.createLeafCondition();
- final VFeaturePathDomainModelReference dmr2 = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmr2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_FanMerchandise());
- final VFeaturePathDomainModelReference valueDMR2 = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- valueDMR2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
- condition2.setExpectedValue(M2_RIGHT);
- condition2.setDomainModelReference(dmr2);
- condition2.setValueDomainModelReference(valueDMR2);
-
- condition.getConditions().add(condition1);
- condition.getConditions().add(condition2);
-
- rule.setCondition(condition);
-
- element.getAttachments().add(rule);
-
- return rule;
- }
-
- private Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> getSettingsToRules() {
- try {
- final RuleRegistry<ShowRule> ruleRegistry = getRuleRegistry();
-
- final Field field = ruleRegistry.getClass().getDeclaredField(SETTING_TO_RULES_FIELD_NAME);
- field.setAccessible(true);
- @SuppressWarnings("unchecked")
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> result = (Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>>) field
- .get(ruleRegistry);
- return result;
- } catch (final SecurityException ex) {
- } catch (final NoSuchFieldException ex) {
- } catch (final IllegalArgumentException ex) {
- } catch (final IllegalAccessException ex) {
- }
- fail(REFLECTION_FAIL_FIX_TEST_SETUP);
- return null;
- }
-
- private BidirectionalMap<ShowRule, VElement> getRulesToRenderables() {
- try {
- final RuleRegistry<ShowRule> ruleRegistry = getRuleRegistry();
-
- final Field field = ruleRegistry.getClass().getDeclaredField(RULES_TO_RENDERABLES_FIELD_NAME);
- field.setAccessible(true);
- @SuppressWarnings("unchecked")
- final BidirectionalMap<ShowRule, VElement> result = (BidirectionalMap<ShowRule, VElement>) field
- .get(ruleRegistry);
- return result;
- } catch (final SecurityException ex) {
- } catch (final NoSuchFieldException ex) {
- } catch (final IllegalArgumentException ex) {
- } catch (final IllegalAccessException ex) {
- }
- fail(REFLECTION_FAIL_FIX_TEST_SETUP);
- return null;
- }
-
- private Map<Condition, Set<UniqueSetting>> getConditionsToSettings() {
- try {
- final RuleRegistry<ShowRule> ruleRegistry = getRuleRegistry();
-
- final Field field = ruleRegistry.getClass().getDeclaredField(CONDITION_TO_SETTINGS_FIELD_NAME);
- field.setAccessible(true);
- @SuppressWarnings("unchecked")
- final Map<Condition, Set<UniqueSetting>> result = (Map<Condition, Set<UniqueSetting>>) field
- .get(ruleRegistry);
- return result;
- } catch (final SecurityException ex) {
- } catch (final NoSuchFieldException ex) {
- } catch (final IllegalArgumentException ex) {
- } catch (final IllegalAccessException ex) {
- }
- fail(REFLECTION_FAIL_FIX_TEST_SETUP);
- return null;
- }
-
- private RuleRegistry<ShowRule> getRuleRegistry() {
- try {
- final Field field = ruleService.getClass().getDeclaredField(SHOW_RULE_REGISTRY_FIELD_NAME);
- field.setAccessible(true);
- @SuppressWarnings("unchecked")
- final RuleRegistry<ShowRule> result = (RuleRegistry<ShowRule>) field.get(ruleService);
- return result;
- } catch (final SecurityException ex) {
- } catch (final NoSuchFieldException ex) {
- } catch (final IllegalArgumentException ex) {
- } catch (final IllegalAccessException ex) {
- }
- fail(REFLECTION_FAIL_FIX_TEST_SETUP);
- return null;
- }
-
- @Test
- public void testInitOneSingleRefRule() {
- // setup
- final ShowRule rule = addFavMerchandiseRule(control1);
-
- // act
- initialize();
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(1, settingsToRules.size());
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry = settingsToRules.entrySet()
- .iterator()
- .next();
- assertEquals(favMerchandiseSetting, entry.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules = entry.getValue();
- assertEquals(1, conditionToRules.keys().size());
- assertEquals(1, conditionToRules.values().size());
- final Condition condition = conditionToRules.keys().iterator().next();
- assertEquals(rule.getCondition(), condition);
- assertEquals(rule, conditionToRules.getValue(condition));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(1, rulesToRenderables.keys().size());
- assertEquals(1, rulesToRenderables.values().size());
- final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
- assertEquals(rule, ruleKey);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(1, conditionsToSettings.size());
- final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
- assertEquals(rule.getCondition(), entry.getKey());
- assertEquals(1, entry.getValue().size());
- assertEquals(favMerchandiseSetting, entry.getValue().iterator().next());
- }
- }
-
- @Test
- public void testInitTwoSimilarSingleRefRule() {
- // setup
- final ShowRule rule1 = addFavMerchandiseRule(control1);
- final ShowRule rule2 = addFavMerchandiseRule(control2);
-
- // act
- initialize();
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(1, settingsToRules.size());
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry = settingsToRules.entrySet()
- .iterator().next();
- assertEquals(favMerchandiseSetting, entry.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules = entry.getValue();
- assertEquals(2, conditionToRules.keys().size());
- assertEquals(2, conditionToRules.values().size());
- final Iterator<Condition> iterator = conditionToRules.keys().iterator();
- final Condition condition1 = iterator.next();
- assertEquals(rule1.getCondition(), condition1);
- assertEquals(rule1, conditionToRules.getValue(condition1));
- final Condition condition2 = iterator.next();
- assertEquals(rule2.getCondition(), condition2);
- assertEquals(rule2, conditionToRules.getValue(condition2));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(2, rulesToRenderables.keys().size());
- assertEquals(2, rulesToRenderables.values().size());
- final Iterator<ShowRule> iterator = rulesToRenderables.keys().iterator();
- final ShowRule ruleKey1 = iterator.next();
- assertEquals(rule1, ruleKey1);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey1));
- final ShowRule ruleKey2 = iterator.next();
- assertEquals(rule2, ruleKey2);
- assertEquals(control2, rulesToRenderables.getValue(ruleKey2));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(2, conditionsToSettings.size());
- final Iterator<Entry<Condition, Set<UniqueSetting>>> iterator = conditionsToSettings.entrySet().iterator();
- final Entry<Condition, Set<UniqueSetting>> entry1 = iterator.next();
- assertEquals(rule1.getCondition(), entry1.getKey());
- assertEquals(1, entry1.getValue().size());
- assertEquals(favMerchandiseSetting, entry1.getValue().iterator().next());
- final Entry<Condition, Set<UniqueSetting>> entry2 = iterator.next();
- assertEquals(rule2.getCondition(), entry2.getKey());
- assertEquals(1, entry2.getValue().size());
- assertEquals(favMerchandiseSetting, entry2.getValue().iterator().next());
- }
- }
-
- @Test
- public void testInitOneMultiRefRule() {
- // setup
- final ShowRule rule = addFanMerchandiseRule(control1);
-
- // act
- initialize();
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(3, settingsToRules.size());
- final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
- .entrySet().iterator();
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
- assertEquals(fanSetting, entry1.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
- assertEquals(1, conditionToRules1.keys().size());
- assertEquals(1, conditionToRules1.values().size());
- final Condition condition1 = conditionToRules1.keys().iterator().next();
- assertEquals(rule.getCondition(), condition1);
- assertEquals(rule, conditionToRules1.getValue(condition1));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
- assertEquals(merchandise1Setting, entry2.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
- assertEquals(1, conditionToRules2.keys().size());
- assertEquals(1, conditionToRules2.values().size());
- final Condition condition2 = conditionToRules2.keys().iterator().next();
- assertEquals(rule.getCondition(), condition2);
- assertEquals(rule, conditionToRules2.getValue(condition2));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
- assertEquals(merchandise2Setting, entry3.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
- assertEquals(1, conditionToRules3.keys().size());
- assertEquals(1, conditionToRules3.values().size());
- final Condition condition3 = conditionToRules3.keys().iterator().next();
- assertEquals(rule.getCondition(), condition3);
- assertEquals(rule, conditionToRules3.getValue(condition3));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(1, rulesToRenderables.keys().size());
- assertEquals(1, rulesToRenderables.values().size());
- final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
- assertEquals(rule, ruleKey);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(1, conditionsToSettings.size());
- final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
- assertEquals(rule.getCondition(), entry.getKey());
- assertEquals(3, entry.getValue().size());
- final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
- assertEquals(fanSetting, iterator.next());
- assertEquals(merchandise1Setting, iterator.next());
- assertEquals(merchandise2Setting, iterator.next());
- }
- }
-
- @Test
- public void testInitTwoSimilarMultiRefRule() {
- // setup
- final ShowRule rule1 = addFanMerchandiseRule(control1);
- final ShowRule rule2 = addFanMerchandiseRule(control2);
-
- // act
- initialize();
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(3, settingsToRules.size());
- final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
- .entrySet().iterator();
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
- assertEquals(fanSetting, entry1.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
- assertEquals(2, conditionToRules1.keys().size());
- assertEquals(2, conditionToRules1.values().size());
- final Iterator<Condition> conditionToRulesIterator1 = conditionToRules1.keys().iterator();
- final Condition condition11 = conditionToRulesIterator1.next();
- assertEquals(rule1.getCondition(), condition11);
- assertEquals(rule1, conditionToRules1.getValue(condition11));
- final Condition condition12 = conditionToRulesIterator1.next();
- assertEquals(rule2.getCondition(), condition12);
- assertEquals(rule2, conditionToRules1.getValue(condition12));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
- assertEquals(merchandise1Setting, entry2.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
- assertEquals(2, conditionToRules2.keys().size());
- assertEquals(2, conditionToRules2.values().size());
- final Iterator<Condition> conditionToRulesIterator2 = conditionToRules2.keys().iterator();
- final Condition condition21 = conditionToRulesIterator2.next();
- assertEquals(rule1.getCondition(), condition21);
- assertEquals(rule1, conditionToRules2.getValue(condition21));
- final Condition condition22 = conditionToRulesIterator2.next();
- assertEquals(rule2.getCondition(), condition22);
- assertEquals(rule2, conditionToRules2.getValue(condition22));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
- assertEquals(merchandise2Setting, entry3.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
- assertEquals(2, conditionToRules3.keys().size());
- assertEquals(2, conditionToRules3.values().size());
- final Iterator<Condition> conditionToRulesIterator3 = conditionToRules3.keys().iterator();
- final Condition condition31 = conditionToRulesIterator3.next();
- assertEquals(rule1.getCondition(), condition31);
- assertEquals(rule1, conditionToRules3.getValue(condition31));
- final Condition condition32 = conditionToRulesIterator3.next();
- assertEquals(rule2.getCondition(), condition32);
- assertEquals(rule2, conditionToRules3.getValue(condition32));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(2, rulesToRenderables.keys().size());
- assertEquals(2, rulesToRenderables.values().size());
- final Iterator<ShowRule> iterator = rulesToRenderables.keys().iterator();
-
- final ShowRule ruleKey1 = iterator.next();
- assertEquals(rule1, ruleKey1);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey1));
-
- final ShowRule ruleKey2 = iterator.next();
- assertEquals(rule2, ruleKey2);
- assertEquals(control2, rulesToRenderables.getValue(ruleKey2));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(2, conditionsToSettings.size());
- final Iterator<Entry<Condition, Set<UniqueSetting>>> iterator = conditionsToSettings.entrySet().iterator();
-
- final Entry<Condition, Set<UniqueSetting>> entry1 = iterator.next();
- assertEquals(rule1.getCondition(), entry1.getKey());
- assertEquals(3, entry1.getValue().size());
- assertTrue(entry1.getValue().contains(fanSetting));
- assertTrue(entry1.getValue().contains(merchandise1Setting));
- assertTrue(entry1.getValue().contains(merchandise2Setting));
-
- final Entry<Condition, Set<UniqueSetting>> entry2 = iterator.next();
- assertEquals(rule2.getCondition(), entry2.getKey());
- assertEquals(3, entry2.getValue().size());
- assertTrue(entry2.getValue().contains(fanSetting));
- assertTrue(entry2.getValue().contains(merchandise1Setting));
- assertTrue(entry2.getValue().contains(merchandise2Setting));
- }
- }
-
- @Test
- public void testInitOrMultiRefRule() {
- // setup
- final ShowRule rule = addFanMerchandiseOrRule(control1);
- final OrCondition orCondition = (OrCondition) rule.getCondition();
- final Condition condition1 = orCondition.getConditions().get(0);
- final Condition condition2 = orCondition.getConditions().get(1);
-
- // act
- initialize();
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(3, settingsToRules.size());
- final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
- .entrySet().iterator();
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
- assertEquals(fanSetting, entry1.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
- assertEquals(2, conditionToRules1.keys().size());
- assertEquals(1, conditionToRules1.values().size());
- assertTrue(conditionToRules1.keys().contains(condition1));
- assertEquals(rule, conditionToRules1.getValue(condition1));
- assertTrue(conditionToRules1.keys().contains(condition2));
- assertEquals(rule, conditionToRules1.getValue(condition2));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
- assertEquals(merchandise1Setting, entry2.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
- assertEquals(2, conditionToRules2.keys().size());
- assertEquals(1, conditionToRules2.values().size());
- assertTrue(conditionToRules2.keys().contains(condition1));
- assertEquals(rule, conditionToRules2.getValue(condition1));
- assertTrue(conditionToRules2.keys().contains(condition2));
- assertEquals(rule, conditionToRules2.getValue(condition2));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
- assertEquals(merchandise2Setting, entry3.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
- assertEquals(2, conditionToRules3.keys().size());
- assertEquals(1, conditionToRules3.values().size());
- assertTrue(conditionToRules3.keys().contains(condition1));
- assertEquals(rule, conditionToRules3.getValue(condition1));
- assertTrue(conditionToRules3.keys().contains(condition2));
- assertEquals(rule, conditionToRules3.getValue(condition2));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(1, rulesToRenderables.keys().size());
- assertEquals(1, rulesToRenderables.values().size());
- final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
- assertEquals(rule, ruleKey);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(2, conditionsToSettings.size());
- final Iterator<Entry<Condition, Set<UniqueSetting>>> iterator = conditionsToSettings.entrySet().iterator();
-
- final Entry<Condition, Set<UniqueSetting>> entry1 = iterator.next();
- assertEquals(condition1, entry1.getKey());
- assertEquals(3, entry1.getValue().size());
- assertTrue(entry1.getValue().contains(fanSetting));
- assertTrue(entry1.getValue().contains(merchandise1Setting));
- assertTrue(entry1.getValue().contains(merchandise2Setting));
-
- final Entry<Condition, Set<UniqueSetting>> entry2 = iterator.next();
- assertEquals(condition2, entry2.getKey());
- assertEquals(3, entry2.getValue().size());
- assertTrue(entry2.getValue().contains(fanSetting));
- assertTrue(entry2.getValue().contains(merchandise1Setting));
- assertTrue(entry2.getValue().contains(merchandise2Setting));
- }
- }
-
- @Test
- public void testInitOneMultiRefRuleEmptyList() {
- // setup
- fan.getFanMerchandise().clear();
- final ShowRule rule = addFanMerchandiseRule(control1);
-
- // act
- initialize();
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(1, settingsToRules.size());
- final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
- .entrySet().iterator();
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
- assertEquals(fanSetting, entry1.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
- assertEquals(1, conditionToRules1.keys().size());
- assertEquals(1, conditionToRules1.values().size());
- final Condition condition1 = conditionToRules1.keys().iterator().next();
- assertEquals(rule.getCondition(), condition1);
- assertEquals(rule, conditionToRules1.getValue(condition1));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(1, rulesToRenderables.keys().size());
- assertEquals(1, rulesToRenderables.values().size());
- final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
- assertEquals(rule, ruleKey);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(1, conditionsToSettings.size());
- final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
- assertEquals(rule.getCondition(), entry.getKey());
- assertEquals(1, entry.getValue().size());
- final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
- assertEquals(fanSetting, iterator.next());
- }
- }
-
- @Test
- public void testDynmicOneSingleRefRuleChangeDomain() {
- // setup
- final ShowRule rule = addFavMerchandiseRule(control1);
- initialize();
-
- // act
- final Merchandise newMerchandise = BowlingFactory.eINSTANCE.createMerchandise();
- fan.setFavouriteMerchandise(newMerchandise);
- final UniqueSetting newSetting = UniqueSetting.createSetting(newMerchandise,
- BowlingPackage.eINSTANCE.getMerchandise_Name());
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(1, settingsToRules.size());
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry = settingsToRules.entrySet()
- .iterator()
- .next();
- assertEquals(newSetting, entry.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules = entry.getValue();
- assertEquals(1, conditionToRules.keys().size());
- assertEquals(1, conditionToRules.values().size());
- final Condition condition = conditionToRules.keys().iterator().next();
- assertEquals(rule.getCondition(), condition);
- assertEquals(rule, conditionToRules.getValue(condition));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(1, rulesToRenderables.keys().size());
- assertEquals(1, rulesToRenderables.values().size());
- final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
- assertEquals(rule, ruleKey);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(1, conditionsToSettings.size());
- final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
- assertEquals(rule.getCondition(), entry.getKey());
- assertEquals(1, entry.getValue().size());
- assertEquals(newSetting, entry.getValue().iterator().next());
- }
- }
-
- @Test
- public void testDynamicOneMultiRefRuleChangeDomainAdd() {
- // setup
- final ShowRule rule = addFanMerchandiseRule(control1);
- initialize();
-
- // act
- final Merchandise newMerchandise = BowlingFactory.eINSTANCE.createMerchandise();
- fan.getFanMerchandise().add(newMerchandise);
- final UniqueSetting newSetting = UniqueSetting.createSetting(newMerchandise,
- BowlingPackage.eINSTANCE.getMerchandise_Name());
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(4, settingsToRules.size());
- final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
- .entrySet().iterator();
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
- assertEquals(fanSetting, entry1.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
- assertEquals(1, conditionToRules1.keys().size());
- assertEquals(1, conditionToRules1.values().size());
- final Condition condition1 = conditionToRules1.keys().iterator().next();
- assertEquals(rule.getCondition(), condition1);
- assertEquals(rule, conditionToRules1.getValue(condition1));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
- assertEquals(merchandise1Setting, entry2.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
- assertEquals(1, conditionToRules2.keys().size());
- assertEquals(1, conditionToRules2.values().size());
- final Condition condition2 = conditionToRules2.keys().iterator().next();
- assertEquals(rule.getCondition(), condition2);
- assertEquals(rule, conditionToRules2.getValue(condition2));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
- assertEquals(merchandise2Setting, entry3.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
- assertEquals(1, conditionToRules3.keys().size());
- assertEquals(1, conditionToRules3.values().size());
- final Condition condition3 = conditionToRules3.keys().iterator().next();
- assertEquals(rule.getCondition(), condition3);
- assertEquals(rule, conditionToRules3.getValue(condition3));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry4 = iterator.next();
- assertEquals(newSetting, entry4.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules4 = entry4.getValue();
- assertEquals(1, conditionToRules4.keys().size());
- assertEquals(1, conditionToRules4.values().size());
- final Condition condition4 = conditionToRules4.keys().iterator().next();
- assertEquals(rule.getCondition(), condition4);
- assertEquals(rule, conditionToRules4.getValue(condition4));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(1, rulesToRenderables.keys().size());
- assertEquals(1, rulesToRenderables.values().size());
- final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
- assertEquals(rule, ruleKey);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(1, conditionsToSettings.size());
- final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
- assertEquals(rule.getCondition(), entry.getKey());
- assertEquals(4, entry.getValue().size());
- final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
- assertEquals(fanSetting, iterator.next());
- assertEquals(merchandise1Setting, iterator.next());
- assertEquals(merchandise2Setting, iterator.next());
- assertEquals(newSetting, iterator.next());
- }
- }
-
- @Test
- public void testDynamicOneMultiRefRuleChangeDomainRemove() {
- // setup
- final ShowRule rule = addFanMerchandiseRule(control1);
- initialize();
-
- // act
- fan.getFanMerchandise().remove(1);
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(2, settingsToRules.size());
- final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
- .entrySet().iterator();
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
- assertEquals(fanSetting, entry1.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
- assertEquals(1, conditionToRules1.keys().size());
- assertEquals(1, conditionToRules1.values().size());
- final Condition condition1 = conditionToRules1.keys().iterator().next();
- assertEquals(rule.getCondition(), condition1);
- assertEquals(rule, conditionToRules1.getValue(condition1));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
- assertEquals(merchandise1Setting, entry2.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
- assertEquals(1, conditionToRules2.keys().size());
- assertEquals(1, conditionToRules2.values().size());
- final Condition condition2 = conditionToRules2.keys().iterator().next();
- assertEquals(rule.getCondition(), condition2);
- assertEquals(rule, conditionToRules2.getValue(condition2));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(1, rulesToRenderables.keys().size());
- assertEquals(1, rulesToRenderables.values().size());
- final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
- assertEquals(rule, ruleKey);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(1, conditionsToSettings.size());
- final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
- assertEquals(rule.getCondition(), entry.getKey());
- assertEquals(2, entry.getValue().size());
- final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
- assertEquals(fanSetting, iterator.next());
- assertEquals(merchandise1Setting, iterator.next());
- }
- }
-
- @Test
- public void testDynamicOneMultiRefRuleChangeDomainClear() {
- // setup
- final ShowRule rule = addFanMerchandiseRule(control1);
- initialize();
-
- // act
- fan.getFanMerchandise().clear();
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(1, settingsToRules.size());
- final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
- .entrySet().iterator();
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
- assertEquals(fanSetting, entry1.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
- assertEquals(1, conditionToRules1.keys().size());
- assertEquals(1, conditionToRules1.values().size());
- final Condition condition1 = conditionToRules1.keys().iterator().next();
- assertEquals(rule.getCondition(), condition1);
- assertEquals(rule, conditionToRules1.getValue(condition1));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(1, rulesToRenderables.keys().size());
- assertEquals(1, rulesToRenderables.values().size());
- final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
- assertEquals(rule, ruleKey);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(1, conditionsToSettings.size());
- final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
- assertEquals(rule.getCondition(), entry.getKey());
- assertEquals(1, entry.getValue().size());
- final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
- assertEquals(fanSetting, iterator.next());
- }
- }
-
- @Test
- public void testDynamicOneMultiRefRuleChangeDomainUnaffected() {
- // setup
- final ShowRule rule = addFanMerchandiseRule(control1);
- initialize();
-
- // act
- fan.getVisitedTournaments().add(BowlingFactory.eINSTANCE.createTournament());
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(3, settingsToRules.size());
- final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
- .entrySet().iterator();
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
- assertEquals(fanSetting, entry1.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
- assertEquals(1, conditionToRules1.keys().size());
- assertEquals(1, conditionToRules1.values().size());
- final Condition condition1 = conditionToRules1.keys().iterator().next();
- assertEquals(rule.getCondition(), condition1);
- assertEquals(rule, conditionToRules1.getValue(condition1));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
- assertEquals(merchandise1Setting, entry2.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
- assertEquals(1, conditionToRules2.keys().size());
- assertEquals(1, conditionToRules2.values().size());
- final Condition condition2 = conditionToRules2.keys().iterator().next();
- assertEquals(rule.getCondition(), condition2);
- assertEquals(rule, conditionToRules2.getValue(condition2));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
- assertEquals(merchandise2Setting, entry3.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
- assertEquals(1, conditionToRules3.keys().size());
- assertEquals(1, conditionToRules3.values().size());
- final Condition condition3 = conditionToRules3.keys().iterator().next();
- assertEquals(rule.getCondition(), condition3);
- assertEquals(rule, conditionToRules3.getValue(condition3));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(1, rulesToRenderables.keys().size());
- assertEquals(1, rulesToRenderables.values().size());
- final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
- assertEquals(rule, ruleKey);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(1, conditionsToSettings.size());
- final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
- assertEquals(rule.getCondition(), entry.getKey());
- assertEquals(3, entry.getValue().size());
- final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
- assertEquals(fanSetting, iterator.next());
- assertEquals(merchandise1Setting, iterator.next());
- assertEquals(merchandise2Setting, iterator.next());
- }
- }
-
- @Test
- public void testDynamicOneMultiRefRuleChangeDomainAddNonContainment() {
- // setup
- final ShowRule rule = RuleFactory.eINSTANCE.createShowRule();
- final LeafCondition condition = RuleFactory.eINSTANCE.createLeafCondition();
- final VFeaturePathDomainModelReference dmr = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- dmr.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_VisitedTournaments());
- final VFeaturePathDomainModelReference valueDMR = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- valueDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getTournament_PriceMoney());
- condition.setExpectedValue(99.99);
- condition.setDomainModelReference(dmr);
- condition.setValueDomainModelReference(valueDMR);
- rule.setCondition(condition);
- control1.getAttachments().add(rule);
-
- final Tournament tournament1 = BowlingFactory.eINSTANCE.createTournament();
- fan.getVisitedTournaments().add(tournament1);
-
- final UniqueSetting newSettingList = UniqueSetting.createSetting(fan,
- BowlingPackage.eINSTANCE.getFan_VisitedTournaments());
- final UniqueSetting newSettingLeaf1 = UniqueSetting.createSetting(tournament1,
- BowlingPackage.eINSTANCE.getTournament_PriceMoney());
-
- initialize();
-
- // act
- final Tournament tournament2 = BowlingFactory.eINSTANCE.createTournament();
- fan.getVisitedTournaments().add(tournament2);
- final UniqueSetting newSettingLeaf2 = UniqueSetting.createSetting(tournament2,
- BowlingPackage.eINSTANCE.getTournament_PriceMoney());
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(3, settingsToRules.size());
- final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
- .entrySet().iterator();
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
- assertEquals(newSettingList, entry1.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
- assertEquals(1, conditionToRules1.keys().size());
- assertEquals(1, conditionToRules1.values().size());
- final Condition condition1 = conditionToRules1.keys().iterator().next();
- assertEquals(rule.getCondition(), condition1);
- assertEquals(rule, conditionToRules1.getValue(condition1));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
- assertEquals(newSettingLeaf1, entry2.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
- assertEquals(1, conditionToRules2.keys().size());
- assertEquals(1, conditionToRules2.values().size());
- final Condition condition2 = conditionToRules2.keys().iterator().next();
- assertEquals(rule.getCondition(), condition2);
- assertEquals(rule, conditionToRules2.getValue(condition2));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
- assertEquals(newSettingLeaf2, entry3.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
- assertEquals(1, conditionToRules3.keys().size());
- assertEquals(1, conditionToRules3.values().size());
- final Condition condition3 = conditionToRules3.keys().iterator().next();
- assertEquals(rule.getCondition(), condition3);
- assertEquals(rule, conditionToRules3.getValue(condition3));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(1, rulesToRenderables.keys().size());
- assertEquals(1, rulesToRenderables.values().size());
- final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
- assertEquals(rule, ruleKey);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(1, conditionsToSettings.size());
- final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
- assertEquals(rule.getCondition(), entry.getKey());
- assertEquals(3, entry.getValue().size());
- final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
- assertEquals(newSettingList, iterator.next());
- assertEquals(newSettingLeaf1, iterator.next());
- assertEquals(newSettingLeaf2, iterator.next());
- }
- }
-
- @Test
- public void testDynamicOneSingleRefRuleRemoveRule() {
- // setup
- addFavMerchandiseRule(control1);
- initialize();
-
- // act
- control1.getAttachments().clear();
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(0, settingsToRules.size());
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(0, rulesToRenderables.keys().size());
- assertEquals(0, rulesToRenderables.values().size());
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(0, conditionsToSettings.size());
- }
- }
-
- @Test
- public void testDynamicTwoSimilarSingleRefRuleRemoveOneRule() {
- // setup
- final ShowRule rule1 = addFavMerchandiseRule(control1);
- addFavMerchandiseRule(control2);
- initialize();
-
- // act
- control2.getAttachments().clear();
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(1, settingsToRules.size());
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry = settingsToRules.entrySet()
- .iterator().next();
- assertEquals(favMerchandiseSetting, entry.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules = entry.getValue();
- assertEquals(1, conditionToRules.keys().size());
- assertEquals(1, conditionToRules.values().size());
- final Iterator<Condition> iterator = conditionToRules.keys().iterator();
- final Condition condition1 = iterator.next();
- assertEquals(rule1.getCondition(), condition1);
- assertEquals(rule1, conditionToRules.getValue(condition1));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(1, rulesToRenderables.keys().size());
- assertEquals(1, rulesToRenderables.values().size());
- final Iterator<ShowRule> iterator = rulesToRenderables.keys().iterator();
- final ShowRule ruleKey1 = iterator.next();
- assertEquals(rule1, ruleKey1);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey1));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(1, conditionsToSettings.size());
- final Iterator<Entry<Condition, Set<UniqueSetting>>> iterator = conditionsToSettings.entrySet().iterator();
- final Entry<Condition, Set<UniqueSetting>> entry1 = iterator.next();
- assertEquals(rule1.getCondition(), entry1.getKey());
- assertEquals(1, entry1.getValue().size());
- assertEquals(favMerchandiseSetting, entry1.getValue().iterator().next());
- }
- }
-
- @Test
- public void testDynmicOneMultiRefRuleRemoveRule() {
- // setup
- addFanMerchandiseRule(control1);
- initialize();
-
- // act
- control1.getAttachments().clear();
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(0, settingsToRules.size());
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(0, rulesToRenderables.keys().size());
- assertEquals(0, rulesToRenderables.values().size());
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(0, conditionsToSettings.size());
- }
- }
-
- @Test
- public void testDynamicTwoSimilarMultiRefRuleRemoveOneRule() {
- // setup
- final ShowRule rule1 = addFanMerchandiseRule(control1);
- addFanMerchandiseRule(control2);
- initialize();
-
- // act
- control2.getAttachments().clear();
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(3, settingsToRules.size());
- final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
- .entrySet().iterator();
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
- assertEquals(fanSetting, entry1.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
- assertEquals(1, conditionToRules1.keys().size());
- assertEquals(1, conditionToRules1.values().size());
- final Iterator<Condition> conditionToRulesIterator1 = conditionToRules1.keys().iterator();
- final Condition condition11 = conditionToRulesIterator1.next();
- assertEquals(rule1.getCondition(), condition11);
- assertEquals(rule1, conditionToRules1.getValue(condition11));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
- assertEquals(merchandise1Setting, entry2.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
- assertEquals(1, conditionToRules2.keys().size());
- assertEquals(1, conditionToRules2.values().size());
- final Iterator<Condition> conditionToRulesIterator2 = conditionToRules2.keys().iterator();
- final Condition condition21 = conditionToRulesIterator2.next();
- assertEquals(rule1.getCondition(), condition21);
- assertEquals(rule1, conditionToRules2.getValue(condition21));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
- assertEquals(merchandise2Setting, entry3.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
- assertEquals(1, conditionToRules3.keys().size());
- assertEquals(1, conditionToRules3.values().size());
- final Iterator<Condition> conditionToRulesIterator3 = conditionToRules3.keys().iterator();
- final Condition condition31 = conditionToRulesIterator3.next();
- assertEquals(rule1.getCondition(), condition31);
- assertEquals(rule1, conditionToRules3.getValue(condition31));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(1, rulesToRenderables.keys().size());
- assertEquals(1, rulesToRenderables.values().size());
- final Iterator<ShowRule> iterator = rulesToRenderables.keys().iterator();
-
- final ShowRule ruleKey1 = iterator.next();
- assertEquals(rule1, ruleKey1);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey1));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(1, conditionsToSettings.size());
- final Iterator<Entry<Condition, Set<UniqueSetting>>> iterator = conditionsToSettings.entrySet().iterator();
-
- final Entry<Condition, Set<UniqueSetting>> entry1 = iterator.next();
- assertEquals(rule1.getCondition(), entry1.getKey());
- assertEquals(3, entry1.getValue().size());
- assertTrue(entry1.getValue().contains(fanSetting));
- assertTrue(entry1.getValue().contains(merchandise1Setting));
- assertTrue(entry1.getValue().contains(merchandise2Setting));
- }
- }
-
- @Test
- public void testDynmicOneSingleRefRuleChangeCondition() {
- // setup
- final ShowRule rule = addFavMerchandiseRule(control1);
- initialize();
-
- // act
- final LeafCondition leafCondition = (LeafCondition) rule.getCondition();
- final VFeaturePathDomainModelReference reference = (VFeaturePathDomainModelReference) leafCondition
- .getDomainModelReference();
- reference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_SerialNumber());
- leafCondition.setExpectedValue(1234567890);
- final UniqueSetting newSetting = UniqueSetting.createSetting(favMerchandise,
- BowlingPackage.eINSTANCE.getMerchandise_SerialNumber());
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(1, settingsToRules.size());
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry = settingsToRules.entrySet()
- .iterator()
- .next();
- assertEquals(newSetting, entry.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules = entry.getValue();
- assertEquals(1, conditionToRules.keys().size());
- assertEquals(1, conditionToRules.values().size());
- final Condition condition = conditionToRules.keys().iterator().next();
- assertEquals(rule.getCondition(), condition);
- assertEquals(rule, conditionToRules.getValue(condition));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(1, rulesToRenderables.keys().size());
- assertEquals(1, rulesToRenderables.values().size());
- final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
- assertEquals(rule, ruleKey);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(1, conditionsToSettings.size());
- final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
- assertEquals(rule.getCondition(), entry.getKey());
- assertEquals(1, entry.getValue().size());
- assertEquals(newSetting, entry.getValue().iterator().next());
- }
- }
-
- @Test
- public void testDynamicTwoSimilarSingleRefRuleChangeOneCondition() {
- // setup
- final ShowRule rule1 = addFavMerchandiseRule(control1);
- final ShowRule rule2 = addFavMerchandiseRule(control2);
- initialize();
-
- // act
- final LeafCondition leafCondition = (LeafCondition) rule2.getCondition();
- final VFeaturePathDomainModelReference reference = (VFeaturePathDomainModelReference) leafCondition
- .getDomainModelReference();
- reference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_SerialNumber());
- leafCondition.setExpectedValue(1234567890);
- final UniqueSetting newSetting = UniqueSetting.createSetting(favMerchandise,
- BowlingPackage.eINSTANCE.getMerchandise_SerialNumber());
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(2, settingsToRules.size());
-
- assertTrue(settingsToRules.containsKey(favMerchandiseSetting));
- final BidirectionalMap<Condition, ShowRule> conditionToRules1 = settingsToRules.get(favMerchandiseSetting);
- assertEquals(1, conditionToRules1.keys().size());
- assertEquals(1, conditionToRules1.values().size());
- final Iterator<Condition> iterator1 = conditionToRules1.keys().iterator();
- final Condition condition1 = iterator1.next();
- assertEquals(rule1.getCondition(), condition1);
- assertEquals(rule1, conditionToRules1.getValue(condition1));
-
- assertTrue(settingsToRules.containsKey(newSetting));
- final BidirectionalMap<Condition, ShowRule> conditionToRules2 = settingsToRules.get(newSetting);
- assertEquals(1, conditionToRules2.keys().size());
- assertEquals(1, conditionToRules2.values().size());
- final Iterator<Condition> iterator2 = conditionToRules2.keys().iterator();
- final Condition condition2 = iterator2.next();
- assertEquals(rule2.getCondition(), condition2);
- assertEquals(rule2, conditionToRules2.getValue(condition2));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(2, rulesToRenderables.keys().size());
- assertEquals(2, rulesToRenderables.values().size());
- final Iterator<ShowRule> iterator = rulesToRenderables.keys().iterator();
- final ShowRule ruleKey1 = iterator.next();
- assertEquals(rule1, ruleKey1);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey1));
- final ShowRule ruleKey2 = iterator.next();
- assertEquals(rule2, ruleKey2);
- assertEquals(control2, rulesToRenderables.getValue(ruleKey2));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(2, conditionsToSettings.size());
- final Iterator<Entry<Condition, Set<UniqueSetting>>> iterator = conditionsToSettings.entrySet().iterator();
- final Entry<Condition, Set<UniqueSetting>> entry1 = iterator.next();
- assertEquals(rule1.getCondition(), entry1.getKey());
- assertEquals(1, entry1.getValue().size());
- assertEquals(favMerchandiseSetting, entry1.getValue().iterator().next());
- final Entry<Condition, Set<UniqueSetting>> entry2 = iterator.next();
- assertEquals(rule2.getCondition(), entry2.getKey());
- assertEquals(1, entry2.getValue().size());
- assertEquals(newSetting, entry2.getValue().iterator().next());
- }
- }
-
- @Test
- public void testDynamicOneMultiRefRuleChangeConditionToOtherMultiRef() {
- // setup
- final ShowRule rule = addFanMerchandiseRule(control1);
- initialize();
-
- // act
- final Tournament tournament = BowlingFactory.eINSTANCE.createTournament();
- fan.getVisitedTournaments().add(tournament);
-
- final LeafCondition leafCondition = (LeafCondition) rule.getCondition();
- final VFeaturePathDomainModelReference reference = (VFeaturePathDomainModelReference) leafCondition
- .getDomainModelReference();
- reference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_VisitedTournaments());
- final VFeaturePathDomainModelReference valueDMR = (VFeaturePathDomainModelReference) leafCondition
- .getValueDomainModelReference();
- valueDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getTournament_PriceMoney());
- leafCondition.setExpectedValue(99.99);
-
- final UniqueSetting newSettingList = UniqueSetting.createSetting(fan,
- BowlingPackage.eINSTANCE.getFan_VisitedTournaments());
- final UniqueSetting newSettingLeaf = UniqueSetting.createSetting(tournament,
- BowlingPackage.eINSTANCE.getTournament_PriceMoney());
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(2, settingsToRules.size());
- final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
- .entrySet().iterator();
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
- assertEquals(newSettingList, entry1.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
- assertEquals(1, conditionToRules1.keys().size());
- assertEquals(1, conditionToRules1.values().size());
- final Condition condition1 = conditionToRules1.keys().iterator().next();
- assertEquals(rule.getCondition(), condition1);
- assertEquals(rule, conditionToRules1.getValue(condition1));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
- assertEquals(newSettingLeaf, entry2.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
- assertEquals(1, conditionToRules2.keys().size());
- assertEquals(1, conditionToRules2.values().size());
- final Condition condition2 = conditionToRules2.keys().iterator().next();
- assertEquals(rule.getCondition(), condition2);
- assertEquals(rule, conditionToRules2.getValue(condition2));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(1, rulesToRenderables.keys().size());
- assertEquals(1, rulesToRenderables.values().size());
- final ShowRule ruleKey = rulesToRenderables.keys().iterator().next();
- assertEquals(rule, ruleKey);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(1, conditionsToSettings.size());
- final Entry<Condition, Set<UniqueSetting>> entry = conditionsToSettings.entrySet().iterator().next();
- assertEquals(rule.getCondition(), entry.getKey());
- assertEquals(2, entry.getValue().size());
- final Iterator<UniqueSetting> iterator = entry.getValue().iterator();
- assertEquals(newSettingList, iterator.next());
- assertEquals(newSettingLeaf, iterator.next());
- }
- }
-
- @Test
- public void testDynamicTwoSimilarMultiRefRuleChangeOneConditionNoNonMulti() {
- // setup
- final ShowRule rule1 = addFanMerchandiseRule(control1);
- final ShowRule rule2 = addFanMerchandiseRule(control2);
- initialize();
-
- // act
- final LeafCondition leafCondition = (LeafCondition) rule2.getCondition();
- final VFeaturePathDomainModelReference reference = (VFeaturePathDomainModelReference) leafCondition
- .getDomainModelReference();
- reference.getDomainModelEReferencePath().clear();
- reference.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
- reference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_SerialNumber());
- leafCondition.setExpectedValue(1234567890);
- final UniqueSetting newSetting = UniqueSetting.createSetting(favMerchandise,
- BowlingPackage.eINSTANCE.getMerchandise_SerialNumber());
-
- // assert settingsToRules
- {
- final Map<UniqueSetting, BidirectionalMap<Condition, ShowRule>> settingsToRules = getSettingsToRules();
- assertEquals(4, settingsToRules.size());
- final Iterator<Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>>> iterator = settingsToRules
- .entrySet().iterator();
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry1 = iterator.next();
- assertEquals(fanSetting, entry1.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules1 = entry1.getValue();
- assertEquals(1, conditionToRules1.keys().size());
- assertEquals(1, conditionToRules1.values().size());
- final Iterator<Condition> conditionToRulesIterator1 = conditionToRules1.keys().iterator();
- final Condition condition11 = conditionToRulesIterator1.next();
- assertEquals(rule1.getCondition(), condition11);
- assertEquals(rule1, conditionToRules1.getValue(condition11));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry2 = iterator.next();
- assertEquals(merchandise1Setting, entry2.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules2 = entry2.getValue();
- assertEquals(1, conditionToRules2.keys().size());
- assertEquals(1, conditionToRules2.values().size());
- final Iterator<Condition> conditionToRulesIterator2 = conditionToRules2.keys().iterator();
- final Condition condition21 = conditionToRulesIterator2.next();
- assertEquals(rule1.getCondition(), condition21);
- assertEquals(rule1, conditionToRules2.getValue(condition21));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry3 = iterator.next();
- assertEquals(merchandise2Setting, entry3.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules3 = entry3.getValue();
- assertEquals(1, conditionToRules3.keys().size());
- assertEquals(1, conditionToRules3.values().size());
- final Iterator<Condition> conditionToRulesIterator3 = conditionToRules3.keys().iterator();
- final Condition condition31 = conditionToRulesIterator3.next();
- assertEquals(rule1.getCondition(), condition31);
- assertEquals(rule1, conditionToRules3.getValue(condition31));
-
- final Entry<UniqueSetting, BidirectionalMap<Condition, ShowRule>> entry4 = iterator.next();
- assertEquals(newSetting, entry4.getKey());
- final BidirectionalMap<Condition, ShowRule> conditionToRules4 = entry4.getValue();
- assertEquals(1, conditionToRules4.keys().size());
- assertEquals(1, conditionToRules4.values().size());
- final Iterator<Condition> conditionToRulesIterator4 = conditionToRules4.keys().iterator();
- final Condition condition41 = conditionToRulesIterator4.next();
- assertEquals(rule2.getCondition(), condition41);
- assertEquals(rule2, conditionToRules4.getValue(condition41));
- }
-
- // assert rulesToRenderables
- {
- final BidirectionalMap<ShowRule, VElement> rulesToRenderables = getRulesToRenderables();
- assertEquals(2, rulesToRenderables.keys().size());
- assertEquals(2, rulesToRenderables.values().size());
- final Iterator<ShowRule> iterator = rulesToRenderables.keys().iterator();
-
- final ShowRule ruleKey1 = iterator.next();
- assertEquals(rule1, ruleKey1);
- assertEquals(control1, rulesToRenderables.getValue(ruleKey1));
-
- final ShowRule ruleKey2 = iterator.next();
- assertEquals(rule2, ruleKey2);
- assertEquals(control2, rulesToRenderables.getValue(ruleKey2));
- }
-
- // assert conditionToSettings
- {
- final Map<Condition, Set<UniqueSetting>> conditionsToSettings = getConditionsToSettings();
- assertEquals(2, conditionsToSettings.size());
- final Iterator<Entry<Condition, Set<UniqueSetting>>> iterator = conditionsToSettings.entrySet().iterator();
-
- final Entry<Condition, Set<UniqueSetting>> entry1 = iterator.next();
- assertEquals(rule1.getCondition(), entry1.getKey());
- assertEquals(3, entry1.getValue().size());
- assertTrue(entry1.getValue().contains(fanSetting));
- assertTrue(entry1.getValue().contains(merchandise1Setting));
- assertTrue(entry1.getValue().contains(merchandise2Setting));
-
- final Entry<Condition, Set<UniqueSetting>> entry2 = iterator.next();
- assertEquals(rule2.getCondition(), entry2.getKey());
- assertEquals(1, entry2.getValue().size());
- assertTrue(entry2.getValue().contains(newSetting));
- }
- }
-
-}// END COMPLEX CODE
diff --git a/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleServiceGC_PTest.java b/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleServiceGC_PTest.java
new file mode 100644
index 0000000..1bebe77
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleServiceGC_PTest.java
@@ -0,0 +1,345 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Edgar - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.rule.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.internal.rule.RuleService;
+import org.eclipse.emf.ecp.view.internal.rule.RuleServiceHelperImpl;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.rule.model.EnableRule;
+import org.eclipse.emf.ecp.view.spi.rule.model.ShowRule;
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalFactory;
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout;
+import org.eclipse.emf.ecp.view.test.common.spi.GCCollectable;
+import org.eclipse.emf.ecp.view.test.common.spi.Tuple;
+import org.eclipse.emf.emfstore.bowling.BowlingFactory;
+import org.eclipse.emf.emfstore.bowling.BowlingPackage;
+import org.eclipse.emf.emfstore.bowling.Fan;
+import org.eclipse.emf.emfstore.bowling.Merchandise;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class RuleServiceGC_PTest extends CommonRuleTest {
+
+ private ViewModelContext context;
+ private DefaultRealm realm;
+
+ private Tuple<VView, Fan> createView() {
+ final Merchandise merchandise = BowlingFactory.eINSTANCE.createMerchandise();
+ final Fan fan = BowlingFactory.eINSTANCE.createFan();
+ fan.setFavouriteMerchandise(merchandise);
+
+ final VView view = VViewFactory.eINSTANCE.createView();
+ view.setRootEClass(fan.eClass());
+
+ final VVerticalLayout parentColumn = VVerticalFactory.eINSTANCE.createVerticalLayout();
+ view.getChildren().add(parentColumn);
+
+ final VVerticalLayout column = VVerticalFactory.eINSTANCE.createVerticalLayout();
+ parentColumn.getChildren().add(column);
+
+ final VControl controlPName = VViewFactory.eINSTANCE.createControl();
+
+ final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
+ domainModelReference.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
+ controlPName.setDomainModelReference(domainModelReference);
+
+ column.getChildren().add(controlPName);
+ return Tuple.create(view, fan);
+ }
+
+ @Before
+ public void setup() {
+ realm = new DefaultRealm();
+ }
+
+ /**
+ * Tear down.
+ *
+ * @throws Exception the exception
+ */
+ @After
+ public void tearDown() throws Exception {
+ if (context != null) {
+ context.dispose();
+ }
+ realm.dispose();
+ }
+
+ /**
+ * Instantiate rule service.
+ *
+ * @return the rule service
+ */
+ private RuleService instantiateRuleService(VView view, final EObject domainModel) {
+ final RuleService ruleService = new RuleService();
+ final RuleServiceHelperImpl ruleServiceHelper = new RuleServiceHelperImpl();
+ context = ViewModelContextFactory.INSTANCE.createViewModelContext(view, domainModel);
+ ruleService.instantiate(context);
+ ruleServiceHelper.instantiate(context);
+ return ruleService;
+ }
+
+ @Test
+ public void testRemoveShowRule() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+ fan.setName("foo");
+ addShowRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getFan_Name(), "foo");
+ final GCCollectable collectable = new GCCollectable(
+ view.getChildren().get(0).getAttachments().get(0));
+ instantiateRuleService(view, fan);
+ view.getChildren().get(0).getAttachments().remove(0);
+
+ assertTrue(collectable.isCollectable());
+ assertTrue(view.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testRemoveShowRuleWithoutCondition() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+ addShowRule(view.getChildren().get(0), false);
+ final GCCollectable collectable = new GCCollectable(
+ view.getChildren().get(0).getAttachments().get(0));
+ instantiateRuleService(view, fan);
+ view.getChildren().get(0).getAttachments().remove(0);
+ assertTrue(collectable.isCollectable());
+ }
+
+ @Test
+ public void testRemoveEnableRuleWithoutCondition() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+ addEnableRule(view.getChildren().get(0), false);
+ final GCCollectable collectable = new GCCollectable(
+ view.getChildren().get(0).getAttachments().get(0));
+ instantiateRuleService(view, fan);
+ view.getChildren().get(0).getAttachments().remove(0);
+ assertTrue(collectable.isCollectable());
+ }
+
+ @Test
+ public void testRemoveEnableRule() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+ fan.setName("foo");
+ addEnableRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getFan_Name(), "foo");
+ final GCCollectable collectable = new GCCollectable(
+ view.getChildren().get(0).getAttachments().get(0));
+ instantiateRuleService(view, fan);
+ view.getChildren().get(0).getAttachments().remove(0);
+
+ assertTrue(collectable.isCollectable());
+ assertTrue(view.getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testRemoveLeafConditionOfShowRuleReevaluate() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+ fan.setName("foo");
+ addShowRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getFan_Name(), "foo");
+ final GCCollectable collectable = new GCCollectable(
+ ((ShowRule) view.getChildren().get(0).getAttachments().get(0)).getCondition());
+ instantiateRuleService(view, fan);
+ final ShowRule showRule = (ShowRule) view.getChildren().get(0).getAttachments().get(0);
+
+ assertFalse(view.getChildren().get(0).isVisible());
+ showRule.setCondition(null);
+ assertTrue(collectable.isCollectable());
+ assertTrue(view.getChildren().get(0).isVisible());
+ }
+
+ @Test
+ public void testRemoveAndConditionOfShowRule() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+ addLeagueShowRuleWithAndCondition(view.getChildren().get(0), false,
+ createLeafCondition(BowlingPackage.eINSTANCE.getFan_Name(), "Fan"),
+ createLeafCondition(BowlingPackage.eINSTANCE.getFan_Name(), "Fan2"));
+
+ final GCCollectable collectable = new GCCollectable(
+ ((ShowRule) view.getChildren().get(0).getAttachments().get(0)).getCondition());
+ instantiateRuleService(view, fan);
+ final ShowRule showRule = (ShowRule) view.getChildren().get(0).getAttachments().get(0);
+ showRule.setCondition(null);
+ assertTrue(collectable.isCollectable());
+ }
+
+ @Test
+ public void testRemoveAndConditionOfEnableRule() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+ addLeagueEnableRuleWithAndCondition(view.getChildren().get(0), false,
+ createLeafCondition(BowlingPackage.eINSTANCE.getFan_Name(), "Fan"),
+ createLeafCondition(BowlingPackage.eINSTANCE.getFan_Name(), "Fan2"));
+
+ final GCCollectable collectable = new GCCollectable(
+ ((EnableRule) view.getChildren().get(0).getAttachments().get(0)).getCondition());
+ instantiateRuleService(view, fan);
+ final EnableRule enableRule = (EnableRule) view.getChildren().get(0).getAttachments().get(0);
+ enableRule.setCondition(null);
+ assertTrue(collectable.isCollectable());
+ }
+
+ @Test
+ public void testRemoveOrConditionOfEnableRule() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+ addLeagueShowRuleWithOrCondition(view.getChildren().get(0), false,
+ createLeafCondition(BowlingPackage.eINSTANCE.getFan_Name(), "Fan"),
+ createLeafCondition(BowlingPackage.eINSTANCE.getFan_Name(), "Fan2"));
+
+ final GCCollectable collectable = new GCCollectable(
+ ((ShowRule) view.getChildren().get(0).getAttachments().get(0)).getCondition());
+ instantiateRuleService(view, fan);
+ final ShowRule showRule = (ShowRule) view.getChildren().get(0).getAttachments().get(0);
+ showRule.setCondition(null);
+ assertTrue(collectable.isCollectable());
+ }
+
+ @Test
+ public void testRemoveLeafConditionOfEnableRule() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+ addEnableRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getFan_Name(), "foo");
+ final EnableRule enableRule = (EnableRule) view.getChildren().get(0).getAttachments().get(0);
+ final GCCollectable collectable = new GCCollectable(enableRule.getCondition());
+ instantiateRuleService(view, fan);
+ enableRule.setCondition(null);
+ assertTrue(collectable.isCollectable());
+ }
+
+ @Test
+ public void testRemoveLeafConditionOfShowRule() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+ addShowRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getFan_Name(), "foo");
+ final ShowRule showRule = (ShowRule) view.getChildren().get(0).getAttachments().get(0);
+ final GCCollectable collectable = new GCCollectable(showRule.getCondition());
+ instantiateRuleService(view, fan);
+ showRule.setCondition(null);
+ assertTrue(collectable.isCollectable());
+ }
+
+ @Test
+ public void testRemoveLeafConditionOfEnableRuleReevaluate() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+ fan.setName("foo");
+ addEnableRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getFan_Name(), "foo");
+ final GCCollectable collectable = new GCCollectable(
+ ((EnableRule) view.getChildren().get(0).getAttachments().get(0)).getCondition());
+ instantiateRuleService(view, fan);
+ final EnableRule enableRule = (EnableRule) view.getChildren().get(0).getAttachments().get(0);
+
+ assertFalse(view.getChildren().get(0).isEnabled());
+ enableRule.setCondition(null);
+ assertTrue(collectable.isCollectable());
+ assertTrue(view.getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testRemoveOrConditionOfShowRule() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+
+ addLeagueShowRuleWithOrCondition(view.getChildren().get(0), false,
+ createLeafCondition(BowlingPackage.eINSTANCE.getFan_Name(), "Fan"),
+ createLeafCondition(BowlingPackage.eINSTANCE.getFan_Name(), "Fan2"));
+
+ final GCCollectable collectable = new GCCollectable(
+ ((ShowRule) view.getChildren().get(0).getAttachments().get(0)).getCondition());
+ instantiateRuleService(view, fan);
+ final ShowRule showRule = (ShowRule) view.getChildren().get(0).getAttachments().get(0);
+ showRule.setCondition(null);
+ assertTrue(collectable.isCollectable());
+ }
+
+ @Test
+ public void testRemoveOrConditionBOfEnableRuleReevaluate() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+ fan.setName("foo");
+
+ addLeagueEnableRuleWithOrCondition(view.getChildren().get(0), false,
+ createLeafCondition(BowlingPackage.eINSTANCE.getFan_Name(), "foo"),
+ createLeafCondition(BowlingPackage.eINSTANCE.getFan_Name(), "Fan2"));
+
+ final GCCollectable collectable = new GCCollectable(
+ EnableRule.class.cast(view.getChildren().get(0).getAttachments().get(0)).getCondition());
+ final GCCollectable ruleCollectable = new GCCollectable(
+ view.getChildren().get(0).getAttachments().get(0));
+
+ instantiateRuleService(view, fan);
+ final EnableRule enableRule = (EnableRule) view.getChildren().get(0).getAttachments().get(0);
+
+ assertFalse(view.getChildren().get(0).isEnabled());
+ enableRule.setCondition(null);
+ assertTrue(collectable.isCollectable());
+ assertFalse(ruleCollectable.isCollectable());
+ assertTrue(view.getChildren().get(0).isEnabled());
+ }
+
+ @Test
+ public void testRemoveRenderableWithShowRule() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+ addShowRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getFan_Name(), "foo");
+ final GCCollectable collectable = new GCCollectable(
+ view.getChildren().get(0).getAttachments().get(0));
+ instantiateRuleService(view, fan);
+ view.getChildren().remove(view.getChildren().get(0));
+ assertTrue(collectable.isCollectable());
+ }
+
+ @Test
+ public void testRemoveRenderableWithEnableRule() {
+ final Tuple<VView, Fan> tuple = createView();
+ final VView view = tuple.first();
+ final Fan fan = tuple.second();
+ addEnableRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getFan_Name(), "foo");
+ final GCCollectable collectable = new GCCollectable(
+ view.getChildren().get(0).getAttachments().get(0));
+ instantiateRuleService(view, fan);
+ view.getChildren().remove(view.getChildren().get(0));
+ assertTrue(collectable.isCollectable());
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleServiceGC_Test.java b/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleServiceGC_Test.java
deleted file mode 100644
index 986e864..0000000
--- a/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleServiceGC_Test.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Edgar - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.rule.test;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecp.view.internal.rule.RuleService;
-import org.eclipse.emf.ecp.view.internal.rule.RuleServiceHelperImpl;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
-import org.eclipse.emf.ecp.view.spi.model.VControl;
-import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
-import org.eclipse.emf.ecp.view.spi.rule.model.EnableRule;
-import org.eclipse.emf.ecp.view.spi.rule.model.ShowRule;
-import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalFactory;
-import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout;
-import org.eclipse.emf.ecp.view.test.common.spi.GCCollectable;
-import org.eclipse.emf.ecp.view.test.common.spi.Tuple;
-import org.eclipse.emf.emfstore.bowling.BowlingFactory;
-import org.eclipse.emf.emfstore.bowling.BowlingPackage;
-import org.eclipse.emf.emfstore.bowling.League;
-import org.eclipse.emf.emfstore.bowling.Player;
-import org.junit.After;
-import org.junit.Test;
-
-public class RuleServiceGC_Test extends CommonRuleTest {
-
- private ViewModelContext context;
-
- private Tuple<VView, League> createView() {
- final Player player = BowlingFactory.eINSTANCE.createPlayer();
- final League league = BowlingFactory.eINSTANCE.createLeague();
- league.getPlayers().add(player);
-
- final VView view = VViewFactory.eINSTANCE.createView();
- view.setRootEClass(league.eClass());
-
- final VVerticalLayout parentColumn = VVerticalFactory.eINSTANCE.createVerticalLayout();
- view.getChildren().add(parentColumn);
-
- final VVerticalLayout column = VVerticalFactory.eINSTANCE.createVerticalLayout();
- parentColumn.getChildren().add(column);
-
- final VControl controlPName = VViewFactory.eINSTANCE.createControl();
-
- final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
- domainModelReference.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getLeague_Players());
- controlPName.setDomainModelReference(domainModelReference);
-
- column.getChildren().add(controlPName);
- return Tuple.create(view, league);
- }
-
- /**
- * Tear down.
- *
- * @throws Exception the exception
- */
- @After
- public void tearDown() throws Exception {
- if (context != null) {
- context.dispose();
- }
- }
-
- /**
- * Instantiate rule service.
- *
- * @return the rule service
- */
- private RuleService instantiateRuleService(VView view, final EObject domainModel) {
- final RuleService ruleService = new RuleService();
- final RuleServiceHelperImpl ruleServiceHelper = new RuleServiceHelperImpl();
- context = ViewModelContextFactory.INSTANCE.createViewModelContext(view, domainModel);
- ruleService.instantiate(context);
- ruleServiceHelper.instantiate(context);
- return ruleService;
- }
-
- @Test
- public void testRemoveShowRule() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
- league.setName("foo");
- addShowRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getLeague_Name(), "foo");
- final GCCollectable collectable = new GCCollectable(
- view.getChildren().get(0).getAttachments().get(0));
- instantiateRuleService(view, league);
- view.getChildren().get(0).getAttachments().remove(0);
-
- assertTrue(collectable.isCollectable());
- assertTrue(view.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testRemoveShowRuleWithoutCondition() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
- addShowRule(view.getChildren().get(0), false);
- final GCCollectable collectable = new GCCollectable(
- view.getChildren().get(0).getAttachments().get(0));
- instantiateRuleService(view, league);
- view.getChildren().get(0).getAttachments().remove(0);
- assertTrue(collectable.isCollectable());
- }
-
- @Test
- public void testRemoveEnableRuleWithoutCondition() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
- addEnableRule(view.getChildren().get(0), false);
- final GCCollectable collectable = new GCCollectable(
- view.getChildren().get(0).getAttachments().get(0));
- instantiateRuleService(view, league);
- view.getChildren().get(0).getAttachments().remove(0);
- assertTrue(collectable.isCollectable());
- }
-
- @Test
- public void testRemoveEnableRule() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
- league.setName("foo");
- addEnableRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getLeague_Name(), "foo");
- final GCCollectable collectable = new GCCollectable(
- view.getChildren().get(0).getAttachments().get(0));
- instantiateRuleService(view, league);
- view.getChildren().get(0).getAttachments().remove(0);
-
- assertTrue(collectable.isCollectable());
- assertTrue(view.getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testRemoveLeafConditionOfShowRuleReevaluate() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
- league.setName("foo");
- addShowRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getLeague_Name(), "foo");
- final GCCollectable collectable = new GCCollectable(
- ((ShowRule) view.getChildren().get(0).getAttachments().get(0)).getCondition());
- instantiateRuleService(view, league);
- final ShowRule showRule = (ShowRule) view.getChildren().get(0).getAttachments().get(0);
-
- assertFalse(view.getChildren().get(0).isVisible());
- showRule.setCondition(null);
- assertTrue(collectable.isCollectable());
- assertTrue(view.getChildren().get(0).isVisible());
- }
-
- @Test
- public void testRemoveAndConditionOfShowRule() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
- addLeagueShowRuleWithAndCondition(view.getChildren().get(0), false,
- createLeafCondition(BowlingPackage.eINSTANCE.getLeague_Name(), "League"),
- createLeafCondition(BowlingPackage.eINSTANCE.getLeague_Name(), "League2"));
-
- final GCCollectable collectable = new GCCollectable(
- ((ShowRule) view.getChildren().get(0).getAttachments().get(0)).getCondition());
- instantiateRuleService(view, league);
- final ShowRule showRule = (ShowRule) view.getChildren().get(0).getAttachments().get(0);
- showRule.setCondition(null);
- assertTrue(collectable.isCollectable());
- }
-
- @Test
- public void testRemoveAndConditionOfEnableRule() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
- addLeagueEnableRuleWithAndCondition(view.getChildren().get(0), false,
- createLeafCondition(BowlingPackage.eINSTANCE.getLeague_Name(), "League"),
- createLeafCondition(BowlingPackage.eINSTANCE.getLeague_Name(), "League2"));
-
- final GCCollectable collectable = new GCCollectable(
- ((EnableRule) view.getChildren().get(0).getAttachments().get(0)).getCondition());
- instantiateRuleService(view, league);
- final EnableRule enableRule = (EnableRule) view.getChildren().get(0).getAttachments().get(0);
- enableRule.setCondition(null);
- assertTrue(collectable.isCollectable());
- }
-
- @Test
- public void testRemoveOrConditionOfEnableRule() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
- addLeagueShowRuleWithOrCondition(view.getChildren().get(0), false,
- createLeafCondition(BowlingPackage.eINSTANCE.getLeague_Name(), "League"),
- createLeafCondition(BowlingPackage.eINSTANCE.getLeague_Name(), "League2"));
-
- final GCCollectable collectable = new GCCollectable(
- ((ShowRule) view.getChildren().get(0).getAttachments().get(0)).getCondition());
- instantiateRuleService(view, league);
- final ShowRule showRule = (ShowRule) view.getChildren().get(0).getAttachments().get(0);
- showRule.setCondition(null);
- assertTrue(collectable.isCollectable());
- }
-
- @Test
- public void testRemoveLeafConditionOfEnableRule() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
- addEnableRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getLeague_Name(), "foo");
- final EnableRule enableRule = (EnableRule) view.getChildren().get(0).getAttachments().get(0);
- final GCCollectable collectable = new GCCollectable(enableRule.getCondition());
- instantiateRuleService(view, league);
- enableRule.setCondition(null);
- assertTrue(collectable.isCollectable());
- }
-
- @Test
- public void testRemoveLeafConditionOfShowRule() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
- addShowRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getLeague_Name(), "foo");
- final ShowRule showRule = (ShowRule) view.getChildren().get(0).getAttachments().get(0);
- final GCCollectable collectable = new GCCollectable(showRule.getCondition());
- instantiateRuleService(view, league);
- showRule.setCondition(null);
- assertTrue(collectable.isCollectable());
- }
-
- @Test
- public void testRemoveLeafConditionOfEnableRuleReevaluate() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
- league.setName("foo");
- addEnableRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getLeague_Name(), "foo");
- final GCCollectable collectable = new GCCollectable(
- ((EnableRule) view.getChildren().get(0).getAttachments().get(0)).getCondition());
- instantiateRuleService(view, league);
- final EnableRule enableRule = (EnableRule) view.getChildren().get(0).getAttachments().get(0);
-
- assertFalse(view.getChildren().get(0).isEnabled());
- enableRule.setCondition(null);
- assertTrue(collectable.isCollectable());
- assertTrue(view.getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testRemoveOrConditionOfShowRule() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
-
- addLeagueShowRuleWithOrCondition(view.getChildren().get(0), false,
- createLeafCondition(BowlingPackage.eINSTANCE.getLeague_Name(), "League"),
- createLeafCondition(BowlingPackage.eINSTANCE.getLeague_Name(), "League2"));
-
- final GCCollectable collectable = new GCCollectable(
- ((ShowRule) view.getChildren().get(0).getAttachments().get(0)).getCondition());
- instantiateRuleService(view, league);
- final ShowRule showRule = (ShowRule) view.getChildren().get(0).getAttachments().get(0);
- showRule.setCondition(null);
- assertTrue(collectable.isCollectable());
- }
-
- @Test
- public void testRemoveOrConditionBOfEnableRuleReevaluate() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
- league.setName("foo");
-
- addLeagueEnableRuleWithOrCondition(view.getChildren().get(0), false,
- createLeafCondition(BowlingPackage.eINSTANCE.getLeague_Name(), "foo"),
- createLeafCondition(BowlingPackage.eINSTANCE.getLeague_Name(), "League2"));
-
- final GCCollectable collectable = new GCCollectable(
- EnableRule.class.cast(view.getChildren().get(0).getAttachments().get(0)).getCondition());
- final GCCollectable ruleCollectable = new GCCollectable(
- view.getChildren().get(0).getAttachments().get(0));
-
- instantiateRuleService(view, league);
- final EnableRule enableRule = (EnableRule) view.getChildren().get(0).getAttachments().get(0);
-
- assertFalse(view.getChildren().get(0).isEnabled());
- enableRule.setCondition(null);
- assertTrue(collectable.isCollectable());
- assertFalse(ruleCollectable.isCollectable());
- assertTrue(view.getChildren().get(0).isEnabled());
- }
-
- @Test
- public void testRemoveRenderableWithShowRule() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
- addShowRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getLeague_Name(), "foo");
- final GCCollectable collectable = new GCCollectable(
- view.getChildren().get(0).getAttachments().get(0));
- instantiateRuleService(view, league);
- view.getChildren().remove(view.getChildren().get(0));
- assertTrue(collectable.isCollectable());
- }
-
- @Test
- public void testRemoveRenderableWithEnableRule() {
- final Tuple<VView, League> tuple = createView();
- final VView view = tuple.first();
- final League league = tuple.second();
- addEnableRule(view.getChildren().get(0), false, BowlingPackage.eINSTANCE.getLeague_Name(), "foo");
- final GCCollectable collectable = new GCCollectable(
- view.getChildren().get(0).getAttachments().get(0));
- instantiateRuleService(view, league);
- view.getChildren().remove(view.getChildren().get(0));
- assertTrue(collectable.isCollectable());
- }
-
-}
diff --git a/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleService_PTest.java b/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleService_PTest.java
index 05d9e02..8fdb3af 100644
--- a/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleService_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.rule.test/src/org/eclipse/emf/ecp/view/rule/test/RuleService_PTest.java
@@ -32,6 +32,7 @@
import org.eclipse.emf.ecore.impl.BasicEObjectImpl;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecp.common.spi.UniqueSetting;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
import org.eclipse.emf.ecp.test.university.Assistant;
import org.eclipse.emf.ecp.test.university.Person;
import org.eclipse.emf.ecp.test.university.Professor;
@@ -45,6 +46,8 @@
import org.eclipse.emf.ecp.view.spi.context.ViewModelContextDisposeListener;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
import org.eclipse.emf.ecp.view.spi.context.ViewModelService;
+import org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexdmrFactory;
import org.eclipse.emf.ecp.view.spi.model.ModelChangeListener;
import org.eclipse.emf.ecp.view.spi.model.VAttachment;
import org.eclipse.emf.ecp.view.spi.model.VControl;
@@ -276,6 +279,8 @@
private ViewModelContext context;
+ private DefaultRealm realm;
+
/**
* Sets the up.
*
@@ -283,6 +288,7 @@
*/
@Before
public void setUp() throws Exception {
+ realm = new DefaultRealm();
player = BowlingFactory.eINSTANCE.createPlayer();
league = BowlingFactory.eINSTANCE.createLeague();
league.getPlayers().add(player);
@@ -298,11 +304,14 @@
controlPName = VViewFactory.eINSTANCE.createControl();
+ final VIndexDomainModelReference indexDMR = VIndexdmrFactory.eINSTANCE.createIndexDomainModelReference();
+ indexDMR.setIndex(0);
+ indexDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getLeague_Players());
final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
.createFeaturePathDomainModelReference();
domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
- domainModelReference.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getLeague_Players());
- controlPName.setDomainModelReference(domainModelReference);
+ indexDMR.setTargetDMR(domainModelReference);
+ controlPName.setDomainModelReference(indexDMR);
column.getChildren().add(controlPName);
@@ -318,6 +327,7 @@
if (context != null) {
context.dispose();
}
+ realm.dispose();
}
private RuleService instantiateRuleService() {
@@ -708,11 +718,14 @@
public void testShowRuleWithAndConditionBothConditionsApply() {
final VControl control1 = VViewFactory.eINSTANCE.createControl();
+ final VIndexDomainModelReference indexDMR = VIndexdmrFactory.eINSTANCE.createIndexDomainModelReference();
+ indexDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getLeague_Players());
+ indexDMR.setIndex(0);
final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
.createFeaturePathDomainModelReference();
domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Height());
- domainModelReference.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getLeague_Players());
- control1.setDomainModelReference(domainModelReference);
+ indexDMR.setTargetDMR(domainModelReference);
+ control1.setDomainModelReference(indexDMR);
column.getChildren().add(control1);
addLeagueShowRuleWithAndCondition(
diff --git a/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/META-INF/MANIFEST.MF
index f01d965..dbc785b 100644
--- a/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Model Rule Test
Bundle-SymbolicName: org.eclipse.emf.ecp.view.rule.ui.swt.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.view.rule;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit;bundle-version="4.11.0",
@@ -13,6 +13,6 @@
org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
org.eclipse.emf.ecp.view.rule.test;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.5.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.view.rule.ui.swt.test;version="1.5
- .1";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.view.rule.ui.swt.test;version="1.6
+ .0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/pom.xml
index 685cbf7..c47ae96 100644
--- a/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.rule.ui.swt.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,38 +24,46 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.rule.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.emfstore.example.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.template.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.rule.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.emfstore.example.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/src/org/eclipse/emf/ecp/view/rule/ui/swt/test/RuleSWT_PTest.java b/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/src/org/eclipse/emf/ecp/view/rule/ui/swt/test/RuleSWT_PTest.java
index 32b17ac..d127e72 100644
--- a/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/src/org/eclipse/emf/ecp/view/rule/ui/swt/test/RuleSWT_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.rule.ui.swt.test/src/org/eclipse/emf/ecp/view/rule/ui/swt/test/RuleSWT_PTest.java
@@ -1,11 +1,11 @@
/*******************************************************************************
* Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
+ *
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
- *
+ *
* Contributors:
* Jonas - initial API and implementation
******************************************************************************/
@@ -31,6 +31,7 @@
import org.eclipse.emf.emfstore.bowling.BowlingPackage;
import org.eclipse.emf.emfstore.bowling.Fan;
import org.eclipse.emf.emfstore.bowling.Merchandise;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Shell;
import org.junit.Before;
@@ -39,7 +40,7 @@
/**
* @author Jonas
- *
+ *
*/
@RunWith(DatabindingClassRunner.class)
public class RuleSWT_PTest {
@@ -67,28 +68,32 @@
}
@Test
- public void testEnableRuleWithFalse() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testEnableRuleWithFalse() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
addEnableRule();
render();
assertTrue(isControlEnabled());
}
@Test
- public void testDisableRuleWithFalse() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testDisableRuleWithFalse() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
addDisableRule();
render();
assertTrue(isControlEnabled());
}
@Test
- public void testVisibleRuleWithFalse() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testVisibleRuleWithFalse() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
addVisibleRule();
render();
assertTrue(isControlVisible());
}
@Test
- public void testInVisibleRuleWithFalse() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testInVisibleRuleWithFalse() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
addInVisibleRule();
render();
assertTrue(isControlVisible());
@@ -96,7 +101,7 @@
@Test
public void testDisableRuleAndTrueLeafCondition() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final RuleHandle ruleHandle = addDisableRule();
RuleTestHelper.addTrueLeafCondition(ruleHandle.getRule());
@@ -106,7 +111,7 @@
@Test
public void testDisableRuleAndFalseLeafCondition() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final RuleHandle ruleHandle = addDisableRule();
RuleTestHelper.addFalseLeafCondition(ruleHandle.getRule());
@@ -116,7 +121,7 @@
@Test
public void testEnableRuleAndFalseLeafCondition() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final RuleHandle ruleHandle = addEnableRule();
RuleTestHelper.addFalseLeafCondition(ruleHandle.getRule());
@@ -126,7 +131,7 @@
@Test
public void testEnabledRuleAndTrueLeafCondition() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final RuleHandle ruleHandle = addEnableRule();
RuleTestHelper.addTrueLeafCondition(ruleHandle.getRule());
@@ -136,7 +141,7 @@
@Test
public void testInvisibleRuleAndFalseLeafCondition() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final RuleHandle ruleHandle = addInVisibleRule();
RuleTestHelper.addFalseLeafCondition(ruleHandle.getRule());
@@ -146,7 +151,7 @@
@Test
public void testInvisibleRuleAndTrueLeafCondition() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final RuleHandle ruleHandle = addInVisibleRule();
RuleTestHelper.addTrueLeafCondition(ruleHandle.getRule());
@@ -156,7 +161,7 @@
@Test
public void testVisibleRuleAndTrueLeafCondition() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final RuleHandle ruleHandle = addVisibleRule();
RuleTestHelper.addTrueLeafCondition(ruleHandle.getRule());
@@ -166,7 +171,7 @@
@Test
public void testVisibleRuleAndFalseLeafCondition() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final RuleHandle ruleHandle = addVisibleRule();
RuleTestHelper.addFalseLeafCondition(ruleHandle.getRule());
@@ -176,7 +181,7 @@
/**
* @return
- *
+ *
*/
private RuleHandle addInVisibleRule() {
final RuleHandle invisibleShowRule = RuleTestHelper.createInvisibleShowRule();
@@ -194,7 +199,7 @@
}
/**
- *
+ *
*/
private RuleHandle addVisibleRule() {
final RuleHandle visibleShowRule = RuleTestHelper.createVisibleShowRule();
@@ -212,9 +217,11 @@
/**
* @throws NoPropertyDescriptorFoundExeption
* @throws NoRendererFoundException
- *
+ * @throws EMFFormsNoRendererException
+ *
*/
- private void render() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ private void render() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
renderedControl = SWTViewTestHelper.render(view, input, shell);
}
diff --git a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/.gitignore b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/AllStackSWTTests.launch b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/AllStackSWTTests.launch
index 78956a1..80d4bc9 100644
--- a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/AllStackSWTTests.launch
+++ b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/AllStackSWTTests.launch
@@ -1,44 +1,43 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.common.test.fx,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.emailControlRenderer,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view.editor.controls*1.4.0.qualifier,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.util.e4.fx,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable*1.4.0.qualifier,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.databinding,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.viewmodel*1.4.0.qualifier,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.viewmodel.fx,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.fx.util"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/AllTests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.stack.ui.swt.test.AllTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.stack.ui.swt.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.ant@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.ant.junit@default:false,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.hamcrest.core@default:default,org.junit@default:default,org.mockito@default:default,org.objenesis@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.stack.ui.swt.test@default:false,org.eclipse.emf.ecp.view.stack.ui.swt@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="false"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.stack.ui.swt.test.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.stack.ui.swt.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.stack.model.edit@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.stack.ui.swt.test@default:false,org.eclipse.emf.ecp.view.stack.ui.swt@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/META-INF/MANIFEST.MF
index a8a861d..fbb8abe 100644
--- a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,12 +2,13 @@
Bundle-ManifestVersion: 2
Bundle-Name: EMF Forms Stack Model SWT Tests
Bundle-SymbolicName: org.eclipse.emf.ecp.view.stack.ui.swt.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.view.stack.ui.swt;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
org.junit;bundle-version="[4.11.0,5.0.0)",
- org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.6.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.view.stack.ui.swt.test;version="1.
- 5.1";x-internal:=true
+ 6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/pom.xml
index 254a1de..2d8707c 100644
--- a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.stack.ui.swt.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,43 +24,61 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.validation.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.stack.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.rule.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.locale.default</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.databinding.featurepath</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.emf</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.template.service</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.localization</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.core.swt</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.swt.layout</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.swt.core.plugin</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/AllTests.java b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/AllTests.java
index ddb3440..01f9663 100644
--- a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/AllTests.java
+++ b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/AllTests.java
@@ -17,8 +17,8 @@
@RunWith(Suite.class)
@SuiteClasses({
- StackItemViewService_Test.class,
- DynamicDMRStackItemViewService_Test.class,
+ StackItemViewService_PTest.class,
+ DynamicDMRStackItemViewService_PTest.class,
SWTStack_PTest.class
})
public class AllTests {
diff --git a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/DynamicDMRStackItemViewService_PTest.java b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/DynamicDMRStackItemViewService_PTest.java
new file mode 100644
index 0000000..88a6142
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/DynamicDMRStackItemViewService_PTest.java
@@ -0,0 +1,105 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.stack.ui.swt.test;
+
+import static org.junit.Assert.assertEquals;
+
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.internal.stack.ui.swt.StackItemViewService;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.stack.model.VStackItem;
+import org.eclipse.emf.ecp.view.spi.stack.model.VStackLayout;
+import org.eclipse.emf.emfstore.bowling.BowlingFactory;
+import org.eclipse.emf.emfstore.bowling.BowlingPackage;
+import org.eclipse.emf.emfstore.bowling.Fan;
+import org.eclipse.emf.emfstore.bowling.Gender;
+import org.eclipse.emf.emfstore.bowling.Player;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class DynamicDMRStackItemViewService_PTest {
+
+ private DefaultRealm realm;
+ private Fan fan;
+ private ViewModelContext context;
+ private VView view;
+ private VStackLayout stackLayout;
+ private VStackItem femaleItem;
+ private VStackItem maleItem;
+ private Player player1;
+ private Player player2;
+
+ @After
+ public void after() {
+ if (context != null) {
+ context.dispose();
+ }
+ realm.dispose();
+ }
+
+ @Before
+ public void before() {
+ realm = new DefaultRealm();
+
+ fan = BowlingFactory.eINSTANCE.createFan();
+ player1 = BowlingFactory.eINSTANCE.createPlayer();
+ player2 = BowlingFactory.eINSTANCE.createPlayer();
+
+ view = VViewFactory.eINSTANCE.createView();
+ view.setRootEClass(BowlingPackage.eINSTANCE.getFan());
+
+ stackLayout = TestUtil.createStack(BowlingPackage.eINSTANCE.getPlayer_Gender(),
+ BowlingPackage.eINSTANCE.getFan_FavouritePlayer());
+ view.getChildren().add(stackLayout);
+
+ femaleItem = TestUtil.createItem(Gender.FEMALE, BowlingPackage.eINSTANCE.getPlayer_DateOfBirth());
+ stackLayout.getStackItems().add(femaleItem);
+
+ maleItem = TestUtil.createItem(Gender.MALE, BowlingPackage.eINSTANCE.getPlayer_EMails());
+ stackLayout.getStackItems().add(maleItem);
+ }
+
+ private void toMale(Player player) {
+ player.setGender(Gender.MALE);
+ }
+
+ private void toFemale(Player player) {
+ player.setGender(Gender.FEMALE);
+ }
+
+ private void favouritePlayer(Player player) {
+ fan.setFavouritePlayer(player);
+ }
+
+ private StackItemViewService viewService() {
+ final StackItemViewService unsetService = new StackItemViewService();
+ context = ViewModelContextFactory.INSTANCE.createViewModelContext(view, fan);
+ unsetService.instantiate(context);
+ return unsetService;
+ }
+
+ @Test
+ public void changeFavouritePlayer() {
+ toMale(player1);
+ toFemale(player2);
+ favouritePlayer(player1);
+ viewService();
+ assertEquals(maleItem, stackLayout.getTopElement());
+ favouritePlayer(player2);
+ assertEquals(femaleItem, stackLayout.getTopElement());
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/DynamicDMRStackItemViewService_Test.java b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/DynamicDMRStackItemViewService_Test.java
deleted file mode 100644
index b1c3634..0000000
--- a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/DynamicDMRStackItemViewService_Test.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Johannes Faltermeier - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.stack.ui.swt.test;
-
-import static org.junit.Assert.assertEquals;
-
-import org.eclipse.emf.ecp.view.internal.stack.ui.swt.StackItemViewService;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
-import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
-import org.eclipse.emf.ecp.view.spi.stack.model.VStackItem;
-import org.eclipse.emf.ecp.view.spi.stack.model.VStackLayout;
-import org.eclipse.emf.emfstore.bowling.BowlingFactory;
-import org.eclipse.emf.emfstore.bowling.BowlingPackage;
-import org.eclipse.emf.emfstore.bowling.Fan;
-import org.eclipse.emf.emfstore.bowling.Gender;
-import org.eclipse.emf.emfstore.bowling.Player;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class DynamicDMRStackItemViewService_Test {
-
- private Fan fan;
- private ViewModelContext context;
- private VView view;
- private VStackLayout stackLayout;
- private VStackItem femaleItem;
- private VStackItem maleItem;
- private Player player1;
- private Player player2;
-
- @After
- public void after() {
- if (context != null) {
- context.dispose();
- }
- }
-
- @Before
- public void before() {
- fan = BowlingFactory.eINSTANCE.createFan();
- player1 = BowlingFactory.eINSTANCE.createPlayer();
- player2 = BowlingFactory.eINSTANCE.createPlayer();
-
- view = VViewFactory.eINSTANCE.createView();
- view.setRootEClass(BowlingPackage.eINSTANCE.getFan());
-
- stackLayout = TestUtil.createStack(BowlingPackage.eINSTANCE.getPlayer_Gender(),
- BowlingPackage.eINSTANCE.getFan_FavouritePlayer());
- view.getChildren().add(stackLayout);
-
- femaleItem = TestUtil.createItem(Gender.FEMALE, BowlingPackage.eINSTANCE.getPlayer_DateOfBirth());
- stackLayout.getStackItems().add(femaleItem);
-
- maleItem = TestUtil.createItem(Gender.MALE, BowlingPackage.eINSTANCE.getPlayer_EMails());
- stackLayout.getStackItems().add(maleItem);
- }
-
- private void toMale(Player player) {
- player.setGender(Gender.MALE);
- }
-
- private void toFemale(Player player) {
- player.setGender(Gender.FEMALE);
- }
-
- private void favouritePlayer(Player player) {
- fan.setFavouritePlayer(player);
- }
-
- private StackItemViewService viewService() {
- final StackItemViewService unsetService = new StackItemViewService();
- context = ViewModelContextFactory.INSTANCE.createViewModelContext(view, fan);
- unsetService.instantiate(context);
- return unsetService;
- }
-
- @Test
- public void changeFavouritePlayer() {
- toMale(player1);
- toFemale(player2);
- favouritePlayer(player1);
- viewService();
- assertEquals(maleItem, stackLayout.getTopElement());
- favouritePlayer(player2);
- assertEquals(femaleItem, stackLayout.getTopElement());
- }
-
-}
diff --git a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/StackItemViewService_PTest.java b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/StackItemViewService_PTest.java
new file mode 100644
index 0000000..824f204
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/StackItemViewService_PTest.java
@@ -0,0 +1,186 @@
+/**
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ */
+package org.eclipse.emf.ecp.view.stack.ui.swt.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.internal.stack.ui.swt.StackItemViewService;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.stack.model.VStackItem;
+import org.eclipse.emf.ecp.view.spi.stack.model.VStackLayout;
+import org.eclipse.emf.emfstore.bowling.BowlingFactory;
+import org.eclipse.emf.emfstore.bowling.BowlingPackage;
+import org.eclipse.emf.emfstore.bowling.Gender;
+import org.eclipse.emf.emfstore.bowling.Player;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class StackItemViewService_PTest {
+
+ private static final String NAME = "Name";
+ private DefaultRealm realm;
+ private Player domain;
+ private ViewModelContext context;
+ private VView view;
+ private VStackLayout stackLayout;
+ private VStackItem femaleItem;
+ private VStackItem maleItem;
+
+ @After
+ public void after() {
+ context.dispose();
+ realm.dispose();
+ }
+
+ @Before
+ public void before() {
+ realm = new DefaultRealm();
+
+ domain = BowlingFactory.eINSTANCE.createPlayer();
+
+ view = VViewFactory.eINSTANCE.createView();
+ view.setRootEClass(BowlingPackage.eINSTANCE.getPlayer());
+
+ stackLayout = TestUtil.createStack(BowlingPackage.eINSTANCE.getPlayer_Gender());
+ view.getChildren().add(stackLayout);
+
+ femaleItem = TestUtil.createItem(Gender.FEMALE, BowlingPackage.eINSTANCE.getPlayer_DateOfBirth());
+ stackLayout.getStackItems().add(femaleItem);
+
+ maleItem = TestUtil.createItem(Gender.MALE, BowlingPackage.eINSTANCE.getPlayer_EMails());
+ stackLayout.getStackItems().add(maleItem);
+ }
+
+ private void domainToMale() {
+ domain.setGender(Gender.MALE);
+ }
+
+ private void domainToFemale() {
+ domain.setGender(Gender.FEMALE);
+ }
+
+ private StackItemViewService viewService() {
+ final StackItemViewService stackService = new StackItemViewService();
+ context = ViewModelContextFactory.INSTANCE.createViewModelContext(view, domain);
+ stackService.instantiate(context);
+ return stackService;
+ }
+
+ @Test
+ public void initMale() {
+ domainToMale();
+ viewService();
+ assertEquals(maleItem, stackLayout.getTopElement());
+ }
+
+ @Test
+ public void initFemale() {
+ domainToFemale();
+ viewService();
+ assertEquals(femaleItem, stackLayout.getTopElement());
+ }
+
+ @Test
+ public void initMultipleStacksDifferentDMRs() {
+ final VStackLayout stack2 = TestUtil.createStack(BowlingPackage.eINSTANCE.getPlayer_Name());
+ final VStackItem item2 = TestUtil.createItem(NAME, BowlingPackage.eINSTANCE.getPlayer_IsProfessional());
+ stack2.getStackItems().add(item2);
+ view.getChildren().add(stack2);
+ domainToMale();
+ domain.setName(NAME);
+
+ viewService();
+
+ assertEquals(maleItem, stackLayout.getTopElement());
+ assertEquals(item2, stack2.getTopElement());
+ }
+
+ @Test
+ public void initMultipleStacksSameDMRs() {
+ final VStackLayout stack2 = TestUtil.createStack(BowlingPackage.eINSTANCE.getPlayer_Gender());
+ final VStackItem item2 = TestUtil
+ .createItem(Gender.FEMALE, BowlingPackage.eINSTANCE.getPlayer_IsProfessional());
+ stack2.getStackItems().add(item2);
+ view.getChildren().add(stack2);
+ domainToFemale();
+
+ viewService();
+
+ assertEquals(femaleItem, stackLayout.getTopElement());
+ assertEquals(item2, stack2.getTopElement());
+ }
+
+ @Test
+ public void initWithNullExpected() {
+ stackLayout.setDomainModelReference(TestUtil.createDMR(BowlingPackage.eINSTANCE.getPlayer_Name()));
+ maleItem.setValue(null);
+ domain.setName(null);
+ viewService();
+ assertEquals(maleItem, stackLayout.getTopElement());
+ }
+
+ /**
+ * Should not cause exceptions.
+ */
+ @Test
+ public void initWithoutDMR() {
+ stackLayout.setDomainModelReference(null);
+ viewService();
+ assertNull(stackLayout.getTopElement());
+ }
+
+ /**
+ * Should not cause exceptions.
+ */
+ @Test
+ public void initWithUnusableDMR() {
+ stackLayout.setDomainModelReference(TestUtil.createDMR(BowlingPackage.eINSTANCE.getFan_DateOfBirth()));
+ viewService();
+ assertNull(stackLayout.getTopElement());
+ }
+
+ @Test
+ public void dynamicFemaleToMale() {
+ domainToFemale();
+ viewService();
+ domainToMale();
+ assertEquals(maleItem, stackLayout.getTopElement());
+ }
+
+ /**
+ * Should not cause problems.
+ */
+ @Test
+ public void dynamicUnrelatedChange() {
+ domainToFemale();
+ viewService();
+ domain.setName(NAME);
+ assertEquals(femaleItem, stackLayout.getTopElement());
+ }
+
+ @Test
+ public void enumSetToValueWithoutItem() {
+ stackLayout.getStackItems().remove(maleItem);
+ domainToFemale();
+ viewService();
+ assertEquals(femaleItem, stackLayout.getTopElement());
+ domainToMale();
+ assertNull(stackLayout.getTopElement());
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/StackItemViewService_Test.java b/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/StackItemViewService_Test.java
deleted file mode 100644
index e02ac78..0000000
--- a/tests/org.eclipse.emf.ecp.view.stack.ui.swt.test/src/org/eclipse/emf/ecp/view/stack/ui/swt/test/StackItemViewService_Test.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/**
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Johannes Faltermeier - initial API and implementation
- */
-package org.eclipse.emf.ecp.view.stack.ui.swt.test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-
-import org.eclipse.emf.ecp.view.internal.stack.ui.swt.StackItemViewService;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
-import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
-import org.eclipse.emf.ecp.view.spi.stack.model.VStackItem;
-import org.eclipse.emf.ecp.view.spi.stack.model.VStackLayout;
-import org.eclipse.emf.emfstore.bowling.BowlingFactory;
-import org.eclipse.emf.emfstore.bowling.BowlingPackage;
-import org.eclipse.emf.emfstore.bowling.Gender;
-import org.eclipse.emf.emfstore.bowling.Player;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class StackItemViewService_Test {
-
- private static final String NAME = "Name";
- private Player domain;
- private ViewModelContext context;
- private VView view;
- private VStackLayout stackLayout;
- private VStackItem femaleItem;
- private VStackItem maleItem;
-
- @After
- public void after() {
- context.dispose();
- }
-
- @Before
- public void before() {
- domain = BowlingFactory.eINSTANCE.createPlayer();
-
- view = VViewFactory.eINSTANCE.createView();
- view.setRootEClass(BowlingPackage.eINSTANCE.getPlayer());
-
- stackLayout = TestUtil.createStack(BowlingPackage.eINSTANCE.getPlayer_Gender());
- view.getChildren().add(stackLayout);
-
- femaleItem = TestUtil.createItem(Gender.FEMALE, BowlingPackage.eINSTANCE.getPlayer_DateOfBirth());
- stackLayout.getStackItems().add(femaleItem);
-
- maleItem = TestUtil.createItem(Gender.MALE, BowlingPackage.eINSTANCE.getPlayer_EMails());
- stackLayout.getStackItems().add(maleItem);
- }
-
- private void domainToMale() {
- domain.setGender(Gender.MALE);
- }
-
- private void domainToFemale() {
- domain.setGender(Gender.FEMALE);
- }
-
- private StackItemViewService viewService() {
- final StackItemViewService stackService = new StackItemViewService();
- context = ViewModelContextFactory.INSTANCE.createViewModelContext(view, domain);
- stackService.instantiate(context);
- return stackService;
- }
-
- @Test
- public void initMale() {
- domainToMale();
- viewService();
- assertEquals(maleItem, stackLayout.getTopElement());
- }
-
- @Test
- public void initFemale() {
- domainToFemale();
- viewService();
- assertEquals(femaleItem, stackLayout.getTopElement());
- }
-
- @Test
- public void initMultipleStacksDifferentDMRs() {
- final VStackLayout stack2 = TestUtil.createStack(BowlingPackage.eINSTANCE.getPlayer_Name());
- final VStackItem item2 = TestUtil.createItem(NAME, BowlingPackage.eINSTANCE.getPlayer_IsProfessional());
- stack2.getStackItems().add(item2);
- view.getChildren().add(stack2);
- domainToMale();
- domain.setName(NAME);
-
- viewService();
-
- assertEquals(maleItem, stackLayout.getTopElement());
- assertEquals(item2, stack2.getTopElement());
- }
-
- @Test
- public void initMultipleStacksSameDMRs() {
- final VStackLayout stack2 = TestUtil.createStack(BowlingPackage.eINSTANCE.getPlayer_Gender());
- final VStackItem item2 = TestUtil
- .createItem(Gender.FEMALE, BowlingPackage.eINSTANCE.getPlayer_IsProfessional());
- stack2.getStackItems().add(item2);
- view.getChildren().add(stack2);
- domainToFemale();
-
- viewService();
-
- assertEquals(femaleItem, stackLayout.getTopElement());
- assertEquals(item2, stack2.getTopElement());
- }
-
- @Test
- public void initWithNullExpected() {
- stackLayout.setDomainModelReference(TestUtil.createDMR(BowlingPackage.eINSTANCE.getPlayer_Name()));
- maleItem.setValue(null);
- domain.setName(null);
- viewService();
- assertEquals(maleItem, stackLayout.getTopElement());
- }
-
- /**
- * Should not cause exceptions.
- */
- @Test
- public void initWithoutDMR() {
- stackLayout.setDomainModelReference(null);
- viewService();
- assertNull(stackLayout.getTopElement());
- }
-
- /**
- * Should not cause exceptions.
- */
- @Test
- public void initWithUnusableDMR() {
- stackLayout.setDomainModelReference(TestUtil.createDMR(BowlingPackage.eINSTANCE.getFan_DateOfBirth()));
- viewService();
- assertNull(stackLayout.getTopElement());
- }
-
- @Test
- public void dynamicFemaleToMale() {
- domainToFemale();
- viewService();
- domainToMale();
- assertEquals(maleItem, stackLayout.getTopElement());
- }
-
- /**
- * Should not cause problems.
- */
- @Test
- public void dynamicUnrelatedChange() {
- domainToFemale();
- viewService();
- domain.setName(NAME);
- assertEquals(femaleItem, stackLayout.getTopElement());
- }
-
- @Test
- public void enumSetToValueWithoutItem() {
- stackLayout.getStackItems().remove(maleItem);
- domainToFemale();
- viewService();
- assertEquals(femaleItem, stackLayout.getTopElement());
- domainToMale();
- assertNull(stackLayout.getTopElement());
- }
-
-}
diff --git a/tests/org.eclipse.emf.ecp.view.table.model.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.table.model.test/META-INF/MANIFEST.MF
index c8dee2c..e826020 100644
--- a/tests/org.eclipse.emf.ecp.view.table.model.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.table.model.test/META-INF/MANIFEST.MF
@@ -2,11 +2,12 @@
Bundle-ManifestVersion: 2
Bundle-Name: Table Model Test
Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.model.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.view.table.model;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
- org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.4.0,1.5.0)"
-Export-Package: org.eclipse.emf.ecp.view.table.model.test;version="1.5
- .1";x-internal:=true
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.4.0,2.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.view.spi.table.model.util;version="1.6.0",
+ org.eclipse.emf.ecp.view.table.model.test;version="1.6.0";x-internal:=true
Bundle-Vendor: Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.ecp.view.table.model.test/pom.xml b/tests/org.eclipse.emf.ecp.view.table.model.test/pom.xml
index 5c02c69..53cae25 100644
--- a/tests/org.eclipse.emf.ecp.view.table.model.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.table.model.test/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.table.model.test</artifactId>
<packaging>eclipse-plugin</packaging>
<groupId>org.eclipse.emf.ecp</groupId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.table.model.test/src/org/eclipse/emf/ecp/view/spi/table/model/util/TableDMRValidation_Test.java b/tests/org.eclipse.emf.ecp.view.table.model.test/src/org/eclipse/emf/ecp/view/spi/table/model/util/TableDMRValidation_Test.java
new file mode 100644
index 0000000..06d2f6d
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.table.model.test/src/org/eclipse/emf/ecp/view/spi/table/model/util/TableDMRValidation_Test.java
@@ -0,0 +1,455 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * jfaltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.table.model.util;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.core.databinding.property.Properties;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emf.ecp.view.spi.model.util.ViewValidator;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableFactory;
+import org.eclipse.emf.ecp.view.spi.table.model.VTablePackage;
+import org.eclipse.emf.emfstore.bowling.BowlingPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+import org.mockito.Mockito;
+
+/**
+ * @author jfaltermeier
+ *
+ */
+@RunWith(Parameterized.class)
+public class TableDMRValidation_Test {
+ private VView view;
+ private VControl control;
+ private VTableDomainModelReference table;
+
+ private TableValidator validator;
+ private BasicDiagnostic chain;
+ private LinkedHashMap<Object, Object> context;
+ private final Boolean createChain;
+ private VFeaturePathDomainModelReference column1;
+ private VFeaturePathDomainModelReference column2;
+ private VFeaturePathDomainModelReference tableDMR;
+ private EMFFormsDatabinding emfFormsDatabinding;
+
+ public TableDMRValidation_Test(Boolean createChain) {
+ this.createChain = createChain;
+ }
+
+ @Parameters
+ public static Collection<Object[]> data() {
+ // run all tests once with a diagnostic chain and once without
+ final List<Object[]> parameters = new ArrayList<Object[]>();
+ parameters.add(new Object[] { true });
+ parameters.add(new Object[] { false });
+ return parameters;
+ }
+
+ @Before
+ public void before() {
+ view = VViewFactory.eINSTANCE.createView();
+ view.setRootEClass(BowlingPackage.eINSTANCE.getReferee());
+ control = VViewFactory.eINSTANCE.createControl();
+ view.getChildren().add(control);
+ table = VTableFactory.eINSTANCE.createTableDomainModelReference();
+ tableDMR = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ table.setDomainModelReference(tableDMR);
+ column1 = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ column2 = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ table.getColumnDomainModelReferences().add(column1);
+ table.getColumnDomainModelReferences().add(column2);
+ control.setDomainModelReference(table);
+
+ emfFormsDatabinding = Mockito.mock(EMFFormsDatabinding.class);
+ validator = new TableValidator(emfFormsDatabinding);
+ context = new LinkedHashMap<Object, Object>();
+ if (createChain) {
+ chain = new BasicDiagnostic();
+ } else {
+ chain = null;
+ }
+ }
+
+ private void noContainer() {
+ control.eUnset(VViewPackage.eINSTANCE.getControl_DomainModelReference());
+ }
+
+ private void okTable() {
+ final VFeaturePathDomainModelReference ref = (VFeaturePathDomainModelReference) table.getDomainModelReference();
+ ref.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getReferee_League());
+ ref.setDomainModelEFeature(BowlingPackage.eINSTANCE.getLeague_Players());
+ table.setDomainModelReference(ref);
+ try {
+ Mockito.doReturn(Properties.selfValue(BowlingPackage.eINSTANCE.getLeague_Players())).when(
+ emfFormsDatabinding).getValueProperty(ref, null);
+ } catch (final DatabindingFailedException ex) {
+ fail(ex.getMessage());
+ }
+ }
+
+ private void okColumn1() {
+ column1.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
+ try {
+ Mockito.doReturn(Properties.selfValue(BowlingPackage.eINSTANCE.getPlayer_Name())).when(
+ emfFormsDatabinding).getValueProperty(column1, null);
+ } catch (final DatabindingFailedException ex) {
+ fail(ex.getMessage());
+ }
+ }
+
+ private void okColumn2() {
+ column2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Gender());
+ try {
+ Mockito.doReturn(Properties.selfValue(BowlingPackage.eINSTANCE.getPlayer_Gender())).when(
+ emfFormsDatabinding).getValueProperty(column2, null);
+ } catch (final DatabindingFailedException ex) {
+ fail(ex.getMessage());
+ }
+ }
+
+ private boolean validate() {
+ return validator.validate(table, chain, context);
+ }
+
+ private DiagnosticInfo controlDMR() {
+ return new DiagnosticInfo(Diagnostic.ERROR, control, VViewPackage.eINSTANCE.getControl_DomainModelReference());
+ }
+
+ private DiagnosticInfo controlDMRWarning() {
+ return new DiagnosticInfo(Diagnostic.WARNING, control, VViewPackage.eINSTANCE.getControl_DomainModelReference());
+ }
+
+ private DiagnosticInfo tableDMR() {
+ return new DiagnosticInfo(Diagnostic.ERROR, table,
+ VTablePackage.eINSTANCE.getTableDomainModelReference_DomainModelReference());
+ }
+
+ private DiagnosticInfo tableDMREFeature() {
+ return new DiagnosticInfo(Diagnostic.ERROR, table.getDomainModelReference(),
+ VViewPackage.eINSTANCE.getFeaturePathDomainModelReference_DomainModelEFeature());
+ }
+
+ private DiagnosticInfo tableDMRPath() {
+ return new DiagnosticInfo(Diagnostic.ERROR, table.getDomainModelReference(),
+ VViewPackage.eINSTANCE.getFeaturePathDomainModelReference_DomainModelEReferencePath());
+ }
+
+ private DiagnosticInfo tableColumns() {
+ return new DiagnosticInfo(Diagnostic.WARNING, table,
+ VTablePackage.eINSTANCE.getTableDomainModelReference_ColumnDomainModelReferences());
+ }
+
+ @Test
+ public void testNoColumns() {
+ table.getColumnDomainModelReferences().clear();
+ okTable();
+ assertTrue(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.OK, chain.getSeverity());
+ assertChain();
+ }
+ }
+
+ @Test
+ public void testNoColumnsNoContainer() {
+ noContainer();
+ table.getColumnDomainModelReferences().clear();
+ okTable();
+ assertTrue(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.OK, chain.getSeverity());
+ assertChain();
+ }
+ }
+
+ @Test
+ public void testNoEFeatureOnPathToTable() {
+ okTable();
+ okColumn1();
+ okColumn2();
+ tableDMR.setDomainModelEFeature(null);
+ assertFalse(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.ERROR, chain.getSeverity());
+ assertChain(controlDMR(), tableDMR(), tableDMREFeature());
+ }
+ }
+
+ @Test
+ public void testNoEFeatureOnPathToTableNoContainer() {
+ noContainer();
+ okTable();
+ okColumn1();
+ okColumn2();
+ tableDMR.setDomainModelEFeature(null);
+ assertFalse(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.ERROR, chain.getSeverity());
+ assertChain(tableDMR(), tableDMREFeature());
+ }
+ }
+
+ @Test
+ public void testBadReferenceOnPathToTable() {
+ okTable();
+ okColumn1();
+ okColumn2();
+ tableDMR.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FanMerchandise());
+ assertFalse(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.ERROR, chain.getSeverity());
+ assertChain(controlDMR(), tableDMR(), tableDMRPath());
+ }
+ }
+
+ @Test
+ public void testBadReferenceOnPathToTableNoContainer() {
+ noContainer();
+ okTable();
+ okColumn1();
+ okColumn2();
+ tableDMR.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FanMerchandise());
+ assertFalse(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.ERROR, chain.getSeverity());
+ assertChain(tableDMR(), tableDMRPath());
+ }
+ }
+
+ @Test
+ public void testBadEFeatureSingleRef() {
+ okColumn1();
+ okColumn2();
+ view.setRootEClass(BowlingPackage.eINSTANCE.getFan());
+ tableDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_FavouritePlayer());
+ try {
+ Mockito.doReturn(Properties.selfValue(BowlingPackage.eINSTANCE.getFan_FavouritePlayer())).when(
+ emfFormsDatabinding).getValueProperty(tableDMR, null);
+ } catch (final DatabindingFailedException ex) {
+ fail(ex.getMessage());
+ }
+ assertFalse(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.ERROR, chain.getSeverity());
+ assertChain(controlDMR(), tableDMR());
+ }
+ }
+
+ @Test
+ public void testBadEFeatureSingleRefNoContainer() {
+ noContainer();
+ okColumn1();
+ okColumn2();
+ view.setRootEClass(BowlingPackage.eINSTANCE.getFan());
+ tableDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_FavouritePlayer());
+ try {
+ Mockito.doReturn(Properties.selfValue(BowlingPackage.eINSTANCE.getFan_FavouritePlayer())).when(
+ emfFormsDatabinding).getValueProperty(tableDMR, null);
+ } catch (final DatabindingFailedException ex) {
+ fail(ex.getMessage());
+ }
+ assertFalse(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.ERROR, chain.getSeverity());
+ assertChain(tableDMR());
+ }
+ }
+
+ @Test
+ public void testBadEFeatureAttribute() {
+ okColumn1();
+ okColumn2();
+ view.setRootEClass(BowlingPackage.eINSTANCE.getFan());
+ tableDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_EMails());
+ try {
+ Mockito.doReturn(Properties.selfValue(BowlingPackage.eINSTANCE.getFan_EMails())).when(
+ emfFormsDatabinding).getValueProperty(tableDMR, null);
+ } catch (final DatabindingFailedException ex) {
+ fail(ex.getMessage());
+ }
+ assertFalse(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.ERROR, chain.getSeverity());
+ assertChain(controlDMR(), tableDMR());
+ }
+ }
+
+ @Test
+ public void testBadEFeatureAttributeNoContainer() {
+ noContainer();
+ okColumn1();
+ okColumn2();
+ view.setRootEClass(BowlingPackage.eINSTANCE.getFan());
+ tableDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_EMails());
+ try {
+ Mockito.doReturn(Properties.selfValue(BowlingPackage.eINSTANCE.getFan_EMails())).when(
+ emfFormsDatabinding).getValueProperty(tableDMR, null);
+ } catch (final DatabindingFailedException ex) {
+ fail(ex.getMessage());
+ }
+ assertFalse(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.ERROR, chain.getSeverity());
+ assertChain(tableDMR());
+ }
+ }
+
+ @Test
+ public void testBadColumn() {
+ okTable();
+ okColumn1();
+ column2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_Gender());
+ assertFalse(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.WARNING, chain.getSeverity());
+ assertChain(controlDMRWarning(), tableColumns());
+ }
+ }
+
+ @Test
+ public void testBadColumnNoContainer() {
+ noContainer();
+ okTable();
+ okColumn1();
+ column2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_Gender());
+ assertFalse(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.WARNING, chain.getSeverity());
+ assertChain(tableColumns());
+ }
+ }
+
+ @Test
+ public void testOK() {
+ okColumn1();
+ okColumn2();
+ okTable();
+ assertTrue(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.OK, chain.getSeverity());
+ assertChain();
+ }
+ }
+
+ @Test
+ public void testOKNoContainer() {
+ noContainer();
+ okColumn1();
+ okColumn2();
+ okTable();
+ assertTrue(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.OK, chain.getSeverity());
+ assertChain();
+ }
+ }
+
+ @Test
+ public void testBadRootEClass() {
+ okColumn1();
+ okColumn2();
+ okTable();
+ view.setRootEClass(BowlingPackage.eINSTANCE.getFan());
+ assertFalse(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.ERROR, chain.getSeverity());
+ assertChain(controlDMR(), tableDMR(), tableDMRPath());
+ }
+ }
+
+ @Test
+ public void testBadRootEClassGoodRootEClassInContext() {
+ okColumn1();
+ okColumn2();
+ okTable();
+ view.setRootEClass(BowlingPackage.eINSTANCE.getFan());
+ context.put(ViewValidator.ECLASS_KEY, BowlingPackage.eINSTANCE.getReferee());
+ assertTrue(validate());
+ if (createChain) {
+ assertEquals(Diagnostic.OK, chain.getSeverity());
+ assertChain();
+ }
+ }
+
+ private void assertChain(DiagnosticInfo... infos) {
+ final Set<DiagnosticInfo> infoSet = new LinkedHashSet<DiagnosticInfo>(Arrays.asList(infos));
+ assertEquals(infos.length, chain.getChildren().size());
+ for (final Diagnostic child : chain.getChildren()) {
+ boolean found = false;
+ final Iterator<DiagnosticInfo> iterator = infoSet.iterator();
+ while (iterator.hasNext()) {
+ final DiagnosticInfo next = iterator.next();
+ if (next.sameData(child)) {
+ found = true;
+ iterator.remove();
+ break;
+ }
+ }
+ if (!found) {
+ fail("Chain is missing child diagnostic."); //$NON-NLS-1$
+ }
+ }
+ }
+
+ private class DiagnosticInfo {
+ private final int severity;
+ private final EObject object;
+ private final EStructuralFeature feature;
+
+ public DiagnosticInfo(int severity, EObject object, EStructuralFeature feature) {
+ this.severity = severity;
+ this.object = object;
+ this.feature = feature;
+ }
+
+ public boolean sameData(Diagnostic diagnostic) {
+ if (diagnostic.getSeverity() != severity) {
+ return false;
+ }
+ if (!object.equals(diagnostic.getData().get(0))) {
+ return false;
+ }
+ if (!feature.equals(diagnostic.getData().get(1))) {
+ return false;
+ }
+ return true;
+ }
+
+ }
+}
diff --git a/tests/org.eclipse.emf.ecp.view.table.model.test/src/org/eclipse/emf/ecp/view/table/model/test/AllTests.java b/tests/org.eclipse.emf.ecp.view.table.model.test/src/org/eclipse/emf/ecp/view/table/model/test/AllTests.java
new file mode 100644
index 0000000..e267243
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.table.model.test/src/org/eclipse/emf/ecp/view/table/model/test/AllTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.table.model.test;
+
+import org.eclipse.emf.ecp.view.spi.table.model.util.TableDMRValidation_Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * JUnit Test Suite for ecp.view.table.model .
+ *
+ * @author Eugen Neufeld
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ TableDMRValidation_Test.class })
+public class AllTests {
+ // JUnit 4 Test suite
+}
diff --git a/tests/org.eclipse.emf.ecp.view.table.model.test/src/org/eclipse/emf/ecp/view/table/model/test/TableDMRValidation_Test.java b/tests/org.eclipse.emf.ecp.view.table.model.test/src/org/eclipse/emf/ecp/view/table/model/test/TableDMRValidation_Test.java
deleted file mode 100644
index 45776c3..0000000
--- a/tests/org.eclipse.emf.ecp.view.table.model.test/src/org/eclipse/emf/ecp/view/table/model/test/TableDMRValidation_Test.java
+++ /dev/null
@@ -1,409 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * jfaltermeier - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.table.model.test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.emf.common.util.BasicDiagnostic;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EValidator;
-import org.eclipse.emf.ecp.view.spi.model.VControl;
-import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
-import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
-import org.eclipse.emf.ecp.view.spi.model.util.ViewValidator;
-import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.table.model.VTableFactory;
-import org.eclipse.emf.ecp.view.spi.table.model.VTablePackage;
-import org.eclipse.emf.ecp.view.spi.table.model.util.TableValidator;
-import org.eclipse.emf.emfstore.bowling.BowlingPackage;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-/**
- * @author jfaltermeier
- *
- */
-@RunWith(Parameterized.class)
-public class TableDMRValidation_Test {
- private VView view;
- private VControl control;
- private VTableDomainModelReference table;
-
- private EValidator validator;
- private BasicDiagnostic chain;
- private LinkedHashMap<Object, Object> context;
- private final Boolean createChain;
- private VFeaturePathDomainModelReference column1;
- private VFeaturePathDomainModelReference column2;
- private VFeaturePathDomainModelReference tableDMR;
-
- public TableDMRValidation_Test(Boolean createChain) {
- this.createChain = createChain;
- }
-
- @Parameters
- public static Collection<Object[]> data() {
- // run all tests once with a diagnostic chain and once without
- final List<Object[]> parameters = new ArrayList<Object[]>();
- parameters.add(new Object[] { true });
- parameters.add(new Object[] { false });
- return parameters;
- }
-
- @Before
- public void before() {
- view = VViewFactory.eINSTANCE.createView();
- view.setRootEClass(BowlingPackage.eINSTANCE.getReferee());
- control = VViewFactory.eINSTANCE.createControl();
- view.getChildren().add(control);
- table = VTableFactory.eINSTANCE.createTableDomainModelReference();
- tableDMR = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- table.setDomainModelReference(tableDMR);
- column1 = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- column2 = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- table.getColumnDomainModelReferences().add(column1);
- table.getColumnDomainModelReferences().add(column2);
- control.setDomainModelReference(table);
-
- validator = TableValidator.INSTANCE;
- context = new LinkedHashMap<Object, Object>();
- if (createChain) {
- chain = new BasicDiagnostic();
- } else {
- chain = null;
- }
- }
-
- private void noContainer() {
- control.eUnset(VViewPackage.eINSTANCE.getControl_DomainModelReference());
- }
-
- private void okTable() {
- final VFeaturePathDomainModelReference ref = (VFeaturePathDomainModelReference) table.getDomainModelReference();
- ref.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getReferee_League());
- ref.setDomainModelEFeature(BowlingPackage.eINSTANCE.getLeague_Players());
- table.setDomainModelReference(ref);
- }
-
- private void okColumn1() {
- column1.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Name());
- }
-
- private void okColumn2() {
- column2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getPlayer_Gender());
- }
-
- private boolean validate() {
- return validator.validate(table, chain, context);
- }
-
- private DiagnosticInfo controlDMR() {
- return new DiagnosticInfo(Diagnostic.ERROR, control, VViewPackage.eINSTANCE.getControl_DomainModelReference());
- }
-
- private DiagnosticInfo controlDMRWarning() {
- return new DiagnosticInfo(Diagnostic.WARNING, control, VViewPackage.eINSTANCE.getControl_DomainModelReference());
- }
-
- private DiagnosticInfo tableDMR() {
- return new DiagnosticInfo(Diagnostic.ERROR, table,
- VTablePackage.eINSTANCE.getTableDomainModelReference_DomainModelReference());
- }
-
- private DiagnosticInfo tableDMREFeature() {
- return new DiagnosticInfo(Diagnostic.ERROR, table.getDomainModelReference(),
- VViewPackage.eINSTANCE.getFeaturePathDomainModelReference_DomainModelEFeature());
- }
-
- private DiagnosticInfo tableDMRPath() {
- return new DiagnosticInfo(Diagnostic.ERROR, table.getDomainModelReference(),
- VViewPackage.eINSTANCE.getFeaturePathDomainModelReference_DomainModelEReferencePath());
- }
-
- private DiagnosticInfo tableColumns() {
- return new DiagnosticInfo(Diagnostic.WARNING, table,
- VTablePackage.eINSTANCE.getTableDomainModelReference_ColumnDomainModelReferences());
- }
-
- @Test
- public void testNoColumns() {
- table.getColumnDomainModelReferences().clear();
- okTable();
- assertTrue(validate());
- if (createChain) {
- assertEquals(Diagnostic.OK, chain.getSeverity());
- assertChain();
- }
- }
-
- @Test
- public void testNoColumnsNoContainer() {
- noContainer();
- table.getColumnDomainModelReferences().clear();
- okTable();
- assertTrue(validate());
- if (createChain) {
- assertEquals(Diagnostic.OK, chain.getSeverity());
- assertChain();
- }
- }
-
- @Test
- public void testNoEFeatureOnPathToTable() {
- okTable();
- okColumn1();
- okColumn2();
- tableDMR.setDomainModelEFeature(null);
- assertFalse(validate());
- if (createChain) {
- assertEquals(Diagnostic.ERROR, chain.getSeverity());
- assertChain(controlDMR(), tableDMR(), tableDMREFeature());
- }
- }
-
- @Test
- public void testNoEFeatureOnPathToTableNoContainer() {
- noContainer();
- okTable();
- okColumn1();
- okColumn2();
- tableDMR.setDomainModelEFeature(null);
- assertFalse(validate());
- if (createChain) {
- assertEquals(Diagnostic.ERROR, chain.getSeverity());
- assertChain(tableDMR(), tableDMREFeature());
- }
- }
-
- @Test
- public void testBadReferenceOnPathToTable() {
- okTable();
- okColumn1();
- okColumn2();
- tableDMR.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FanMerchandise());
- assertFalse(validate());
- if (createChain) {
- assertEquals(Diagnostic.ERROR, chain.getSeverity());
- assertChain(controlDMR(), tableDMR(), tableDMRPath());
- }
- }
-
- @Test
- public void testBadReferenceOnPathToTableNoContainer() {
- noContainer();
- okTable();
- okColumn1();
- okColumn2();
- tableDMR.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FanMerchandise());
- assertFalse(validate());
- if (createChain) {
- assertEquals(Diagnostic.ERROR, chain.getSeverity());
- assertChain(tableDMR(), tableDMRPath());
- }
- }
-
- @Test
- public void testBadEFeatureSingleRef() {
- okColumn1();
- okColumn2();
- view.setRootEClass(BowlingPackage.eINSTANCE.getFan());
- tableDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_FavouritePlayer());
- assertFalse(validate());
- if (createChain) {
- assertEquals(Diagnostic.ERROR, chain.getSeverity());
- assertChain(controlDMR(), tableDMR());
- }
- }
-
- @Test
- public void testBadEFeatureSingleRefNoContainer() {
- noContainer();
- okColumn1();
- okColumn2();
- view.setRootEClass(BowlingPackage.eINSTANCE.getFan());
- tableDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_FavouritePlayer());
- assertFalse(validate());
- if (createChain) {
- assertEquals(Diagnostic.ERROR, chain.getSeverity());
- assertChain(tableDMR());
- }
- }
-
- @Test
- public void testBadEFeatureAttribute() {
- okColumn1();
- okColumn2();
- view.setRootEClass(BowlingPackage.eINSTANCE.getFan());
- tableDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_EMails());
- assertFalse(validate());
- if (createChain) {
- assertEquals(Diagnostic.ERROR, chain.getSeverity());
- assertChain(controlDMR(), tableDMR());
- }
- }
-
- @Test
- public void testBadEFeatureAttributeNoContainer() {
- noContainer();
- okColumn1();
- okColumn2();
- view.setRootEClass(BowlingPackage.eINSTANCE.getFan());
- tableDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_EMails());
- assertFalse(validate());
- if (createChain) {
- assertEquals(Diagnostic.ERROR, chain.getSeverity());
- assertChain(tableDMR());
- }
- }
-
- @Test
- public void testBadColumn() {
- okTable();
- okColumn1();
- column2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_Gender());
- assertFalse(validate());
- if (createChain) {
- assertEquals(Diagnostic.WARNING, chain.getSeverity());
- assertChain(controlDMRWarning(), tableColumns());
- }
- }
-
- @Test
- public void testBadColumnNoContainer() {
- noContainer();
- okTable();
- okColumn1();
- column2.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_Gender());
- assertFalse(validate());
- if (createChain) {
- assertEquals(Diagnostic.WARNING, chain.getSeverity());
- assertChain(tableColumns());
- }
- }
-
- @Test
- public void testOK() {
- okColumn1();
- okColumn2();
- okTable();
- assertTrue(validate());
- if (createChain) {
- assertEquals(Diagnostic.OK, chain.getSeverity());
- assertChain();
- }
- }
-
- @Test
- public void testOKNoContainer() {
- noContainer();
- okColumn1();
- okColumn2();
- okTable();
- assertTrue(validate());
- if (createChain) {
- assertEquals(Diagnostic.OK, chain.getSeverity());
- assertChain();
- }
- }
-
- @Test
- public void testBadRootEClass() {
- okColumn1();
- okColumn2();
- okTable();
- view.setRootEClass(BowlingPackage.eINSTANCE.getFan());
- assertFalse(validate());
- if (createChain) {
- assertEquals(Diagnostic.ERROR, chain.getSeverity());
- assertChain(controlDMR(), tableDMR(), tableDMRPath());
- }
- }
-
- @Test
- public void testBadRootEClassGoodRootEClassInContext() {
- okColumn1();
- okColumn2();
- okTable();
- view.setRootEClass(BowlingPackage.eINSTANCE.getFan());
- context.put(ViewValidator.ECLASS_KEY, BowlingPackage.eINSTANCE.getReferee());
- assertTrue(validate());
- if (createChain) {
- assertEquals(Diagnostic.OK, chain.getSeverity());
- assertChain();
- }
- }
-
- private void assertChain(DiagnosticInfo... infos) {
- final Set<DiagnosticInfo> infoSet = new LinkedHashSet<DiagnosticInfo>(Arrays.asList(infos));
- assertEquals(infos.length, chain.getChildren().size());
- for (final Diagnostic child : chain.getChildren()) {
- boolean found = false;
- final Iterator<DiagnosticInfo> iterator = infoSet.iterator();
- while (iterator.hasNext()) {
- final DiagnosticInfo next = iterator.next();
- if (next.sameData(child)) {
- found = true;
- iterator.remove();
- break;
- }
- }
- if (!found) {
- fail("Chain is missing child diagnostic."); //$NON-NLS-1$
- }
- }
- }
-
- private class DiagnosticInfo {
- private final int severity;
- private final EObject object;
- private final EStructuralFeature feature;
-
- public DiagnosticInfo(int severity, EObject object, EStructuralFeature feature) {
- this.severity = severity;
- this.object = object;
- this.feature = feature;
- }
-
- public boolean sameData(Diagnostic diagnostic) {
- if (diagnostic.getSeverity() != severity) {
- return false;
- }
- if (!object.equals(diagnostic.getData().get(0))) {
- return false;
- }
- if (!feature.equals(diagnostic.getData().get(1))) {
- return false;
- }
- return true;
- }
-
- }
-}
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/All Tests for view.table.ui.swt.launch b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/All Tests for view.table.ui.swt.launch
new file mode 100644
index 0000000..2a6fd47
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/All Tests for view.table.ui.swt.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.table.ui.swt.test.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.table.ui.swt.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.model@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt.test@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/META-INF/MANIFEST.MF
index 50a44ef..527bde9 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Tests for the Group SWT Renderer
Bundle-SymbolicName: org.eclipse.emf.ecp.view.table.ui.swt.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.5.0,2.0.0)",
@@ -19,6 +19,19 @@
org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)",
org.eclipse.equinox.registry;bundle-version="[3.5.400,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.jface;bundle-version="[3.10.0,4.0.0)"
+ org.eclipse.jface;bundle-version="[3.10.0,4.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.common;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.4.200,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.view.table.ui.swt.test;version="1.
- 5.1";x-friends:="org.eclipse.emf.ecp.view.ui.editor.test"
+ 6.0";x-friends:="org.eclipse.emf.ecp.view.ui.editor.test"
+Bundle-ActivationPolicy: lazy
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.6.0,2.0.0)"
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/SWTTable_PTest.launch b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/SWTTable_PTest.launch
deleted file mode 100644
index 0f61cb2..0000000
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/SWTTable_PTest.launch
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="false"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="false"/>
-<booleanAttribute key="includeOptional" value="false"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/SWTTable_PTest.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.ecp.view.table.ui.swt.test.SWTTable_PTest"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.ecp.view.table.ui.swt.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt.test@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="false"/>
-</launchConfiguration>
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/pom.xml
index b8d5103..f3677b1 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.table.ui.swt.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,43 +24,71 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.table.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.validation.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.swt.layout</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.databinding.featurepath</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.emf</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.locale.default</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.table.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.template.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.validation.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.emfstore.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/AllTests.java b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/AllTests.java
index ee23ebc..c82f003 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/AllTests.java
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/AllTests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
*
* Contributors:
* Jonas - initial API and implementation
+ * Lucas Koehler - added SWTTable_Test
******************************************************************************/
package org.eclipse.emf.ecp.view.table.ui.swt.test;
@@ -16,7 +17,7 @@
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
-@SuiteClasses({ SWTTable_PTest.class })
+@SuiteClasses({ SWTTable_PTest.class, SWTTableDatabindingLabel_PTest.class })
public class AllTests {
}
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/SWTTableDatabindingLabel_PTest.java b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/SWTTableDatabindingLabel_PTest.java
new file mode 100644
index 0000000..7ef56d4
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/SWTTableDatabindingLabel_PTest.java
@@ -0,0 +1,300 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.table.ui.swt.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.core.databinding.observable.Observables;
+import org.eclipse.core.databinding.observable.list.IObservableList;
+import org.eclipse.core.databinding.observable.list.WritableList;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.databinding.internal.EMFValueProperty;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecp.view.internal.context.ViewModelContextImpl;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
+import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableFactory;
+import org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * JUnit tests for {@link TableControlSWTRenderer} testing the data binding of the table.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@SuppressWarnings("restriction")
+@RunWith(DatabindingClassRunner.class)
+public class SWTTableDatabindingLabel_PTest {
+ private static final IObservableValue DISPLAYNAME = Observables.constantObservableValue("displayname");
+ private static final IObservableValue DISPLAYNAME_COLUMNS = Observables
+ .constantObservableValue("displayname-columns");
+ private static final IObservableValue DESCRIPTION = Observables.constantObservableValue("description");
+ private static final IObservableValue DESCRIPTION_COLUMNS = Observables
+ .constantObservableValue("description-columns");
+ private EMFFormsDatabinding databindingService;
+ private TableControlSWTRenderer renderer;
+ private Shell shell;
+ private EClass domainModel;
+ private VTableControl vTableControl;
+ private EMFFormsLabelProvider labelProvider;
+
+ /**
+ * Set up executed before every test.
+ * Mocks and registers the databinding and label service.
+ * Creates a new {@link TableControlSWTRenderer} to be tested. Mocks needed parameters and contents (e.g.
+ * VControl, ViewModelContext).
+ *
+ * @throws DatabindingFailedException
+ * @throws NoLabelFoundException
+ */
+ @Before
+ public void setUp() throws DatabindingFailedException, NoLabelFoundException {
+ databindingService = mock(EMFFormsDatabinding.class);
+ labelProvider = mock(EMFFormsLabelProvider.class);
+
+ when(labelProvider.getDescription(any(VDomainModelReference.class))).thenReturn(DESCRIPTION_COLUMNS);
+ when(labelProvider.getDescription(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ DESCRIPTION);
+ when(labelProvider.getDisplayName(any(VDomainModelReference.class))).thenReturn(DISPLAYNAME_COLUMNS);
+ when(labelProvider.getDisplayName(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ DISPLAYNAME);
+
+ shell = new Shell();
+
+ domainModel = EcoreFactory.eINSTANCE.createEClass();
+ final EStructuralFeature eStructuralFeature = EcorePackage.eINSTANCE.getEClass_ESuperTypes();
+
+ final VTableDomainModelReference tableDomainModelReference = createTableDomainModelReference(eStructuralFeature);
+ vTableControl = VTableFactory.eINSTANCE.createTableControl();
+ vTableControl.setDomainModelReference(tableDomainModelReference);
+
+ final IValueProperty valueProperty = new EMFValueProperty(EcorePackage.eINSTANCE.getEClass_ESuperTypes());
+ final IObservableValue observableValue = valueProperty.observe(domainModel);
+ when(databindingService.getObservableValue(vTableControl.getDomainModelReference(), domainModel)).thenReturn(
+ observableValue);
+
+ final ReportService reportservice = mock(ReportService.class);
+ final VTViewTemplateProvider vtViewTemplateProvider = mock(VTViewTemplateProvider.class);
+ final ImageRegistryService imageRegistryService = mock(ImageRegistryService.class);
+ final EMFFormsEditSupport emfFormsEditSupport = mock(EMFFormsEditSupport.class);
+ final ViewModelContext viewContext = new ViewModelContextImpl(vTableControl, domainModel);
+
+ renderer = new TableControlSWTRenderer(vTableControl, viewContext, reportservice, databindingService,
+ labelProvider, vtViewTemplateProvider, imageRegistryService, emfFormsEditSupport);
+ renderer.init();
+ }
+
+ private VTableDomainModelReference createTableDomainModelReference(EStructuralFeature eStructuralFeature) {
+ final VTableDomainModelReference tableDomainModelReference = VTableFactory.eINSTANCE
+ .createTableDomainModelReference();
+ tableDomainModelReference.setDomainModelEFeature(eStructuralFeature);
+
+ final VFeaturePathDomainModelReference columnReference1 = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ columnReference1.setDomainModelEFeature(EcorePackage.eINSTANCE.getEClass_Abstract());
+
+ tableDomainModelReference.getColumnDomainModelReferences().add(columnReference1);
+
+ return tableDomainModelReference;
+ }
+
+ @Test
+ public void testLabelServiceUsage() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ DatabindingFailedException {
+ final IValueProperty columnValueProperty = new EMFValueProperty(EcorePackage.eINSTANCE.getEClass_Abstract());
+ final VDomainModelReference columnDMR = ((VTableDomainModelReference) vTableControl.getDomainModelReference())
+ .getColumnDomainModelReferences().get(0);
+ when(databindingService.getValueProperty(columnDMR, domainModel)).thenReturn(columnValueProperty);
+
+ final Control renderedControl = renderer.render(new SWTGridCell(0, 0, renderer), shell);
+ final Composite composite = (Composite) renderedControl;
+ final Composite titleComposite = (Composite) composite.getChildren()[0];
+ final Label titleLabel = (Label) titleComposite.getChildren()[0];
+
+ assertEquals(DISPLAYNAME.getValue(), titleLabel.getText());
+
+ final Control tableControl = getTable(renderedControl);
+ assertTrue(Table.class.isInstance(tableControl));
+ final Table table = (Table) tableControl;
+ final TableColumn column = table.getColumn(1);
+ assertEquals(DISPLAYNAME_COLUMNS.getValue(), column.getText());
+ assertEquals(DESCRIPTION_COLUMNS.getValue(), column.getToolTipText());
+ }
+
+ /**
+ * Tests the initial binding from the model to the table.
+ *
+ * @throws NoRendererFoundException Renderer could not be found
+ * @throws NoPropertyDescriptorFoundExeption Property descriptor could not be found
+ * @throws DatabindingFailedException if the databinidng failed
+ */
+ @Test
+ public void testDatabindingServiceUsageInitialBinding() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final List<EClass> initialList = createInitialList();
+
+ final WritableList mockedObservableList = new WritableList(initialList, EClass.class);
+
+ final Table table = setUpDatabindingTests(mockedObservableList, initialList.get(0), initialList.get(1));
+
+ assertDatabinding(mockedObservableList, table);
+ }
+
+ /**
+ * Tests the binding from the model to the table for the addition of a new element to the model.
+ *
+ * @throws NoRendererFoundException Renderer could not be found
+ * @throws NoPropertyDescriptorFoundExeption Property descriptor could not be found
+ * @throws DatabindingFailedException if the databinidng failed
+ */
+ @Test
+ public void testDatabindingServiceUsageAddToModel() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final List<EClass> initialList = createInitialList();
+
+ final WritableList mockedObservableList = new WritableList(initialList, EClass.class);
+
+ final Table table = setUpDatabindingTests(mockedObservableList, initialList.get(0), initialList.get(1));
+
+ final EClass class3 = EcoreFactory.eINSTANCE.createEClass();
+ class3.setAbstract(true);
+ mockedObservableList.add(class3);
+
+ assertDatabinding(mockedObservableList, table);
+ }
+
+ /**
+ * Tests the binding from the model to the table for the removal of a element from the model .
+ *
+ * @throws NoRendererFoundException Renderer could not be found
+ * @throws NoPropertyDescriptorFoundExeption Property descriptor could not be found
+ * @throws DatabindingFailedException if the databinidng failed
+ */
+ @Test
+ public void testDatabindingServiceUsageRemoveFromModel() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final List<EClass> initialList = createInitialList();
+
+ final WritableList mockedObservableList = new WritableList(initialList, EClass.class);
+
+ final Table table = setUpDatabindingTests(mockedObservableList, initialList.get(0), initialList.get(1));
+
+ mockedObservableList.remove(1);
+
+ assertDatabinding(mockedObservableList, table);
+ }
+
+ /**
+ * Tests the binding from the model to the table for the change of an element of the model.
+ *
+ * @throws NoRendererFoundException Renderer could not be found
+ * @throws NoPropertyDescriptorFoundExeption Property descriptor could not be found
+ * @throws DatabindingFailedException if the databinidng failed
+ */
+ @Test
+ public void testDatabindingServiceUsageChangeModel() throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+ final List<EClass> initialList = createInitialList();
+
+ final WritableList mockedObservableList = new WritableList(initialList, EClass.class);
+
+ final Table table = setUpDatabindingTests(mockedObservableList, initialList.get(0), initialList.get(1));
+
+ ((EClass) mockedObservableList.get(0)).setAbstract(true);
+
+ assertDatabinding(mockedObservableList, table);
+ }
+
+ private void assertDatabinding(final WritableList mockedObservableList, final Table table) {
+ assertEquals(mockedObservableList.size(), table.getItemCount());
+ for (int i = 0; i < mockedObservableList.size(); i++) {
+ assertEquals(Boolean.toString(((EClass) mockedObservableList.get(i)).isAbstract()), table.getItem(i)
+ .getText(1));
+ }
+ }
+
+ /**
+ * @return The initial list for data binding tests containing two {@link EClass} objects.
+ */
+ private List<EClass> createInitialList() {
+ final List<EClass> initialList = new LinkedList<EClass>();
+ final EClass class1 = EcoreFactory.eINSTANCE.createEClass();
+ class1.setAbstract(false);
+ final EClass class2 = EcoreFactory.eINSTANCE.createEClass();
+ class2.setAbstract(true);
+ initialList.add(class1);
+ initialList.add(class2);
+ return initialList;
+ }
+
+ private Table setUpDatabindingTests(IObservableList mockedObservableList, EClass class1, EClass class2)
+ throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption, DatabindingFailedException {
+
+ final IValueProperty columnValueProperty = new EMFValueProperty(EcorePackage.eINSTANCE.getEClass_Abstract());
+ final VDomainModelReference columnDMR = ((VTableDomainModelReference) vTableControl.getDomainModelReference())
+ .getColumnDomainModelReferences().get(0);
+ when(databindingService.getValueProperty(columnDMR, domainModel)).thenReturn(columnValueProperty);
+
+ when(databindingService.getObservableList(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mockedObservableList);
+
+ final Control renderedControl = renderer.render(new SWTGridCell(0, 0, renderer), shell);
+ assertTrue(Composite.class.isInstance(renderedControl));
+ final Control tableControl = getTable(renderedControl);
+ assertTrue(Table.class.isInstance(tableControl));
+ return (Table) tableControl;
+ }
+
+ private Control getTable(Control render) {
+ Composite composite = (Composite) render;
+ composite = (Composite) composite.getChildren()[1];
+ return composite.getChildren()[0];
+ }
+}
diff --git a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/SWTTable_PTest.java b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/SWTTable_PTest.java
index 3bdf5f3..4adbc27 100644
--- a/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/SWTTable_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.table.ui.swt.test/src/org/eclipse/emf/ecp/view/table/ui/swt/test/SWTTable_PTest.java
@@ -34,7 +34,6 @@
import org.eclipse.emf.ecore.EcoreFactory;
import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecp.common.spi.UniqueSetting;
-import org.eclipse.emf.ecp.view.internal.swt.SWTRendererFactoryImpl;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContextDisposeListener;
import org.eclipse.emf.ecp.view.spi.context.ViewModelService;
@@ -49,9 +48,6 @@
import org.eclipse.emf.ecp.view.spi.model.util.ViewModelUtil;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridCell;
import org.eclipse.emf.ecp.view.spi.table.model.DetailEditing;
import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
@@ -60,6 +56,12 @@
import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTTestUtil;
import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper;
+import org.eclipse.emfforms.internal.swt.core.di.EMFFormsContextProviderImpl;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsContextProvider;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.custom.ScrolledComposite;
@@ -75,11 +77,15 @@
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
@RunWith(DatabindingClassRunner.class)
public class SWTTable_PTest {
private static String log;
- private static SWTRendererFactory rendererFactory = new SWTRendererFactoryImpl();
+ private static ServiceReference<EMFFormsRendererFactory> factoryServiceReference;
+ private static EMFFormsRendererFactory rendererFactory;
private static PrintStream systemErr;
private Shell shell;
private EObject domainElement;
@@ -88,11 +94,16 @@
public static void beforeClass() {
systemErr = System.err;
System.setErr(new PrintStreamWrapper(systemErr));
+ final BundleContext bundleContext = FrameworkUtil.getBundle(SWTTable_PTest.class).getBundleContext();
+ factoryServiceReference = bundleContext.getServiceReference(EMFFormsRendererFactory.class);
+ rendererFactory = bundleContext.getService(factoryServiceReference);
}
@AfterClass
public static void afterClass() {
System.setErr(systemErr);
+ final BundleContext bundleContext = FrameworkUtil.getBundle(SWTTable_PTest.class).getBundleContext();
+ bundleContext.ungetService(factoryServiceReference);
}
@Before
@@ -102,7 +113,6 @@
final EClass eClass = EcoreFactory.eINSTANCE.createEClass();
eClass.getESuperTypes().add(EcorePackage.eINSTANCE.getEClass());
- new TableControlSWTRenderer();
domainElement = eClass;
}
@@ -115,7 +125,7 @@
@Test
public void testUninitializedTableWithoutColumns() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final TableControlHandle handle = createUninitializedTableWithoutColumns();
//
@@ -126,7 +136,7 @@
@Test
public void testInitializedTableWithoutColumnsAndEmptyReference() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final EClass createEClass = EcoreFactory.eINSTANCE.createEClass();
createEClass.eUnset(EcorePackage.eINSTANCE.getEClass_ESuperTypes());
@@ -144,7 +154,7 @@
@Ignore
@Test
public void testInitializedTableWithoutColumnsSingleReference() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final VView view = VViewFactory.eINSTANCE.createView();
view.setRootEClass(VViewPackage.eINSTANCE.getView());
@@ -167,7 +177,7 @@
@Ignore
@Test
public void testInitializedTableWithoutColumnsEmptySingleReference() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final VView view = VViewFactory.eINSTANCE.createView();
domainElement = view;
@@ -186,7 +196,8 @@
}
@Test
- public void testTableWithoutColumns() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testTableWithoutColumns() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
// setup model
final TableControlHandle handle = createInitializedTableWithoutTableColumns();
@@ -205,9 +216,10 @@
@Test
public void testTableWithoutColumnsWithoutViewServices() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
final TableControlHandle handle = createInitializedTableWithoutTableColumns();
- final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRenderer(handle.getTableControl(),
+ final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRendererInstance(
+ handle.getTableControl(),
new ViewModelContextWithoutServices(handle.getTableControl()));
final Control render = tableRenderer.render(new SWTGridCell(0, 0, tableRenderer), shell);
@@ -226,7 +238,8 @@
}
@Test
- public void testTableWithTwoColumns() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testTableWithTwoColumns() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
// setup model
final TableControlHandle handle = createTableWithTwoTableColumns();
final Control render = SWTViewTestHelper.render(handle.getTableControl(), domainElement, shell);
@@ -241,10 +254,11 @@
@Test
public void testTableWithTwoColumnsWithoutViewServices() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final TableControlHandle handle = createTableWithTwoTableColumns();
- final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRenderer(handle.getTableControl(),
+ final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRendererInstance(
+ handle.getTableControl(),
new ViewModelContextWithoutServices(handle.getTableControl()));
final Control render = tableRenderer.render(new SWTGridCell(0, 0, tableRenderer), shell);
@@ -260,9 +274,11 @@
}
@Test
- public void testTableWithTwoColumnsAdd() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testTableWithTwoColumnsAdd() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
final TableControlHandle handle = createTableWithTwoTableColumns();
- final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRenderer(handle.getTableControl(),
+ final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRendererInstance(
+ handle.getTableControl(),
new ViewModelContextWithoutServices(handle.getTableControl()));
final Control control = tableRenderer.render(new SWTGridCell(0, 0, tableRenderer), shell);
@@ -277,9 +293,11 @@
}
@Test
- public void testTableWithTwoColumnsRemove() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testTableWithTwoColumnsRemove() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
final TableControlHandle handle = createTableWithTwoTableColumns();
- final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRenderer(handle.getTableControl(),
+ final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRendererInstance(
+ handle.getTableControl(),
new ViewModelContextWithoutServices(handle.getTableControl()));
final Control control = tableRenderer.render(new SWTGridCell(0, 0, tableRenderer), shell);
@@ -294,11 +312,13 @@
}
@Test
- public void testTableWithTwoColumnsClear() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testTableWithTwoColumnsClear() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
final EClass eClass = EcoreFactory.eINSTANCE.createEClass();
((EClass) domainElement).getESuperTypes().add(eClass);
final TableControlHandle handle = createTableWithTwoTableColumns();
- final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRenderer(handle.getTableControl(),
+ final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRendererInstance(
+ handle.getTableControl(),
new ViewModelContextWithoutServices(handle.getTableControl()));
final Control control = tableRenderer.render(new SWTGridCell(0, 0, tableRenderer), shell);
@@ -312,13 +332,15 @@
}
@Test
- public void testPanelTableWithTwoColumns() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testPanelTableWithTwoColumns() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
final EClass eClass = EcoreFactory.eINSTANCE.createEClass();
((EClass) domainElement).getESuperTypes().add(eClass);
final TableControlHandle handle = createTableWithTwoTableColumns();
handle.getTableControl().setDetailEditing(DetailEditing.WITH_PANEL);
handle.getTableControl().setDetailView(createDetailView());
- final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRenderer(handle.getTableControl(),
+ final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRendererInstance(
+ handle.getTableControl(),
new ViewModelContextWithoutServices(handle.getTableControl()));
final Control control = tableRenderer.render(new SWTGridCell(0, 0, tableRenderer), shell);
if (control == null) {
@@ -357,7 +379,8 @@
}
@Test
- public void testTableSorting() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
+ public void testTableSorting() throws NoRendererFoundException, NoPropertyDescriptorFoundExeption,
+ EMFFormsNoRendererException {
// domain
((EClass) domainElement).getESuperTypes().clear();
final EClass class1 = createEClass("a", "b");
@@ -376,7 +399,7 @@
createDMR(EcorePackage.eINSTANCE.getEClassifier_InstanceClassName()));
// render
- final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRenderer(tableControl,
+ final AbstractSWTRenderer<VElement> tableRenderer = rendererFactory.getRendererInstance(tableControl,
new ViewModelContextWithoutServices(tableControl));
final Control control = tableRenderer.render(new SWTGridCell(0, 0, tableRenderer), shell);
if (control == null) {
@@ -533,9 +556,11 @@
private class ViewModelContextWithoutServices implements ViewModelContext {
private final VElement view;
+ private final EMFFormsContextProvider contextProvider;
public ViewModelContextWithoutServices(VElement view) {
this.view = view;
+ contextProvider = new EMFFormsContextProviderImpl();
ViewModelUtil.resolveDomainReferences(getViewModel(), getDomainModel());
}
@@ -620,6 +645,9 @@
*/
@Override
public <T> boolean hasService(Class<T> serviceType) {
+ if (EMFFormsContextProvider.class.equals(serviceType)) {
+ return true;
+ }
return false;
}
@@ -628,8 +656,12 @@
*
* @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getService(java.lang.Class)
*/
+ @SuppressWarnings("unchecked")
@Override
public <T> T getService(Class<T> serviceType) {
+ if (EMFFormsContextProvider.class.equals(serviceType)) {
+ return (T) contextProvider;
+ }
return null;
}
diff --git a/tests/org.eclipse.emf.ecp.view.template.service.test/pom.xml b/tests/org.eclipse.emf.ecp.view.template.service.test/pom.xml
index 7fc25b3..67ca789 100644
--- a/tests/org.eclipse.emf.ecp.view.template.service.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.template.service.test/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-bundles-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.template.service.test</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<groupId>org.eclipse.emf.ecp</groupId>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.test.common.swt/.gitignore b/tests/org.eclipse.emf.ecp.view.test.common.swt/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.test.common.swt/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.test.common.swt/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.test.common.swt/META-INF/MANIFEST.MF
index e783745..7b2a93f 100644
--- a/tests/org.eclipse.emf.ecp.view.test.common.swt/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.test.common.swt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Helper Class for the SWT View Model Tests
Bundle-SymbolicName: org.eclipse.emf.ecp.view.test.common.swt
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.swt;bundle-version="[3.1.0,4.0.0)",
@@ -14,6 +14,9 @@
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.edit;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.ui.view.test;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)";visibility:=reexport
Export-Package: org.eclipse.emf.ecp.view.test.common.swt;x-internal:=t
- rue,org.eclipse.emf.ecp.view.test.common.swt.spi;version="1.5.1"
+ rue,org.eclipse.emf.ecp.view.test.common.swt.spi;version="1.6.0"
+Import-Package: org.osgi.framework
+Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.view.test.common.swt/pom.xml b/tests/org.eclipse.emf.ecp.view.test.common.swt/pom.xml
index 4d7fad5..f8a88ef 100644
--- a/tests/org.eclipse.emf.ecp.view.test.common.swt/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.test.common.swt/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.test.common.swt</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.test.common.swt/src/org/eclipse/emf/ecp/view/test/common/swt/spi/SWTViewTestHelper.java b/tests/org.eclipse.emf.ecp.view.test.common.swt/src/org/eclipse/emf/ecp/view/test/common/swt/spi/SWTViewTestHelper.java
index 5627077..6832716 100644
--- a/tests/org.eclipse.emf.ecp.view.test.common.swt/src/org/eclipse/emf/ecp/view/test/common/swt/spi/SWTViewTestHelper.java
+++ b/tests/org.eclipse.emf.ecp.view.test.common.swt/src/org/eclipse/emf/ecp/view/test/common/swt/spi/SWTViewTestHelper.java
@@ -15,17 +15,17 @@
import java.util.List;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecp.view.internal.swt.SWTRendererFactoryImpl;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
import org.eclipse.emf.ecp.view.spi.model.VElement;
import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
-import org.eclipse.emf.ecp.view.spi.swt.AbstractSWTRenderer;
-import org.eclipse.emf.ecp.view.spi.swt.SWTRendererFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.GridDescriptionFactory;
-import org.eclipse.emf.ecp.view.spi.swt.layout.SWTGridDescription;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.GridDescriptionFactory;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
@@ -34,10 +34,20 @@
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
@SuppressWarnings("restriction")
public final class SWTViewTestHelper {
- private static SWTRendererFactory factory = new SWTRendererFactoryImpl();
+ // private static SWTRendererFactory factory = new SWTRendererFactoryImpl();
+ private static EMFFormsRendererFactory factory;
+ static {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(SWTViewTestHelper.class).getBundleContext();
+ final ServiceReference<EMFFormsRendererFactory> serviceReference = bundleContext
+ .getServiceReference(EMFFormsRendererFactory.class);
+ factory = bundleContext.getService(serviceReference);
+ }
private SWTViewTestHelper() {
@@ -51,10 +61,10 @@
}
public static Control render(VElement renderable, EObject input, Shell shell) throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
final ViewModelContext viewContext = ViewModelContextFactory.INSTANCE.createViewModelContext(renderable, input);
final AbstractSWTRenderer<VElement> renderer = factory
- .getRenderer(renderable, viewContext);
+ .getRendererInstance(renderable, viewContext);
final SWTGridDescription gridDescription = renderer.getGridDescription(GridDescriptionFactory.INSTANCE
.createEmptyGridDescription());
final Control control = renderer.render(gridDescription.getGrid().get(gridDescription.getColumns() - 1), shell);
@@ -69,7 +79,7 @@
}
public static Control render(VElement renderable, Shell shell) throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
return render(renderable, VViewFactory.eINSTANCE.createView(), shell);
}
diff --git a/tests/org.eclipse.emf.ecp.view.test.common/.gitignore b/tests/org.eclipse.emf.ecp.view.test.common/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.test.common/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.test.common/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.test.common/META-INF/MANIFEST.MF
index cf64fbc..2c74e1b 100644
--- a/tests/org.eclipse.emf.ecp.view.test.common/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.test.common/META-INF/MANIFEST.MF
@@ -2,9 +2,9 @@
Bundle-ManifestVersion: 2
Bundle-Name: Common Test Plugin
Bundle-SymbolicName: org.eclipse.emf.ecp.view.test.common
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.view.test.common.spi;version="1.5.
- 1"
+Export-Package: org.eclipse.emf.ecp.view.test.common.spi;version="1.6.
+ 0"
Require-Bundle: org.eclipse.emf.ecore;bundle-version="2.9.0"
diff --git a/tests/org.eclipse.emf.ecp.view.test.common/pom.xml b/tests/org.eclipse.emf.ecp.view.test.common/pom.xml
index 9034a2c..560be14 100644
--- a/tests/org.eclipse.emf.ecp.view.test.common/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.test.common/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<artifactId>org.eclipse.emf.ecp.view.test.common</artifactId>
<packaging>eclipse-plugin</packaging>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/META-INF/MANIFEST.MF
index e4a0e49..76e14cd 100644
--- a/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Tests for the TreeMasterDetail Renderer
Bundle-SymbolicName: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.4.0,2.0.0)",
@@ -15,4 +15,4 @@
org.eclipse.emf.ecp.ui.view.swt;bundle-version="1.4.0",
org.eclipse.emf.ecp.view.context;bundle-version="[1.5.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test;
- version="1.5.1";x-internal:=true
+ version="1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/TreeMasterDetailContextMenuViewModelService_PTest.launch b/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/TreeMasterDetailContextMenuViewModelService_PTest.launch
index aa8085b..dca2914 100644
--- a/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/TreeMasterDetailContextMenuViewModelService_PTest.launch
+++ b/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/TreeMasterDetailContextMenuViewModelService_PTest.launch
@@ -15,7 +15,7 @@
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.common,org.eclipse.emf.ecp.common.ui,org.eclipse.emf.ecp.core,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.core,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.email.renderer,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.databinding,org.eclipse.emf.ecp.view.indexdmr.model,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.databinding,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.model.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.examplemodel"/>
+<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.common,org.eclipse.emf.ecp.common.ui,org.eclipse.emf.ecp.core,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.core,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.model.viewmodel,org.eclipse.emf.ecp.makeithappen.view.email.renderer,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.context.test,org.eclipse.emf.ecp.view.control.multireference,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.core.swt.tests,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.indexdmr.model,org.eclipse.emf.ecp.view.indexdmr.model.edit,org.eclipse.emf.ecp.view.indexdmr.model.test,org.eclipse.emf.ecp.view.indexdmr.tooling,org.eclipse.emf.ecp.view.keyattributedmr.model,org.eclipse.emf.ecp.view.keyattributedmr.model.edit,org.eclipse.emf.ecp.view.keyattributedmr.model.test,org.eclipse.emf.ecp.view.keyattributedmr.tooling,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model,org.eclipse.emf.ecp.view.model.common,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.model.provider.generator,org.eclipse.emf.ecp.view.model.provider.xmi,org.eclipse.emf.ecp.view.model.provider.xmi.test,org.eclipse.emf.ecp.view.model.test,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.section.model,org.eclipse.emf.ecp.view.section.model.edit,org.eclipse.emf.ecp.view.section.ui.swt,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.service.test,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.bean,org.eclipse.emf.ecp.view.validation.bean.default,org.eclipse.emf.ecp.view.validation.bean.test,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.model,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.view.viewproxy.tests,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.examplemodel"/>
<stringAttribute key="featureDefaultLocation" value="workspace"/>
<stringAttribute key="featurePluginResolution" value="workspace"/>
<booleanAttribute key="includeOptional" value="true"/>
diff --git a/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/pom.xml
index 2cadae2..601ffa2 100644
--- a/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test/pom.xml
@@ -5,13 +5,13 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,28 +24,36 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.treemasterdetail.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.template.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.treemasterdetail.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/META-INF/MANIFEST.MF
index 482343b..2e12154 100644
--- a/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
Bundle-ManifestVersion: 2
Bundle-Name: EMF Forms TreeMasterDetail Validation Test
Bundle-SymbolicName: org.eclipse.emf.ecp.view.treemasterdetail.validation.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
Bundle-Localization: plugin
Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)"
Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.validation.t
- est;version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.treemas
- terdetail.validation.test.TestTMD;version="1.5.1";x-internal:=true,or
+ est;version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.treemas
+ terdetail.validation.test.TestTMD;version="1.6.0";x-internal:=true,or
g.eclipse.emf.ecp.view.treemasterdetail.validation.test.TestTMD.impl;
- version="1.5.1";x-internal:=true,org.eclipse.emf.ecp.view.treemasterd
- etail.validation.test.TestTMD.util;version="1.5.1";x-internal:=true
+ version="1.6.0";x-internal:=true,org.eclipse.emf.ecp.view.treemasterd
+ etail.validation.test.TestTMD.util;version="1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/plugin.properties b/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/plugin.properties
index 41c8773..731a6c2 100644
--- a/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/plugin.properties
+++ b/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/plugin.properties
@@ -1,4 +1,4 @@
#
pluginName = TestTMD Model
-providerName = www.example.org
+providerName = Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/pom.xml b/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/pom.xml
index 91b474c..eaa2add 100644
--- a/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.treemasterdetail.validation.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.treemasterdetail.validation.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -27,38 +27,46 @@
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
<testFailureIgnore>true</testFailureIgnore>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.treemasterdetail.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.validation.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.validation.initial.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.treemasterdetail.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.validation.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.validation.initial.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.ui.editor.test/AllEditorTests.launch b/tests/org.eclipse.emf.ecp.view.ui.editor.test/AllEditorTests.launch
index 839b9a0..6efcd28 100644
--- a/tests/org.eclipse.emf.ecp.view.ui.editor.test/AllEditorTests.launch
+++ b/tests/org.eclipse.emf.ecp.view.ui.editor.test/AllEditorTests.launch
@@ -31,8 +31,8 @@
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.apache.log4j@default:default,org.apache.lucene.analysis@default:default,org.apache.lucene.core@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86_64@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client.model.edit@default:default,org.eclipse.emf.emfstore.client.ui@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model.edit@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model.edit@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.emf.validation@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.eclipse.help@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.eclipse.core@default:default,org.eclipse.swtbot.eclipse.finder@default:default,org.eclipse.swtbot.junit4_x@default:default,org.eclipse.swtbot.swt.finder@default:default,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.objenesis@default:default,org.slf4j.api@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.editor.controls.test@default:false,org.eclipse.emf.ecp.ui.view.editor.controls@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.validation.test@default:false,org.eclipse.emf.ecp.validation@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.categorization.swt@default:default,org.eclipse.emf.ecp.view.context.locale@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui.swt@default:default,org.eclipse.emf.ecp.view.dynamictree.model.edit@default:default,org.eclipse.emf.ecp.view.dynamictree.model.test@default:default,org.eclipse.emf.ecp.view.dynamictree.model@default:default,org.eclipse.emf.ecp.view.dynamictree.ui.swt@default:default,org.eclipse.emf.ecp.view.dynamictree.ui@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:false,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.editor.testplugin@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.celleditor.rcp@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt.test@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model.edit@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt@default:default,org.eclipse.emf.ecp.view.ui.editor.test@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.test@default:false,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.workspace.core@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.apache.log4j@default:default,org.apache.lucene.analysis@default:default,org.apache.lucene.core@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86_64@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client.model.edit@default:default,org.eclipse.emf.emfstore.client.ui@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model.edit@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model.edit@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.emf.validation@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.eclipse.help@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.eclipse.core@default:default,org.eclipse.swtbot.eclipse.finder@default:default,org.eclipse.swtbot.go@default:default,org.eclipse.swtbot.junit4_x@default:default,org.eclipse.swtbot.swt.finder@default:default,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.objenesis@default:default,org.slf4j.api@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.editor.controls@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.validation@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.categorization.swt@default:default,org.eclipse.emf.ecp.view.context.locale@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.control.multireference@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui.swt@default:default,org.eclipse.emf.ecp.view.dynamictree.model.edit@default:default,org.eclipse.emf.ecp.view.dynamictree.model.test@default:default,org.eclipse.emf.ecp.view.dynamictree.model@default:default,org.eclipse.emf.ecp.view.dynamictree.ui.swt@default:default,org.eclipse.emf.ecp.view.dynamictree.ui@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.celleditor.rcp@default:default,org.eclipse.emf.ecp.view.table.columnservice@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.ui.swt.test@default:default,org.eclipse.emf.ecp.view.table.ui.swt@default:default,org.eclipse.emf.ecp.view.table.validation@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model.edit@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt@default:default,org.eclipse.emf.ecp.view.ui.editor.test@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.workspace.core@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.view.model.localization@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.ui.editor.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.ui.editor.test/META-INF/MANIFEST.MF
index 2287319..71ea289 100644
--- a/tests/org.eclipse.emf.ecp.view.ui.editor.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.ui.editor.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Editor SWTBot Tests
Bundle-SymbolicName: org.eclipse.emf.ecp.view.ui.editor.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.emf.ecp.view.ui.editor.test.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.swtbot.eclipse.finder;bundle-version="[2.1.1,3.0.0)",
@@ -29,11 +29,12 @@
org.eclipse.emf.ecp.view.table.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.table.ui.swt.test;bundle-version="[1.5.0,2.0.0)"
+ org.eclipse.emf.ecp.view.table.ui.swt.test;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.view.model.localization;bundle-version="[1.6.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.ui.editor.test;version="1.5.1
+Export-Package: org.eclipse.emf.ecp.view.ui.editor.test;version="1.6.0
";uses:="org.eclipse.emf.emfstore.bowling,org.eclipse.swtbot.swt.find
er,org.osgi.framework",org.eclipse.emf.ecp.view.ui.editor.test.contro
- ls;version="1.5.1";x-internal:=true
+ ls;version="1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.ui.editor.test/pom.xml b/tests/org.eclipse.emf.ecp.view.ui.editor.test/pom.xml
index 7864c2e..03ac72e 100644
--- a/tests/org.eclipse.emf.ecp.view.ui.editor.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.ui.editor.test/pom.xml
@@ -1,19 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
-
- <groupId>org.eclipse.emf.ecp</groupId>
- <artifactId>org.eclipse.emf.ecp.view.ui.editor.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
- <packaging>eclipse-test-plugin</packaging>
-
+
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emf.ecp.view.ui.editor.test</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
@@ -22,74 +23,62 @@
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
- <useUIHarness>true</useUIHarness>
- <useUIThread>false</useUIThread>
- <testFailureIgnore>true</testFailureIgnore>
+ <useUIHarness>true</useUIHarness>
+ <useUIThread>false</useUIThread>
+ <testFailureIgnore>true</testFailureIgnore>
<product>org.eclipse.sdk.ide</product>
<application>org.eclipse.ui.ide.workbench</application>
<systemProperties>
- <property>
- <name>enableDisplaySync</name>
- <value>true</value>
- </property>
- </systemProperties>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.categorization.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.rule.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.validation.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.table.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.emfstore.example.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.dynamictree.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.table.celleditor.rcp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ <property>
+ <name>enableDisplaySync</name>
+ <value>true</value>
+ </property>
+ </systemProperties>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.dynamictree.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.template.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.categorization.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.emfstore.example.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.table.celleditor.rcp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.event</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.unset.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.unset.test/META-INF/MANIFEST.MF
index 740c013..90bb7bb 100644
--- a/tests/org.eclipse.emf.ecp.view.unset.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.unset.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: View Model Unset Service Test
Bundle-SymbolicName: org.eclipse.emf.ecp.view.unset.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
@@ -16,5 +16,6 @@
org.eclipse.emf.ecp.view.rule.test;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.rule;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.table.model;bundle-version="[1.5.0,2.0.0)"
-Export-Package: org.eclipse.emf.ecp.view.unset.test;version="1.5.1"
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.5.0,2.0.0)"
+Export-Package: org.eclipse.emf.ecp.view.unset.test;version="1.6.0"
diff --git a/tests/org.eclipse.emf.ecp.view.unset.test/UnsetServiceTest.launch b/tests/org.eclipse.emf.ecp.view.unset.test/UnsetServiceTest.launch
index a45add7..d3b37c9 100644
--- a/tests/org.eclipse.emf.ecp.view.unset.test/UnsetServiceTest.launch
+++ b/tests/org.eclipse.emf.ecp.view.unset.test/UnsetServiceTest.launch
@@ -32,8 +32,8 @@
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.emf.cdo.server.product.tcp_h2"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.rule.test@default:default,org.eclipse.emf.ecp.view.rule.ui.swt.test@default:false,org.eclipse.emf.ecp.view.rule@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.unset.test@default:default,org.eclipse.emf.ecp.view.unset@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.test.model@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.rule.test@default:default,org.eclipse.emf.ecp.view.rule.ui.swt.test@default:false,org.eclipse.emf.ecp.view.rule@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.unset.test@default:default,org.eclipse.emf.ecp.view.unset@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emf.emfforms.core.services.labelprovider@default:default,org.eclipse.emf.emfforms.localization@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.view.model.localization@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.unset.test/pom.xml b/tests/org.eclipse.emf.ecp.view.unset.test/pom.xml
index 9c59cdc..54453a1 100644
--- a/tests/org.eclipse.emf.ecp.view.unset.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.unset.test/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.unset.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/AllTests.java b/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/AllTests.java
index ffbc20e..6504e83 100644
--- a/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/AllTests.java
+++ b/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/AllTests.java
@@ -21,8 +21,8 @@
*/
@RunWith(Suite.class)
@SuiteClasses({
- UnsetRuleIntegration_Test.class,
- UnsetService_Test.class })
+ UnsetRuleIntegration_PTest.class,
+ UnsetService_PTest.class })
public class AllTests {
}
diff --git a/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/UnsetRuleIntegration_PTest.java b/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/UnsetRuleIntegration_PTest.java
new file mode 100644
index 0000000..95974d4
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/UnsetRuleIntegration_PTest.java
@@ -0,0 +1,316 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.unset.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.math.BigDecimal;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.internal.rule.RuleService;
+import org.eclipse.emf.ecp.view.internal.rule.RuleServiceHelperImpl;
+import org.eclipse.emf.ecp.view.internal.unset.UnsetService;
+import org.eclipse.emf.ecp.view.rule.test.CommonRuleTest;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationFactory;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.rule.model.RuleFactory;
+import org.eclipse.emf.ecp.view.spi.rule.model.ShowRule;
+import org.eclipse.emf.emfstore.bowling.BowlingFactory;
+import org.eclipse.emf.emfstore.bowling.BowlingPackage;
+import org.eclipse.emf.emfstore.bowling.Fan;
+import org.eclipse.emf.emfstore.bowling.League;
+import org.eclipse.emf.emfstore.bowling.Merchandise;
+import org.eclipse.emf.emfstore.bowling.Player;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * @author jfaltermeier
+ *
+ */
+public class UnsetRuleIntegration_PTest extends CommonRuleTest {
+
+ private static final String FOO = "foo";
+ private Fan fan;
+ private Merchandise merchandise;
+
+ private final EStructuralFeature merchandiseNameFeature = BowlingPackage.eINSTANCE.getMerchandise_Name();
+ private final EStructuralFeature fanNameFeature = BowlingPackage.eINSTANCE.getFan_Name();
+ private final BigDecimal price = new BigDecimal(19.84);
+ private final String mercName = "Wimpel";
+ private final String fanName = "Max Morlock";
+
+ private VView view;
+
+ private ViewModelContext context;
+ private DefaultRealm realm;
+
+ @Before
+ public void before() {
+ realm = new DefaultRealm();
+ fan = BowlingFactory.eINSTANCE.createFan();
+ merchandise = BowlingFactory.eINSTANCE.createMerchandise();
+ merchandise.setPrice(price);
+ merchandise.setName(mercName);
+ fan.setFavouriteMerchandise(merchandise);
+ fan.setName(fanName);
+
+ view = VViewFactory.eINSTANCE.createView();
+ view.setRootEClass(fan.eClass());
+ }
+
+ @After
+ public void after() {
+ if (context != null) {
+ context.dispose();
+ }
+ realm.dispose();
+ }
+
+ @Test
+ public void testPriorities() {
+ final RuleService rule = new RuleService();
+ final UnsetService unset = new UnsetService();
+ assertTrue(rule.getPriority() < unset.getPriority());
+ }
+
+ @Test
+ public void testUnset() {
+ final VControl control1 = addControlToView(merchandiseNameReferenceFromFan());
+ addShowRule(control1, true, BowlingPackage.eINSTANCE.getFan_Name(), FOO);
+
+ fan.setName(FOO);
+ merchandise.setName("bar");
+
+ services(fan);
+
+ fan.setName("quux");
+ assertFalse(control1.isVisible());
+ assertEquals(merchandiseNameFeature.getDefaultValue(), merchandise.getName());
+ }
+
+ @Test
+ public void testMultiUnset() {
+ final League league = BowlingFactory.eINSTANCE.createLeague();
+ final Player player = BowlingFactory.eINSTANCE.createPlayer();
+ league.getPlayers().add(player);
+
+ view.setRootEClass(BowlingPackage.eINSTANCE.getLeague());
+
+ final VControl control = VViewFactory.eINSTANCE.createControl();
+
+ final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getLeague_Players());
+ control.setDomainModelReference(domainModelReference);
+
+ view.getChildren().add(control);
+
+ addShowRule(control, true, BowlingPackage.eINSTANCE.getLeague_Name(), "League");
+ league.setName("League");
+ services(league);
+ assertEquals(1, league.getPlayers().size());
+ league.setName("Liga");
+ assertEquals(0, league.getPlayers().size());
+ }
+
+ @Test
+ public void testInitUnset() {
+ final VControl control1 = addControlToView(merchandiseNameReferenceFromFan());
+ addShowRule(control1, true, BowlingPackage.eINSTANCE.getFan_Name(), FOO);
+
+ merchandise.setName("bar");
+ fan.setName("quux");
+ services(fan);
+ assertFalse(control1.isVisible());
+ assertEquals(merchandiseNameFeature.getDefaultValue(), merchandise.getName());
+ }
+
+ @Test
+ public void testVCategorizationElementHideCategory() {
+ // set up view model
+ final VCategorizationElement element = VCategorizationFactory.eINSTANCE.createCategorizationElement();
+ view.getChildren().add(element);
+
+ final VCategorization categorization = VCategorizationFactory.eINSTANCE.createCategorization();
+ element.getCategorizations().add(categorization);
+
+ final VCategory categoryInCategorization = VCategorizationFactory.eINSTANCE.createCategory();
+ categorization.getCategorizations().add(categoryInCategorization);
+
+ final VControl fanNameC = VViewFactory.eINSTANCE.createControl();
+ categoryInCategorization.setComposite(fanNameC);
+ final VFeaturePathDomainModelReference fanDMR = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ fanDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_Name());
+ fanNameC.setDomainModelReference(fanDMR);
+
+ final VCategory category = VCategorizationFactory.eINSTANCE.createCategory();
+ element.getCategorizations().add(category);
+
+ final VControl merchName = VViewFactory.eINSTANCE.createControl();
+ category.setComposite(merchName);
+ final VFeaturePathDomainModelReference merchDMR = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ merchDMR.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
+ merchDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
+ merchName.setDomainModelReference(merchDMR);
+
+ // set up rules
+ addShowRule(category, false, BowlingPackage.eINSTANCE.getFan_Name(), FOO);
+
+ // init services
+ services(fan);
+ assertTrue(element.isVisible());
+ assertTrue(categorization.isVisible());
+ assertTrue(categoryInCategorization.isVisible());
+ assertTrue(fanNameC.isVisible());
+ assertTrue(category.isVisible());
+ assertTrue(merchName.isVisible());
+ assertTrue(fan.eIsSet(fanNameFeature));
+ assertTrue(merchandise.eIsSet(merchandiseNameFeature));
+ assertEquals(fanName, fan.getName());
+ assertEquals(mercName, merchandise.getName());
+
+ // act
+ fan.setName(FOO);
+
+ // assert
+ assertTrue(element.isVisible());
+ assertTrue(categorization.isVisible());
+ assertTrue(categoryInCategorization.isVisible());
+ assertTrue(fanNameC.isVisible());
+ assertFalse(category.isVisible());
+ assertFalse(merchName.isVisible());
+ assertTrue(fan.eIsSet(fanNameFeature));
+ assertEquals(FOO, fan.getName());
+ assertFalse(merchandise.eIsSet(merchandiseNameFeature));
+ assertEquals(merchandiseNameFeature.getDefaultValue(), merchandise.getName());
+ }
+
+ @Test
+ public void testVCategorizationElementHideCategoryInCategorization() {
+ // set up view model
+ final VCategorizationElement element = VCategorizationFactory.eINSTANCE.createCategorizationElement();
+ view.getChildren().add(element);
+
+ final VCategorization categorization = VCategorizationFactory.eINSTANCE.createCategorization();
+ element.getCategorizations().add(categorization);
+
+ final VCategory categoryInCategorization = VCategorizationFactory.eINSTANCE.createCategory();
+ categorization.getCategorizations().add(categoryInCategorization);
+
+ final VControl fanNameC = VViewFactory.eINSTANCE.createControl();
+ categoryInCategorization.setComposite(fanNameC);
+ final VFeaturePathDomainModelReference fanDMR = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ fanDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_Name());
+ fanNameC.setDomainModelReference(fanDMR);
+
+ final VCategory category = VCategorizationFactory.eINSTANCE.createCategory();
+ element.getCategorizations().add(category);
+
+ final VControl merchName = VViewFactory.eINSTANCE.createControl();
+ category.setComposite(merchName);
+ final VFeaturePathDomainModelReference merchDMR = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ merchDMR.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
+ merchDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
+ merchName.setDomainModelReference(merchDMR);
+
+ // set up rules
+ final ShowRule rule = RuleFactory.eINSTANCE.createShowRule();
+ rule.setHide(true);
+ rule.setCondition(createLeafCondition(BowlingPackage.eINSTANCE.getMerchandise_Name(), FOO,
+ BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise()));
+ categoryInCategorization.getAttachments().add(rule);
+
+ // init services
+ services(fan);
+ assertTrue(element.isVisible());
+ assertTrue(categorization.isVisible());
+ assertTrue(categoryInCategorization.isVisible());
+ assertTrue(fanNameC.isVisible());
+ assertTrue(category.isVisible());
+ assertTrue(merchName.isVisible());
+ assertTrue(fan.eIsSet(fanNameFeature));
+ assertTrue(merchandise.eIsSet(merchandiseNameFeature));
+ assertEquals(fanName, fan.getName());
+ assertEquals(mercName, merchandise.getName());
+
+ // act
+ merchandise.setName(FOO);
+
+ // assert
+ assertTrue(element.isVisible());
+ assertTrue(categorization.isVisible());
+ assertFalse(categoryInCategorization.isVisible());
+ assertFalse(fanNameC.isVisible());
+ assertTrue(category.isVisible());
+ assertTrue(merchName.isVisible());
+ assertFalse(fan.eIsSet(fanNameFeature));
+ assertEquals(fanNameFeature.getDefaultValue(), fan.getName());
+ assertTrue(merchandise.eIsSet(merchandiseNameFeature));
+ assertEquals(FOO, merchandise.getName());
+ }
+
+ // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Factory methods
+ // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ private void services(EObject domain) {
+ context = ViewModelContextFactory.INSTANCE.createViewModelContext(view, domain);
+
+ final UnsetService unsetService = new UnsetService();
+ unsetService.instantiate(context);
+
+ final RuleService ruleService = new RuleService();
+ final RuleServiceHelperImpl ruleServiceHelper = new RuleServiceHelperImpl();
+ ruleService.instantiate(context);
+ ruleServiceHelper.instantiate(context);
+ }
+
+ /**
+ * Adds a control with the given feature path domain model reference as a direct child of the view.
+ *
+ * @param domainModelReference
+ * @return the created control
+ */
+ private VControl addControlToView(VFeaturePathDomainModelReference domainModelReference) {
+ final VControl control = VViewFactory.eINSTANCE.createControl();
+ control.setDomainModelReference(domainModelReference);
+ view.getChildren().add(control);
+ return control;
+ }
+
+ private VFeaturePathDomainModelReference merchandiseNameReferenceFromFan() {
+ final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
+ domainModelReference.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
+ return domainModelReference;
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/UnsetRuleIntegration_Test.java b/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/UnsetRuleIntegration_Test.java
deleted file mode 100644
index 34cec69..0000000
--- a/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/UnsetRuleIntegration_Test.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Johannes Faltermeier - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.unset.test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.math.BigDecimal;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecp.view.internal.rule.RuleService;
-import org.eclipse.emf.ecp.view.internal.rule.RuleServiceHelperImpl;
-import org.eclipse.emf.ecp.view.internal.unset.UnsetService;
-import org.eclipse.emf.ecp.view.rule.test.CommonRuleTest;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationFactory;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategory;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
-import org.eclipse.emf.ecp.view.spi.model.VControl;
-import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
-import org.eclipse.emf.ecp.view.spi.rule.model.RuleFactory;
-import org.eclipse.emf.ecp.view.spi.rule.model.ShowRule;
-import org.eclipse.emf.emfstore.bowling.BowlingFactory;
-import org.eclipse.emf.emfstore.bowling.BowlingPackage;
-import org.eclipse.emf.emfstore.bowling.Fan;
-import org.eclipse.emf.emfstore.bowling.League;
-import org.eclipse.emf.emfstore.bowling.Merchandise;
-import org.eclipse.emf.emfstore.bowling.Player;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * @author jfaltermeier
- *
- */
-public class UnsetRuleIntegration_Test extends CommonRuleTest {
-
- private static final String FOO = "foo";
- private Fan fan;
- private Merchandise merchandise;
-
- private final EStructuralFeature merchandiseNameFeature = BowlingPackage.eINSTANCE.getMerchandise_Name();
- private final EStructuralFeature fanNameFeature = BowlingPackage.eINSTANCE.getFan_Name();
- private final BigDecimal price = new BigDecimal(19.84);
- private final String mercName = "Wimpel";
- private final String fanName = "Max Morlock";
-
- private VView view;
-
- private ViewModelContext context;
-
- @Before
- public void before() {
- fan = BowlingFactory.eINSTANCE.createFan();
- merchandise = BowlingFactory.eINSTANCE.createMerchandise();
- merchandise.setPrice(price);
- merchandise.setName(mercName);
- fan.setFavouriteMerchandise(merchandise);
- fan.setName(fanName);
-
- view = VViewFactory.eINSTANCE.createView();
- view.setRootEClass(fan.eClass());
- }
-
- @After
- public void after() {
- if (context != null) {
- context.dispose();
- }
- }
-
- @Test
- public void testPriorities() {
- final RuleService rule = new RuleService();
- final UnsetService unset = new UnsetService();
- assertTrue(rule.getPriority() < unset.getPriority());
- }
-
- @Test
- public void testUnset() {
- final VControl control1 = addControlToView(merchandiseNameReferenceFromFan());
- addShowRule(control1, true, BowlingPackage.eINSTANCE.getFan_Name(), FOO);
-
- fan.setName(FOO);
- merchandise.setName("bar");
-
- services(fan);
-
- fan.setName("quux");
- assertFalse(control1.isVisible());
- assertEquals(merchandiseNameFeature.getDefaultValue(), merchandise.getName());
- }
-
- @Test
- public void testMultiUnset() {
- final League league = BowlingFactory.eINSTANCE.createLeague();
- final Player player = BowlingFactory.eINSTANCE.createPlayer();
- league.getPlayers().add(player);
-
- view.setRootEClass(BowlingPackage.eINSTANCE.getLeague());
-
- final VControl control = VViewFactory.eINSTANCE.createControl();
-
- final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getLeague_Players());
- control.setDomainModelReference(domainModelReference);
-
- view.getChildren().add(control);
-
- addShowRule(control, true, BowlingPackage.eINSTANCE.getLeague_Name(), "League");
- league.setName("League");
- services(league);
- assertEquals(1, league.getPlayers().size());
- league.setName("Liga");
- assertEquals(0, league.getPlayers().size());
- }
-
- @Test
- public void testInitUnset() {
- final VControl control1 = addControlToView(merchandiseNameReferenceFromFan());
- addShowRule(control1, true, BowlingPackage.eINSTANCE.getFan_Name(), FOO);
-
- merchandise.setName("bar");
- fan.setName("quux");
- services(fan);
- assertFalse(control1.isVisible());
- assertEquals(merchandiseNameFeature.getDefaultValue(), merchandise.getName());
- }
-
- @Test
- public void testVCategorizationElementHideCategory() {
- // set up view model
- final VCategorizationElement element = VCategorizationFactory.eINSTANCE.createCategorizationElement();
- view.getChildren().add(element);
-
- final VCategorization categorization = VCategorizationFactory.eINSTANCE.createCategorization();
- element.getCategorizations().add(categorization);
-
- final VCategory categoryInCategorization = VCategorizationFactory.eINSTANCE.createCategory();
- categorization.getCategorizations().add(categoryInCategorization);
-
- final VControl fanNameC = VViewFactory.eINSTANCE.createControl();
- categoryInCategorization.setComposite(fanNameC);
- final VFeaturePathDomainModelReference fanDMR = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- fanDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_Name());
- fanNameC.setDomainModelReference(fanDMR);
-
- final VCategory category = VCategorizationFactory.eINSTANCE.createCategory();
- element.getCategorizations().add(category);
-
- final VControl merchName = VViewFactory.eINSTANCE.createControl();
- category.setComposite(merchName);
- final VFeaturePathDomainModelReference merchDMR = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- merchDMR.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
- merchDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
- merchName.setDomainModelReference(merchDMR);
-
- // set up rules
- addShowRule(category, false, BowlingPackage.eINSTANCE.getFan_Name(), FOO);
-
- // init services
- services(fan);
- assertTrue(element.isVisible());
- assertTrue(categorization.isVisible());
- assertTrue(categoryInCategorization.isVisible());
- assertTrue(fanNameC.isVisible());
- assertTrue(category.isVisible());
- assertTrue(merchName.isVisible());
- assertTrue(fan.eIsSet(fanNameFeature));
- assertTrue(merchandise.eIsSet(merchandiseNameFeature));
- assertEquals(fanName, fan.getName());
- assertEquals(mercName, merchandise.getName());
-
- // act
- fan.setName(FOO);
-
- // assert
- assertTrue(element.isVisible());
- assertTrue(categorization.isVisible());
- assertTrue(categoryInCategorization.isVisible());
- assertTrue(fanNameC.isVisible());
- assertFalse(category.isVisible());
- assertFalse(merchName.isVisible());
- assertTrue(fan.eIsSet(fanNameFeature));
- assertEquals(FOO, fan.getName());
- assertFalse(merchandise.eIsSet(merchandiseNameFeature));
- assertEquals(merchandiseNameFeature.getDefaultValue(), merchandise.getName());
- }
-
- @Test
- public void testVCategorizationElementHideCategoryInCategorization() {
- // set up view model
- final VCategorizationElement element = VCategorizationFactory.eINSTANCE.createCategorizationElement();
- view.getChildren().add(element);
-
- final VCategorization categorization = VCategorizationFactory.eINSTANCE.createCategorization();
- element.getCategorizations().add(categorization);
-
- final VCategory categoryInCategorization = VCategorizationFactory.eINSTANCE.createCategory();
- categorization.getCategorizations().add(categoryInCategorization);
-
- final VControl fanNameC = VViewFactory.eINSTANCE.createControl();
- categoryInCategorization.setComposite(fanNameC);
- final VFeaturePathDomainModelReference fanDMR = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- fanDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_Name());
- fanNameC.setDomainModelReference(fanDMR);
-
- final VCategory category = VCategorizationFactory.eINSTANCE.createCategory();
- element.getCategorizations().add(category);
-
- final VControl merchName = VViewFactory.eINSTANCE.createControl();
- category.setComposite(merchName);
- final VFeaturePathDomainModelReference merchDMR = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- merchDMR.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
- merchDMR.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
- merchName.setDomainModelReference(merchDMR);
-
- // set up rules
- final ShowRule rule = RuleFactory.eINSTANCE.createShowRule();
- rule.setHide(true);
- rule.setCondition(createLeafCondition(BowlingPackage.eINSTANCE.getMerchandise_Name(), FOO,
- BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise()));
- categoryInCategorization.getAttachments().add(rule);
-
- // init services
- services(fan);
- assertTrue(element.isVisible());
- assertTrue(categorization.isVisible());
- assertTrue(categoryInCategorization.isVisible());
- assertTrue(fanNameC.isVisible());
- assertTrue(category.isVisible());
- assertTrue(merchName.isVisible());
- assertTrue(fan.eIsSet(fanNameFeature));
- assertTrue(merchandise.eIsSet(merchandiseNameFeature));
- assertEquals(fanName, fan.getName());
- assertEquals(mercName, merchandise.getName());
-
- // act
- merchandise.setName(FOO);
-
- // assert
- assertTrue(element.isVisible());
- assertTrue(categorization.isVisible());
- assertFalse(categoryInCategorization.isVisible());
- assertFalse(fanNameC.isVisible());
- assertTrue(category.isVisible());
- assertTrue(merchName.isVisible());
- assertFalse(fan.eIsSet(fanNameFeature));
- assertEquals(fanNameFeature.getDefaultValue(), fan.getName());
- assertTrue(merchandise.eIsSet(merchandiseNameFeature));
- assertEquals(FOO, merchandise.getName());
- }
-
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // Factory methods
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- private void services(EObject domain) {
- context = ViewModelContextFactory.INSTANCE.createViewModelContext(view, domain);
-
- final UnsetService unsetService = new UnsetService();
- unsetService.instantiate(context);
-
- final RuleService ruleService = new RuleService();
- final RuleServiceHelperImpl ruleServiceHelper = new RuleServiceHelperImpl();
- ruleService.instantiate(context);
- ruleServiceHelper.instantiate(context);
- }
-
- /**
- * Adds a control with the given feature path domain model reference as a direct child of the view.
- *
- * @param domainModelReference
- * @return the created control
- */
- private VControl addControlToView(VFeaturePathDomainModelReference domainModelReference) {
- final VControl control = VViewFactory.eINSTANCE.createControl();
- control.setDomainModelReference(domainModelReference);
- view.getChildren().add(control);
- return control;
- }
-
- private VFeaturePathDomainModelReference merchandiseNameReferenceFromFan() {
- final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
- domainModelReference.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
- return domainModelReference;
- }
-
-}
diff --git a/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/UnsetService_PTest.java b/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/UnsetService_PTest.java
new file mode 100644
index 0000000..4aec8eb
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/UnsetService_PTest.java
@@ -0,0 +1,1598 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.unset.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.math.BigDecimal;
+import java.util.Set;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EStructuralFeature.Setting;
+import org.eclipse.emf.ecp.common.spi.UniqueSetting;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.internal.unset.UnsetService;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationFactory;
+import org.eclipse.emf.ecp.view.spi.categorization.model.VCategory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContextDisposeListener;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelService;
+import org.eclipse.emf.ecp.view.spi.model.ModelChangeListener;
+import org.eclipse.emf.ecp.view.spi.model.VContainedContainer;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableFactory;
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalFactory;
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout;
+import org.eclipse.emf.emfstore.bowling.BowlingFactory;
+import org.eclipse.emf.emfstore.bowling.BowlingPackage;
+import org.eclipse.emf.emfstore.bowling.Fan;
+import org.eclipse.emf.emfstore.bowling.Merchandise;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * @author jfaltermeier
+ *
+ */
+public class UnsetService_PTest {
+
+ private Fan fan;
+ private Merchandise merchandise;
+
+ private final EStructuralFeature merchandisePriceFeature = BowlingPackage.eINSTANCE.getMerchandise_Price();
+ private final EStructuralFeature merchandiseNameFeature = BowlingPackage.eINSTANCE.getMerchandise_Name();
+ private final EStructuralFeature fanNameFeature = BowlingPackage.eINSTANCE.getFan_Name();
+ private final BigDecimal price = new BigDecimal(19.84);
+ private final String mercName = "Wimpel";
+ private final String fanName = "Max Morlock";
+
+ private VView view;
+
+ private ViewModelContext context;
+ private DefaultRealm realm;
+
+ @Before
+ public void before() {
+ realm = new DefaultRealm();
+ fan = BowlingFactory.eINSTANCE.createFan();
+ merchandise = BowlingFactory.eINSTANCE.createMerchandise();
+ merchandise.setPrice(price);
+ merchandise.setName(mercName);
+ fan.setFavouriteMerchandise(merchandise);
+ fan.setName(fanName);
+
+ view = VViewFactory.eINSTANCE.createView();
+ view.setRootEClass(fan.eClass());
+ }
+
+ @After
+ public void after() {
+ if (context != null) {
+ context.dispose();
+ }
+ realm.dispose();
+ }
+
+ // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Public methods
+ // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ @Test
+ public void testInstantiate() {
+ final UnsetService unsetService = new UnsetService();
+ final ViewModelContextStub contextStub = new ViewModelContextStub();
+ unsetService.instantiate(contextStub);
+ assertTrue(contextStub.hasRegisteredViewListener);
+ assertFalse(contextStub.hasRegisteredDomainListener);
+ }
+
+ @Test(expected = IllegalStateException.class)
+ public void testInstantiateWithNullDomainModel() {
+ final UnsetService unsetService = new UnsetService();
+ final ViewModelContextStub contextStub = new ViewModelContextStub() {
+ @Override
+ public EObject getDomainModel() {
+ return null;
+ }
+ };
+ unsetService.instantiate(contextStub);
+ }
+
+ @Test(expected = IllegalStateException.class)
+ public void testInstantiateWithNullViewModel() {
+ final UnsetService unsetService = new UnsetService();
+ final ViewModelContextStub contextStub = new ViewModelContextStub() {
+ @Override
+ public VElement getViewModel() {
+ return null;
+ }
+ };
+ unsetService.instantiate(contextStub);
+ }
+
+ @Test
+ public void testDispose() {
+ final UnsetService unsetService = new UnsetService();
+ final ViewModelContextStub contextStub = new ViewModelContextStub();
+ unsetService.instantiate(contextStub);
+ assertTrue(contextStub.hasRegisteredViewListener);
+ assertFalse(contextStub.hasRegisteredDomainListener);
+ unsetService.dispose();
+ assertFalse(contextStub.hasRegisteredViewListener);
+ assertFalse(contextStub.hasRegisteredDomainListener);
+ }
+
+ @Test
+ public void testGetPriority() {
+ assertEquals(5, unsetService().getPriority());
+ }
+
+ // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Init
+ // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ @Test
+ public void testInitSingleControlInViewAllVisible() {
+ addControlToView(merchandisePriceReferenceFromFan());
+ unsetService();
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitSingleControlInViewWithHiddenControl() {
+ addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitSingleControlInViewWithHiddenView() {
+ addControlToView(merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitSingleControlInContainerAllVisible() {
+ addControlToContainer(addVerticalLayoutToView(), merchandisePriceReferenceFromFan());
+ unsetService();
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitSingleControlInContainerWithHiddenControl() {
+ addControlToContainer(addVerticalLayoutToView(), merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitSingleControlInContainerWithHiddenContainer() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ container.setVisible(false);
+ unsetService();
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitSingleControlInContainerWithHiddenView() {
+ addControlToContainer(addVerticalLayoutToView(), merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInViewAllVisible() {
+ addControlToView(merchandisePriceReferenceFromFan());
+ addControlToView(merchandisePriceReferenceFromFan());
+ unsetService();
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInViewWithOneHiddenControl() {
+ addControlToView(merchandisePriceReferenceFromFan());
+ addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInViewWithTwoHiddenControls() {
+ addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
+ addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInViewWithHiddenView() {
+ addControlToView(merchandisePriceReferenceFromFan());
+ addControlToView(merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInOneContainerAllVisible() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ unsetService();
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInOneContainerWithOneHiddenControl() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInOneContainerWithTwoHiddenControls() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
+ addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInOneContainerWithHiddenContainer() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ container.setVisible(false);
+ unsetService();
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInOneContainerWithHiddenView() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInTwoContainersAllVisible() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ unsetService();
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInTwoContainersWithOneHiddenControl() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInTwoContainersWithOneHiddenContainer() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ container1.setVisible(false);
+ unsetService();
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInTwoContainersWithTwoHiddenControls() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan()).setVisible(false);
+ addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInTwoContainersWithTwoHiddenContainers() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ container1.setVisible(false);
+ container2.setVisible(false);
+ unsetService();
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitTwoControlsInTwoContainersWithHiddenView() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Dynamic
+ // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ @Test
+ public void testChangeSingleControlInViewAllVisibleToHiddenControl() {
+ final VControl control = addControlToView(merchandisePriceReferenceFromFan());
+ unsetService();
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInViewAllVisibleToHiddenView() {
+ addControlToView(merchandisePriceReferenceFromFan());
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInViewWithHiddenControlToVisibleControl() {
+ final VControl control = addControlToView(merchandisePriceReferenceFromFan());
+ control.setVisible(false);
+ unsetService();
+ control.setVisible(true);
+ // we dont change the state of the domain model when shown again. if this changes assertions can be added here
+ merchandise.setPrice(price);
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInViewWithHiddenControlToHiddenView() {
+ final VControl control = addControlToView(merchandisePriceReferenceFromFan());
+ control.setVisible(false);
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInViewWithHiddenViewToHiddenControl() {
+ final VControl control = addControlToView(merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInViewWithHiddenViewToVisibleView() {
+ addControlToView(merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ view.setVisible(true);
+
+ // we dont change the state of the domain model when shown again. if this changes assertions can be added here
+ merchandise.setPrice(price);
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInContainerAllVisibleToHiddenControl() {
+ final VControl control = addControlToContainer(addVerticalLayoutToView(), merchandisePriceReferenceFromFan());
+ unsetService();
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInContainerAllVisibleToHiddenContainer() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ unsetService();
+ container.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInContainerAllVisibleToHiddenView() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInContainerWithHiddenControlToHiddenContainer() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ container.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInContainerWithHiddenControlToHiddenView() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInContainerWithHiddenControlToVisibleControl() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
+ control.setVisible(false);
+ unsetService();
+ control.setVisible(true);
+
+ // we dont change the state of the domain model when shown again. if this changes assertions can be added here
+ merchandise.setPrice(price);
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInContainerWithHiddenContainerToHiddenControl() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
+ container.setVisible(false);
+ unsetService();
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInContainerWithHiddenContainerToHiddenView() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ container.setVisible(false);
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInContainerWithHiddenContainerToVisibleContainer() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ container.setVisible(false);
+ unsetService();
+ container.setVisible(true);
+
+ // we dont change the state of the domain model when shown again. if this changes assertions can be added here
+ merchandise.setPrice(price);
+ container.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInContainerWithHiddenViewToHiddenControl() {
+ final VControl control = addControlToContainer(addVerticalLayoutToView(), merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInContainerWithHiddenViewToHiddenContainer() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ container.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeSingleControlInContainerWithHiddenViewToVisibleView() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ view.setVisible(true);
+
+ // we dont change the state of the domain model when shown again. if this changes assertions can be added here
+ merchandise.setPrice(price);
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInViewAllVisibleToOneHiddenControl() {
+ addControlToView(merchandisePriceReferenceFromFan());
+ final VControl control = addControlToView(merchandisePriceReferenceFromFan());
+ unsetService();
+ control.setVisible(false);
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInViewAllVisibleToOneHiddenView() {
+ addControlToView(merchandisePriceReferenceFromFan());
+ addControlToView(merchandisePriceReferenceFromFan());
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInViewWithOneHiddenControlToTwoVisibleControls() {
+ addControlToView(merchandisePriceReferenceFromFan());
+ final VControl control = addControlToView(merchandisePriceReferenceFromFan());
+ control.setVisible(false);
+ unsetService();
+ control.setVisible(true);
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInViewWithOneHiddenControlToTwoHiddenControls() {
+ final VControl control = addControlToView(merchandisePriceReferenceFromFan());
+ addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInViewWithOneHiddenControlToHiddenView() {
+ addControlToView(merchandisePriceReferenceFromFan());
+ addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInViewWithTwoHiddenControlsToHiddenView() {
+ addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
+ addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInViewWithTwoHiddenControlsToOneVisibleControl() {
+ addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
+ final VControl control = addControlToView(merchandisePriceReferenceFromFan());
+ control.setVisible(false);
+ unsetService();
+ control.setVisible(true);
+
+ // we dont change the state of the domain model when shown again. if this changes assertions can be added here
+ merchandise.setPrice(price);
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInViewWithHiddenViewToHiddenControl() {
+ addControlToView(merchandisePriceReferenceFromFan());
+ final VControl control = addControlToView(merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInViewWithHiddenViewToVisibleView() {
+ addControlToView(merchandisePriceReferenceFromFan());
+ addControlToView(merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ view.setVisible(true);
+
+ // we dont change the state of the domain model when shown again. if this changes assertions can be added here
+ merchandise.setPrice(price);
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerAllVisibleToOneHiddenControl() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
+ unsetService();
+ control.setVisible(false);
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerAllVisibleToHiddenContainer() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ unsetService();
+ container.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerAllVisibleToHiddenView() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerWithOneHiddenControlToTwoVisibleControls() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
+ control.setVisible(false);
+ unsetService();
+ control.setVisible(true);
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerWithOneHiddenControlToTwoHiddenControls() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
+ addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerWithOneHiddenControlToHiddenContainer() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ container.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerWithOneHiddenControlToHiddenView() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerWithTwoHiddenControlsToHiddenContainer() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
+ addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ container.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerWithTwoHiddenControlsToHiddenView() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
+ addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerWithTwoHiddenControlsToOneVisibleControl() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
+ final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
+ control.setVisible(false);
+ unsetService();
+ control.setVisible(true);
+
+ // we dont change the state of the domain model when shown again. if this changes assertions can be added here
+ merchandise.setPrice(price);
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerWithHiddenContainerToOneHiddenControl() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
+ container.setVisible(false);
+ unsetService();
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerWithHiddenContainerToHiddenView() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ container.setVisible(false);
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerWithHiddenContainerToVisibleContainer() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ container.setVisible(false);
+ unsetService();
+ container.setVisible(true);
+
+ // we dont change the state of the domain model when shown again. if this changes assertions can be added here
+ merchandise.setPrice(price);
+ container.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerWithHiddenViewToOneHiddenControl() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerWithHiddenViewToHiddenContainer() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ container.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInOneContainerWithHiddenViewToVisibleView() {
+ final VContainedContainer container = addVerticalLayoutToView();
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ addControlToContainer(container, merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ view.setVisible(true);
+
+ // we dont change the state of the domain model when shown again. if this changes assertions can be added here
+ merchandise.setPrice(price);
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersAllVisibleToOneHiddenControl() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ final VControl control = addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ unsetService();
+ control.setVisible(false);
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersAllVisibleToOneHiddenContainer() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ unsetService();
+ container1.setVisible(false);
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersAllVisibleToHiddenView() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithOneHiddenControlToTwoVisibleControls() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ final VControl control = addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ control.setVisible(false);
+ unsetService();
+ control.setVisible(true);
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithOneHiddenControlToHiddenContainerOfHiddenControl() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ container2.setVisible(false);
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithOneHiddenControlToTwoHiddenControls() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ final VControl control = addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithOneHiddenControlToHiddenContainerOfVisibleControl() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ container1.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithOneHiddenControlToHiddenView() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithOneHiddenContainerToHiddenControlInHiddenContainer() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ final VControl control = addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ container1.setVisible(false);
+ unsetService();
+ control.setVisible(false);
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithOneHiddenContainerToTwoVisibleContainers() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ container1.setVisible(false);
+ unsetService();
+ container1.setVisible(true);
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithOneHiddenContainerToHiddenControlInVisibleContainer() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ final VControl control = addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ container1.setVisible(false);
+ unsetService();
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithOneHiddenContainerToTwoHiddenContainer() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ container1.setVisible(false);
+ unsetService();
+ container2.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithOneHiddenContainerToHiddenView() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ container1.setVisible(false);
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithTwoHiddenControlsToOneHiddenContainer() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan()).setVisible(false);
+ addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ container1.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithTwoHiddenControlsToHiddenView() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan()).setVisible(false);
+ addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithTwoHiddenControlsToOneVisibleControl() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan()).setVisible(false);
+ final VControl control = addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ control.setVisible(false);
+ unsetService();
+ control.setVisible(true);
+
+ // we dont change the state of the domain model when shown again. if this changes assertions can be added here
+ merchandise.setPrice(price);
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithTwoHiddenContainersToOneHiddenControl() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ final VControl control = addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ container1.setVisible(false);
+ container2.setVisible(false);
+ unsetService();
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithTwoHiddenContainersToHiddenView() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ container1.setVisible(false);
+ container2.setVisible(false);
+ unsetService();
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithTwoHiddenContainersToOneVisibleContainer() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ container1.setVisible(false);
+ container2.setVisible(false);
+ unsetService();
+ container1.setVisible(true);
+
+ // we dont change the state of the domain model when shown again. if this changes assertions can be added here
+ merchandise.setPrice(price);
+ container1.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithHiddenViewToOneHiddenControl() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ final VControl control = addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ control.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithHiddenViewToOneHiddenContainer() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ container1.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testChangeTwoControlsInTwoContainersWithHiddenViewToVisibleView() {
+ final VContainedContainer container1 = addVerticalLayoutToView();
+ final VContainedContainer container2 = addVerticalLayoutToView();
+ addControlToContainer(container1, merchandisePriceReferenceFromFan());
+ addControlToContainer(container2, merchandisePriceReferenceFromFan());
+ view.setVisible(false);
+ unsetService();
+ view.setVisible(true);
+
+ // we dont change the state of the domain model when shown again. if this changes assertions can be added here
+ merchandise.setPrice(price);
+ view.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // More specific test
+ // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ @Test
+ public void testChangeOtherViewFeatures() {
+ final VControl control = addControlToView(merchandisePriceReferenceFromFan());
+ unsetService();
+ for (final EStructuralFeature feature : control.eClass().getEAllStructuralFeatures()) {
+ if (feature == VViewPackage.eINSTANCE.getElement_Visible()) {
+ continue;
+ }
+ if (!feature.isMany()) {
+ control.eSet(feature, feature.getDefaultValue());
+ }
+ }
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ }
+
+ @Test
+ public void testInitDifferentControls() {
+ addControlToContainer(addVerticalLayoutToView(), merchandisePriceReferenceFromFan()).setVisible(false);
+ addControlToContainer(addVerticalLayoutToView(), merchandiseNameReferenceFromFan());
+ unsetService();
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ assertEquals(mercName, merchandise.getName());
+ assertTrue(merchandise.eIsSet(merchandiseNameFeature));
+ }
+
+ @Test
+ public void testChangeDifferentControls() {
+ final VControl mercControl = addControlToContainer(addVerticalLayoutToView(),
+ merchandisePriceReferenceFromFan());
+ final VControl fanControl = addControlToContainer(addVerticalLayoutToView(), fanNameReference());
+ unsetService();
+ mercControl.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ assertEquals(fanName, fan.getName());
+ assertTrue(fan.eIsSet(fanNameFeature));
+ fanControl.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ assertEquals(fanNameFeature.getDefaultValue(), fan.getName());
+ assertFalse(fan.eIsSet(fanNameFeature));
+ }
+
+ @Test
+ public void testComplexCategorization() {
+ final VCategorizationElement categorizationElement = VCategorizationFactory.eINSTANCE
+ .createCategorizationElement();
+
+ final VCategorization categorization1 = VCategorizationFactory.eINSTANCE.createCategorization();
+ final VCategorization categorization1a = VCategorizationFactory.eINSTANCE.createCategorization();
+ final VCategorization categorization2 = VCategorizationFactory.eINSTANCE.createCategorization();
+
+ final VCategory category11 = VCategorizationFactory.eINSTANCE.createCategory();
+ final VControl control11 = addControlToCategory(category11, merchandisePriceReferenceFromFan());
+ final VCategory category12 = VCategorizationFactory.eINSTANCE.createCategory();
+ final VControl control12 = addControlToCategory(category12, merchandisePriceReferenceFromFan());
+
+ final VCategory category1a1 = VCategorizationFactory.eINSTANCE.createCategory();
+ addControlToCategory(category1a1, merchandisePriceReferenceFromFan());
+ final VCategory category1a2 = VCategorizationFactory.eINSTANCE.createCategory();
+ final VControl control1a2 = addControlToCategory(category1a2, merchandiseNameReferenceFromFan());
+
+ final VCategory category21 = VCategorizationFactory.eINSTANCE.createCategory();
+ addControlToCategory(category21, merchandisePriceReferenceFromFan());
+ final VCategory category22 = VCategorizationFactory.eINSTANCE.createCategory();
+ addControlToCategory(category22, fanNameReference());
+
+ categorization1.getCategorizations().add(category11);
+ categorization1.getCategorizations().add(category12);
+
+ categorization1a.getCategorizations().add(category1a1);
+ categorization1a.getCategorizations().add(category1a2);
+
+ categorization2.getCategorizations().add(category21);
+ categorization2.getCategorizations().add(category22);
+
+ categorization1.getCategorizations().add(categorization1a);
+ categorizationElement.getCategorizations().add(categorization1);
+ categorizationElement.getCategorizations().add(categorization2);
+ view.getChildren().add(categorizationElement);
+
+ unsetService();
+
+ doLogicForComplexCategorizationTest(categorization2, control11, control12, category1a1, control1a2);
+
+ }
+
+ private void doLogicForComplexCategorizationTest(final VCategorization categorization2,
+ final VControl control11, final VControl control12, final VCategory category1a1, final VControl control1a2) {
+
+ control11.setVisible(false);
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ assertEquals(mercName, merchandise.getName());
+ assertTrue(merchandise.eIsSet(merchandiseNameFeature));
+ assertEquals(fanName, fan.getName());
+ assertTrue(fan.eIsSet(fanNameFeature));
+
+ control1a2.setVisible(false);
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ assertEquals(merchandiseNameFeature.getDefaultValue(), merchandise.getName());
+ assertFalse(merchandise.eIsSet(merchandiseNameFeature));
+ assertEquals(fanName, fan.getName());
+ assertTrue(fan.eIsSet(fanNameFeature));
+
+ categorization2.setVisible(false);
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ assertEquals(merchandiseNameFeature.getDefaultValue(), merchandise.getName());
+ assertFalse(merchandise.eIsSet(merchandiseNameFeature));
+ assertEquals(fanNameFeature.getDefaultValue(), fan.getName());
+ assertFalse(fan.eIsSet(fanNameFeature));
+
+ category1a1.setVisible(false);
+ assertEquals(price, merchandise.getPrice());
+ assertTrue(merchandise.eIsSet(merchandisePriceFeature));
+ assertEquals(merchandiseNameFeature.getDefaultValue(), merchandise.getName());
+ assertFalse(merchandise.eIsSet(merchandiseNameFeature));
+ assertEquals(fanNameFeature.getDefaultValue(), fan.getName());
+ assertFalse(fan.eIsSet(fanNameFeature));
+
+ control12.setVisible(false);
+ assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
+ assertFalse(merchandise.eIsSet(merchandisePriceFeature));
+ assertEquals(merchandiseNameFeature.getDefaultValue(), merchandise.getName());
+ assertFalse(merchandise.eIsSet(merchandiseNameFeature));
+ assertEquals(fanNameFeature.getDefaultValue(), fan.getName());
+ assertFalse(fan.eIsSet(fanNameFeature));
+ }
+
+ /**
+ * Test if exception occurs when control has no setting.
+ */
+ @Test
+ public void testControlWithoutSetting() {
+ final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
+ final VControl control = addControlToView(domainModelReference);
+ assertFalse(control.getDomainModelReference().getIterator().hasNext());
+ unsetService();
+ }
+
+ @Test
+ public void testTable() {
+ final Merchandise merc = BowlingFactory.eINSTANCE.createMerchandise();
+ merc.setName("Foo");
+ fan.getFanMerchandise().add(merc);
+
+ final VTableControl table = VTableFactory.eINSTANCE.createTableControl();
+ final VTableDomainModelReference tableDomainModelReference = VTableFactory.eINSTANCE
+ .createTableDomainModelReference();
+ tableDomainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_FanMerchandise());
+ table.setDomainModelReference(tableDomainModelReference);
+
+ final VFeaturePathDomainModelReference nameCol = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
+ nameCol.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
+ final VFeaturePathDomainModelReference priceCol = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ priceCol.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Price());
+ VTableDomainModelReference.class.cast(table.getDomainModelReference()).getColumnDomainModelReferences()
+ .add(nameCol);
+ VTableDomainModelReference.class.cast(table.getDomainModelReference()).getColumnDomainModelReferences()
+ .add(priceCol);
+
+ view.getChildren().add(table);
+
+ unsetService();
+ assertEquals(1, fan.getFanMerchandise().size());
+ assertEquals(merc, fan.getFanMerchandise().get(0));
+ assertTrue(fan.eIsSet(BowlingPackage.eINSTANCE.getFan_FanMerchandise()));
+
+ table.setVisible(false);
+
+ assertEquals(0, fan.getFanMerchandise().size());
+ assertFalse(fan.eIsSet(BowlingPackage.eINSTANCE.getFan_FanMerchandise()));
+ assertEquals("Foo", merc.getName());
+ }
+
+ // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Factory methods
+ // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ /**
+ * Creates the unset service.
+ *
+ * @return
+ */
+ private UnsetService unsetService() {
+ final UnsetService unsetService = new UnsetService();
+ context = ViewModelContextFactory.INSTANCE.createViewModelContext(view, fan);
+ unsetService.instantiate(context);
+ return unsetService;
+ }
+
+ /**
+ * Adds a control with the given feature path domain model reference as a direct child of the view.
+ *
+ * @param domainModelReference
+ * @return the created control
+ */
+ private VControl addControlToView(VFeaturePathDomainModelReference domainModelReference) {
+ final VControl control = VViewFactory.eINSTANCE.createControl();
+ control.setDomainModelReference(domainModelReference);
+ view.getChildren().add(control);
+ return control;
+ }
+
+ /**
+ * Adds a control with the given feature path domain model reference as a direct child of the container.
+ *
+ * @param domainModelReference
+ * @return the created control
+ */
+ private VControl addControlToContainer(VContainedContainer container,
+ VFeaturePathDomainModelReference domainModelReference) {
+ final VControl control = VViewFactory.eINSTANCE.createControl();
+ control.setDomainModelReference(domainModelReference);
+ container.getChildren().add(control);
+ return control;
+ }
+
+ private VControl addControlToCategory(VCategory category, VFeaturePathDomainModelReference domainModelReference) {
+ final VControl control = VViewFactory.eINSTANCE.createControl();
+ control.setDomainModelReference(domainModelReference);
+ category.setComposite(control);
+ return control;
+ }
+
+ /**
+ * Adds a vertical layout as a direct child of the view.
+ *
+ * @return the created layout
+ */
+ private VVerticalLayout addVerticalLayoutToView() {
+ final VVerticalLayout layout = VVerticalFactory.eINSTANCE.createVerticalLayout();
+ view.getChildren().add(layout);
+ return layout;
+ }
+
+ /**
+ * References the player name from a league object.
+ *
+ * @return
+ */
+ private VFeaturePathDomainModelReference merchandisePriceReferenceFromFan() {
+ final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Price());
+ domainModelReference.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
+ return domainModelReference;
+ }
+
+ private VFeaturePathDomainModelReference merchandiseNameReferenceFromFan() {
+ final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
+ domainModelReference.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
+ return domainModelReference;
+ }
+
+ private VFeaturePathDomainModelReference fanNameReference() {
+ final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_Name());
+ return domainModelReference;
+ }
+
+ // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Helper- & stub classes
+ // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ /**
+ * @author Jonas
+ *
+ */
+ private class ViewModelContextStub implements ViewModelContext {
+
+ private boolean hasRegisteredViewListener;
+ private boolean hasRegisteredDomainListener;
+
+ @Override
+ public void unregisterViewChangeListener(ModelChangeListener modelChangeListener) {
+ hasRegisteredViewListener = false;
+ }
+
+ @Override
+ public void unregisterDomainChangeListener(ModelChangeListener modelChangeListener) {
+ hasRegisteredDomainListener = false;
+ }
+
+ @Override
+ public void registerViewChangeListener(ModelChangeListener modelChangeListener) {
+ hasRegisteredViewListener = true;
+ }
+
+ @Override
+ public void registerDomainChangeListener(ModelChangeListener modelChangeListener) {
+ hasRegisteredDomainListener = true;
+ }
+
+ @Override
+ public VElement getViewModel() {
+ return view;
+ }
+
+ @Override
+ public EObject getDomainModel() {
+ return fan;
+ }
+
+ @Override
+ public void dispose() {
+ }
+
+ @Override
+ public <T> boolean hasService(Class<T> serviceType) {
+ return false;
+ }
+
+ @Override
+ public <T> T getService(Class<T> serviceType) {
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getControlsFor(org.eclipse.emf.ecore.EStructuralFeature.Setting)
+ */
+ @Override
+ public Set<VControl> getControlsFor(Setting setting) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getControlsFor(UniqueSetting)
+ */
+ @Override
+ public Set<VElement> getControlsFor(UniqueSetting setting) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getContextValue(java.lang.String)
+ */
+ @Override
+ public Object getContextValue(String key) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#putContextValue(java.lang.String,
+ * java.lang.Object)
+ */
+ @Override
+ public void putContextValue(String key, Object value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#registerDisposeListener(org.eclipse.emf.ecp.view.spi.context.ViewModelContextDisposeListener)
+ */
+ @Override
+ public void registerDisposeListener(ViewModelContextDisposeListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#addContextUser(java.lang.Object)
+ */
+ @Override
+ public void addContextUser(Object user) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#removeContextUser(java.lang.Object)
+ */
+ @Override
+ public void removeContextUser(Object user) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getChildContext(org.eclipse.emf.ecore.EObject,
+ * org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.model.VView,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelService[])
+ */
+ @Override
+ public ViewModelContext getChildContext(EObject eObject, VElement parent, VView vView,
+ ViewModelService... viewModelServices) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ }
+
+}
diff --git a/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/UnsetService_Test.java b/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/UnsetService_Test.java
deleted file mode 100644
index 294a3c6..0000000
--- a/tests/org.eclipse.emf.ecp.view.unset.test/src/org/eclipse/emf/ecp/view/unset/test/UnsetService_Test.java
+++ /dev/null
@@ -1,1594 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Johannes Faltermeier - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.unset.test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.math.BigDecimal;
-import java.util.Set;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-import org.eclipse.emf.ecp.common.spi.UniqueSetting;
-import org.eclipse.emf.ecp.view.internal.unset.UnsetService;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorization;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationElement;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategorizationFactory;
-import org.eclipse.emf.ecp.view.spi.categorization.model.VCategory;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContextDisposeListener;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
-import org.eclipse.emf.ecp.view.spi.context.ViewModelService;
-import org.eclipse.emf.ecp.view.spi.model.ModelChangeListener;
-import org.eclipse.emf.ecp.view.spi.model.VContainedContainer;
-import org.eclipse.emf.ecp.view.spi.model.VControl;
-import org.eclipse.emf.ecp.view.spi.model.VElement;
-import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
-import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
-import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
-import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
-import org.eclipse.emf.ecp.view.spi.table.model.VTableFactory;
-import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalFactory;
-import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout;
-import org.eclipse.emf.emfstore.bowling.BowlingFactory;
-import org.eclipse.emf.emfstore.bowling.BowlingPackage;
-import org.eclipse.emf.emfstore.bowling.Fan;
-import org.eclipse.emf.emfstore.bowling.Merchandise;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * @author jfaltermeier
- *
- */
-public class UnsetService_Test {
-
- private Fan fan;
- private Merchandise merchandise;
-
- private final EStructuralFeature merchandisePriceFeature = BowlingPackage.eINSTANCE.getMerchandise_Price();
- private final EStructuralFeature merchandiseNameFeature = BowlingPackage.eINSTANCE.getMerchandise_Name();
- private final EStructuralFeature fanNameFeature = BowlingPackage.eINSTANCE.getFan_Name();
- private final BigDecimal price = new BigDecimal(19.84);
- private final String mercName = "Wimpel";
- private final String fanName = "Max Morlock";
-
- private VView view;
-
- private ViewModelContext context;
-
- @Before
- public void before() {
- fan = BowlingFactory.eINSTANCE.createFan();
- merchandise = BowlingFactory.eINSTANCE.createMerchandise();
- merchandise.setPrice(price);
- merchandise.setName(mercName);
- fan.setFavouriteMerchandise(merchandise);
- fan.setName(fanName);
-
- view = VViewFactory.eINSTANCE.createView();
- view.setRootEClass(fan.eClass());
- }
-
- @After
- public void after() {
- if (context != null) {
- context.dispose();
- }
- }
-
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // Public methods
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- @Test
- public void testInstantiate() {
- final UnsetService unsetService = new UnsetService();
- final ViewModelContextStub contextStub = new ViewModelContextStub();
- unsetService.instantiate(contextStub);
- assertTrue(contextStub.hasRegisteredViewListener);
- assertFalse(contextStub.hasRegisteredDomainListener);
- }
-
- @Test(expected = IllegalStateException.class)
- public void testInstantiateWithNullDomainModel() {
- final UnsetService unsetService = new UnsetService();
- final ViewModelContextStub contextStub = new ViewModelContextStub() {
- @Override
- public EObject getDomainModel() {
- return null;
- }
- };
- unsetService.instantiate(contextStub);
- }
-
- @Test(expected = IllegalStateException.class)
- public void testInstantiateWithNullViewModel() {
- final UnsetService unsetService = new UnsetService();
- final ViewModelContextStub contextStub = new ViewModelContextStub() {
- @Override
- public VElement getViewModel() {
- return null;
- }
- };
- unsetService.instantiate(contextStub);
- }
-
- @Test
- public void testDispose() {
- final UnsetService unsetService = new UnsetService();
- final ViewModelContextStub contextStub = new ViewModelContextStub();
- unsetService.instantiate(contextStub);
- assertTrue(contextStub.hasRegisteredViewListener);
- assertFalse(contextStub.hasRegisteredDomainListener);
- unsetService.dispose();
- assertFalse(contextStub.hasRegisteredViewListener);
- assertFalse(contextStub.hasRegisteredDomainListener);
- }
-
- @Test
- public void testGetPriority() {
- assertEquals(5, unsetService().getPriority());
- }
-
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // Init
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- @Test
- public void testInitSingleControlInViewAllVisible() {
- addControlToView(merchandisePriceReferenceFromFan());
- unsetService();
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitSingleControlInViewWithHiddenControl() {
- addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitSingleControlInViewWithHiddenView() {
- addControlToView(merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitSingleControlInContainerAllVisible() {
- addControlToContainer(addVerticalLayoutToView(), merchandisePriceReferenceFromFan());
- unsetService();
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitSingleControlInContainerWithHiddenControl() {
- addControlToContainer(addVerticalLayoutToView(), merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitSingleControlInContainerWithHiddenContainer() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- container.setVisible(false);
- unsetService();
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitSingleControlInContainerWithHiddenView() {
- addControlToContainer(addVerticalLayoutToView(), merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInViewAllVisible() {
- addControlToView(merchandisePriceReferenceFromFan());
- addControlToView(merchandisePriceReferenceFromFan());
- unsetService();
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInViewWithOneHiddenControl() {
- addControlToView(merchandisePriceReferenceFromFan());
- addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInViewWithTwoHiddenControls() {
- addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
- addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInViewWithHiddenView() {
- addControlToView(merchandisePriceReferenceFromFan());
- addControlToView(merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInOneContainerAllVisible() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- unsetService();
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInOneContainerWithOneHiddenControl() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInOneContainerWithTwoHiddenControls() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
- addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInOneContainerWithHiddenContainer() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- container.setVisible(false);
- unsetService();
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInOneContainerWithHiddenView() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInTwoContainersAllVisible() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan());
- unsetService();
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInTwoContainersWithOneHiddenControl() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInTwoContainersWithOneHiddenContainer() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan());
- container1.setVisible(false);
- unsetService();
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInTwoContainersWithTwoHiddenControls() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan()).setVisible(false);
- addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInTwoContainersWithTwoHiddenContainers() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan());
- container1.setVisible(false);
- container2.setVisible(false);
- unsetService();
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitTwoControlsInTwoContainersWithHiddenView() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // Dynamic
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- @Test
- public void testChangeSingleControlInViewAllVisibleToHiddenControl() {
- final VControl control = addControlToView(merchandisePriceReferenceFromFan());
- unsetService();
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInViewAllVisibleToHiddenView() {
- addControlToView(merchandisePriceReferenceFromFan());
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInViewWithHiddenControlToVisibleControl() {
- final VControl control = addControlToView(merchandisePriceReferenceFromFan());
- control.setVisible(false);
- unsetService();
- control.setVisible(true);
- // we dont change the state of the domain model when shown again. if this changes assertions can be added here
- merchandise.setPrice(price);
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInViewWithHiddenControlToHiddenView() {
- final VControl control = addControlToView(merchandisePriceReferenceFromFan());
- control.setVisible(false);
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInViewWithHiddenViewToHiddenControl() {
- final VControl control = addControlToView(merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInViewWithHiddenViewToVisibleView() {
- addControlToView(merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- view.setVisible(true);
-
- // we dont change the state of the domain model when shown again. if this changes assertions can be added here
- merchandise.setPrice(price);
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInContainerAllVisibleToHiddenControl() {
- final VControl control = addControlToContainer(addVerticalLayoutToView(), merchandisePriceReferenceFromFan());
- unsetService();
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInContainerAllVisibleToHiddenContainer() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- unsetService();
- container.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInContainerAllVisibleToHiddenView() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInContainerWithHiddenControlToHiddenContainer() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- container.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInContainerWithHiddenControlToHiddenView() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInContainerWithHiddenControlToVisibleControl() {
- final VContainedContainer container = addVerticalLayoutToView();
- final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
- control.setVisible(false);
- unsetService();
- control.setVisible(true);
-
- // we dont change the state of the domain model when shown again. if this changes assertions can be added here
- merchandise.setPrice(price);
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInContainerWithHiddenContainerToHiddenControl() {
- final VContainedContainer container = addVerticalLayoutToView();
- final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
- container.setVisible(false);
- unsetService();
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInContainerWithHiddenContainerToHiddenView() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- container.setVisible(false);
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInContainerWithHiddenContainerToVisibleContainer() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- container.setVisible(false);
- unsetService();
- container.setVisible(true);
-
- // we dont change the state of the domain model when shown again. if this changes assertions can be added here
- merchandise.setPrice(price);
- container.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInContainerWithHiddenViewToHiddenControl() {
- final VControl control = addControlToContainer(addVerticalLayoutToView(), merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInContainerWithHiddenViewToHiddenContainer() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- container.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeSingleControlInContainerWithHiddenViewToVisibleView() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- view.setVisible(true);
-
- // we dont change the state of the domain model when shown again. if this changes assertions can be added here
- merchandise.setPrice(price);
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInViewAllVisibleToOneHiddenControl() {
- addControlToView(merchandisePriceReferenceFromFan());
- final VControl control = addControlToView(merchandisePriceReferenceFromFan());
- unsetService();
- control.setVisible(false);
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInViewAllVisibleToOneHiddenView() {
- addControlToView(merchandisePriceReferenceFromFan());
- addControlToView(merchandisePriceReferenceFromFan());
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInViewWithOneHiddenControlToTwoVisibleControls() {
- addControlToView(merchandisePriceReferenceFromFan());
- final VControl control = addControlToView(merchandisePriceReferenceFromFan());
- control.setVisible(false);
- unsetService();
- control.setVisible(true);
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInViewWithOneHiddenControlToTwoHiddenControls() {
- final VControl control = addControlToView(merchandisePriceReferenceFromFan());
- addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInViewWithOneHiddenControlToHiddenView() {
- addControlToView(merchandisePriceReferenceFromFan());
- addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInViewWithTwoHiddenControlsToHiddenView() {
- addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
- addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInViewWithTwoHiddenControlsToOneVisibleControl() {
- addControlToView(merchandisePriceReferenceFromFan()).setVisible(false);
- final VControl control = addControlToView(merchandisePriceReferenceFromFan());
- control.setVisible(false);
- unsetService();
- control.setVisible(true);
-
- // we dont change the state of the domain model when shown again. if this changes assertions can be added here
- merchandise.setPrice(price);
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInViewWithHiddenViewToHiddenControl() {
- addControlToView(merchandisePriceReferenceFromFan());
- final VControl control = addControlToView(merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInViewWithHiddenViewToVisibleView() {
- addControlToView(merchandisePriceReferenceFromFan());
- addControlToView(merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- view.setVisible(true);
-
- // we dont change the state of the domain model when shown again. if this changes assertions can be added here
- merchandise.setPrice(price);
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerAllVisibleToOneHiddenControl() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
- unsetService();
- control.setVisible(false);
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerAllVisibleToHiddenContainer() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- unsetService();
- container.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerAllVisibleToHiddenView() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerWithOneHiddenControlToTwoVisibleControls() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
- control.setVisible(false);
- unsetService();
- control.setVisible(true);
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerWithOneHiddenControlToTwoHiddenControls() {
- final VContainedContainer container = addVerticalLayoutToView();
- final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
- addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerWithOneHiddenControlToHiddenContainer() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- container.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerWithOneHiddenControlToHiddenView() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerWithTwoHiddenControlsToHiddenContainer() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
- addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- container.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerWithTwoHiddenControlsToHiddenView() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
- addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerWithTwoHiddenControlsToOneVisibleControl() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan()).setVisible(false);
- final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
- control.setVisible(false);
- unsetService();
- control.setVisible(true);
-
- // we dont change the state of the domain model when shown again. if this changes assertions can be added here
- merchandise.setPrice(price);
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerWithHiddenContainerToOneHiddenControl() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
- container.setVisible(false);
- unsetService();
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerWithHiddenContainerToHiddenView() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- container.setVisible(false);
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerWithHiddenContainerToVisibleContainer() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- container.setVisible(false);
- unsetService();
- container.setVisible(true);
-
- // we dont change the state of the domain model when shown again. if this changes assertions can be added here
- merchandise.setPrice(price);
- container.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerWithHiddenViewToOneHiddenControl() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- final VControl control = addControlToContainer(container, merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerWithHiddenViewToHiddenContainer() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- container.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInOneContainerWithHiddenViewToVisibleView() {
- final VContainedContainer container = addVerticalLayoutToView();
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- addControlToContainer(container, merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- view.setVisible(true);
-
- // we dont change the state of the domain model when shown again. if this changes assertions can be added here
- merchandise.setPrice(price);
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersAllVisibleToOneHiddenControl() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- final VControl control = addControlToContainer(container2, merchandisePriceReferenceFromFan());
- unsetService();
- control.setVisible(false);
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersAllVisibleToOneHiddenContainer() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan());
- unsetService();
- container1.setVisible(false);
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersAllVisibleToHiddenView() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan());
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithOneHiddenControlToTwoVisibleControls() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- final VControl control = addControlToContainer(container2, merchandisePriceReferenceFromFan());
- control.setVisible(false);
- unsetService();
- control.setVisible(true);
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithOneHiddenControlToHiddenContainerOfHiddenControl() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- container2.setVisible(false);
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithOneHiddenControlToTwoHiddenControls() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- final VControl control = addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithOneHiddenControlToHiddenContainerOfVisibleControl() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- container1.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithOneHiddenControlToHiddenView() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithOneHiddenContainerToHiddenControlInHiddenContainer() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- final VControl control = addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan());
- container1.setVisible(false);
- unsetService();
- control.setVisible(false);
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithOneHiddenContainerToTwoVisibleContainers() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan());
- container1.setVisible(false);
- unsetService();
- container1.setVisible(true);
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithOneHiddenContainerToHiddenControlInVisibleContainer() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- final VControl control = addControlToContainer(container2, merchandisePriceReferenceFromFan());
- container1.setVisible(false);
- unsetService();
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithOneHiddenContainerToTwoHiddenContainer() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan());
- container1.setVisible(false);
- unsetService();
- container2.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithOneHiddenContainerToHiddenView() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan());
- container1.setVisible(false);
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithTwoHiddenControlsToOneHiddenContainer() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan()).setVisible(false);
- addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- container1.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithTwoHiddenControlsToHiddenView() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan()).setVisible(false);
- addControlToContainer(container2, merchandisePriceReferenceFromFan()).setVisible(false);
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithTwoHiddenControlsToOneVisibleControl() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan()).setVisible(false);
- final VControl control = addControlToContainer(container2, merchandisePriceReferenceFromFan());
- control.setVisible(false);
- unsetService();
- control.setVisible(true);
-
- // we dont change the state of the domain model when shown again. if this changes assertions can be added here
- merchandise.setPrice(price);
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithTwoHiddenContainersToOneHiddenControl() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- final VControl control = addControlToContainer(container2, merchandisePriceReferenceFromFan());
- container1.setVisible(false);
- container2.setVisible(false);
- unsetService();
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithTwoHiddenContainersToHiddenView() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan());
- container1.setVisible(false);
- container2.setVisible(false);
- unsetService();
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithTwoHiddenContainersToOneVisibleContainer() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan());
- container1.setVisible(false);
- container2.setVisible(false);
- unsetService();
- container1.setVisible(true);
-
- // we dont change the state of the domain model when shown again. if this changes assertions can be added here
- merchandise.setPrice(price);
- container1.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithHiddenViewToOneHiddenControl() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- final VControl control = addControlToContainer(container2, merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- control.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithHiddenViewToOneHiddenContainer() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- container1.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testChangeTwoControlsInTwoContainersWithHiddenViewToVisibleView() {
- final VContainedContainer container1 = addVerticalLayoutToView();
- final VContainedContainer container2 = addVerticalLayoutToView();
- addControlToContainer(container1, merchandisePriceReferenceFromFan());
- addControlToContainer(container2, merchandisePriceReferenceFromFan());
- view.setVisible(false);
- unsetService();
- view.setVisible(true);
-
- // we dont change the state of the domain model when shown again. if this changes assertions can be added here
- merchandise.setPrice(price);
- view.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // More specific test
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- @Test
- public void testChangeOtherViewFeatures() {
- final VControl control = addControlToView(merchandisePriceReferenceFromFan());
- unsetService();
- for (final EStructuralFeature feature : control.eClass().getEAllStructuralFeatures()) {
- if (feature == VViewPackage.eINSTANCE.getElement_Visible()) {
- continue;
- }
- if (!feature.isMany()) {
- control.eSet(feature, feature.getDefaultValue());
- }
- }
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- }
-
- @Test
- public void testInitDifferentControls() {
- addControlToContainer(addVerticalLayoutToView(), merchandisePriceReferenceFromFan()).setVisible(false);
- addControlToContainer(addVerticalLayoutToView(), merchandiseNameReferenceFromFan());
- unsetService();
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- assertEquals(mercName, merchandise.getName());
- assertTrue(merchandise.eIsSet(merchandiseNameFeature));
- }
-
- @Test
- public void testChangeDifferentControls() {
- final VControl mercControl = addControlToContainer(addVerticalLayoutToView(),
- merchandisePriceReferenceFromFan());
- final VControl fanControl = addControlToContainer(addVerticalLayoutToView(), fanNameReference());
- unsetService();
- mercControl.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- assertEquals(fanName, fan.getName());
- assertTrue(fan.eIsSet(fanNameFeature));
- fanControl.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- assertEquals(fanNameFeature.getDefaultValue(), fan.getName());
- assertFalse(fan.eIsSet(fanNameFeature));
- }
-
- @Test
- public void testComplexCategorization() {
- final VCategorizationElement categorizationElement = VCategorizationFactory.eINSTANCE
- .createCategorizationElement();
-
- final VCategorization categorization1 = VCategorizationFactory.eINSTANCE.createCategorization();
- final VCategorization categorization1a = VCategorizationFactory.eINSTANCE.createCategorization();
- final VCategorization categorization2 = VCategorizationFactory.eINSTANCE.createCategorization();
-
- final VCategory category11 = VCategorizationFactory.eINSTANCE.createCategory();
- final VControl control11 = addControlToCategory(category11, merchandisePriceReferenceFromFan());
- final VCategory category12 = VCategorizationFactory.eINSTANCE.createCategory();
- final VControl control12 = addControlToCategory(category12, merchandisePriceReferenceFromFan());
-
- final VCategory category1a1 = VCategorizationFactory.eINSTANCE.createCategory();
- addControlToCategory(category1a1, merchandisePriceReferenceFromFan());
- final VCategory category1a2 = VCategorizationFactory.eINSTANCE.createCategory();
- final VControl control1a2 = addControlToCategory(category1a2, merchandiseNameReferenceFromFan());
-
- final VCategory category21 = VCategorizationFactory.eINSTANCE.createCategory();
- addControlToCategory(category21, merchandisePriceReferenceFromFan());
- final VCategory category22 = VCategorizationFactory.eINSTANCE.createCategory();
- addControlToCategory(category22, fanNameReference());
-
- categorization1.getCategorizations().add(category11);
- categorization1.getCategorizations().add(category12);
-
- categorization1a.getCategorizations().add(category1a1);
- categorization1a.getCategorizations().add(category1a2);
-
- categorization2.getCategorizations().add(category21);
- categorization2.getCategorizations().add(category22);
-
- categorization1.getCategorizations().add(categorization1a);
- categorizationElement.getCategorizations().add(categorization1);
- categorizationElement.getCategorizations().add(categorization2);
- view.getChildren().add(categorizationElement);
-
- unsetService();
-
- doLogicForComplexCategorizationTest(categorization2, control11, control12, category1a1, control1a2);
-
- }
-
- private void doLogicForComplexCategorizationTest(final VCategorization categorization2,
- final VControl control11, final VControl control12, final VCategory category1a1, final VControl control1a2) {
-
- control11.setVisible(false);
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- assertEquals(mercName, merchandise.getName());
- assertTrue(merchandise.eIsSet(merchandiseNameFeature));
- assertEquals(fanName, fan.getName());
- assertTrue(fan.eIsSet(fanNameFeature));
-
- control1a2.setVisible(false);
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- assertEquals(merchandiseNameFeature.getDefaultValue(), merchandise.getName());
- assertFalse(merchandise.eIsSet(merchandiseNameFeature));
- assertEquals(fanName, fan.getName());
- assertTrue(fan.eIsSet(fanNameFeature));
-
- categorization2.setVisible(false);
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- assertEquals(merchandiseNameFeature.getDefaultValue(), merchandise.getName());
- assertFalse(merchandise.eIsSet(merchandiseNameFeature));
- assertEquals(fanNameFeature.getDefaultValue(), fan.getName());
- assertFalse(fan.eIsSet(fanNameFeature));
-
- category1a1.setVisible(false);
- assertEquals(price, merchandise.getPrice());
- assertTrue(merchandise.eIsSet(merchandisePriceFeature));
- assertEquals(merchandiseNameFeature.getDefaultValue(), merchandise.getName());
- assertFalse(merchandise.eIsSet(merchandiseNameFeature));
- assertEquals(fanNameFeature.getDefaultValue(), fan.getName());
- assertFalse(fan.eIsSet(fanNameFeature));
-
- control12.setVisible(false);
- assertEquals(merchandisePriceFeature.getDefaultValue(), merchandise.getPrice());
- assertFalse(merchandise.eIsSet(merchandisePriceFeature));
- assertEquals(merchandiseNameFeature.getDefaultValue(), merchandise.getName());
- assertFalse(merchandise.eIsSet(merchandiseNameFeature));
- assertEquals(fanNameFeature.getDefaultValue(), fan.getName());
- assertFalse(fan.eIsSet(fanNameFeature));
- }
-
- /**
- * Test if exception occurs when control has no setting.
- */
- @Test
- public void testControlWithoutSetting() {
- final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
- final VControl control = addControlToView(domainModelReference);
- assertFalse(control.getDomainModelReference().getIterator().hasNext());
- unsetService();
- }
-
- @Test
- public void testTable() {
- final Merchandise merc = BowlingFactory.eINSTANCE.createMerchandise();
- merc.setName("Foo");
- fan.getFanMerchandise().add(merc);
-
- final VTableControl table = VTableFactory.eINSTANCE.createTableControl();
- final VTableDomainModelReference tableDomainModelReference = VTableFactory.eINSTANCE
- .createTableDomainModelReference();
- tableDomainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_FanMerchandise());
- table.setDomainModelReference(tableDomainModelReference);
-
- final VFeaturePathDomainModelReference nameCol = VViewFactory.eINSTANCE.createFeaturePathDomainModelReference();
- nameCol.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
- final VFeaturePathDomainModelReference priceCol = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- priceCol.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Price());
- VTableDomainModelReference.class.cast(table.getDomainModelReference()).getColumnDomainModelReferences()
- .add(nameCol);
- VTableDomainModelReference.class.cast(table.getDomainModelReference()).getColumnDomainModelReferences()
- .add(priceCol);
-
- view.getChildren().add(table);
-
- unsetService();
- assertEquals(1, fan.getFanMerchandise().size());
- assertEquals(merc, fan.getFanMerchandise().get(0));
- assertTrue(fan.eIsSet(BowlingPackage.eINSTANCE.getFan_FanMerchandise()));
-
- table.setVisible(false);
-
- assertEquals(0, fan.getFanMerchandise().size());
- assertFalse(fan.eIsSet(BowlingPackage.eINSTANCE.getFan_FanMerchandise()));
- assertEquals("Foo", merc.getName());
- }
-
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // Factory methods
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- /**
- * Creates the unset service.
- *
- * @return
- */
- private UnsetService unsetService() {
- final UnsetService unsetService = new UnsetService();
- context = ViewModelContextFactory.INSTANCE.createViewModelContext(view, fan);
- unsetService.instantiate(context);
- return unsetService;
- }
-
- /**
- * Adds a control with the given feature path domain model reference as a direct child of the view.
- *
- * @param domainModelReference
- * @return the created control
- */
- private VControl addControlToView(VFeaturePathDomainModelReference domainModelReference) {
- final VControl control = VViewFactory.eINSTANCE.createControl();
- control.setDomainModelReference(domainModelReference);
- view.getChildren().add(control);
- return control;
- }
-
- /**
- * Adds a control with the given feature path domain model reference as a direct child of the container.
- *
- * @param domainModelReference
- * @return the created control
- */
- private VControl addControlToContainer(VContainedContainer container,
- VFeaturePathDomainModelReference domainModelReference) {
- final VControl control = VViewFactory.eINSTANCE.createControl();
- control.setDomainModelReference(domainModelReference);
- container.getChildren().add(control);
- return control;
- }
-
- private VControl addControlToCategory(VCategory category, VFeaturePathDomainModelReference domainModelReference) {
- final VControl control = VViewFactory.eINSTANCE.createControl();
- control.setDomainModelReference(domainModelReference);
- category.setComposite(control);
- return control;
- }
-
- /**
- * Adds a vertical layout as a direct child of the view.
- *
- * @return the created layout
- */
- private VVerticalLayout addVerticalLayoutToView() {
- final VVerticalLayout layout = VVerticalFactory.eINSTANCE.createVerticalLayout();
- view.getChildren().add(layout);
- return layout;
- }
-
- /**
- * References the player name from a league object.
- *
- * @return
- */
- private VFeaturePathDomainModelReference merchandisePriceReferenceFromFan() {
- final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Price());
- domainModelReference.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
- return domainModelReference;
- }
-
- private VFeaturePathDomainModelReference merchandiseNameReferenceFromFan() {
- final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getMerchandise_Name());
- domainModelReference.getDomainModelEReferencePath().add(BowlingPackage.eINSTANCE.getFan_FavouriteMerchandise());
- return domainModelReference;
- }
-
- private VFeaturePathDomainModelReference fanNameReference() {
- final VFeaturePathDomainModelReference domainModelReference = VViewFactory.eINSTANCE
- .createFeaturePathDomainModelReference();
- domainModelReference.setDomainModelEFeature(BowlingPackage.eINSTANCE.getFan_Name());
- return domainModelReference;
- }
-
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // Helper- & stub classes
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- /**
- * @author Jonas
- *
- */
- private class ViewModelContextStub implements ViewModelContext {
-
- private boolean hasRegisteredViewListener;
- private boolean hasRegisteredDomainListener;
-
- @Override
- public void unregisterViewChangeListener(ModelChangeListener modelChangeListener) {
- hasRegisteredViewListener = false;
- }
-
- @Override
- public void unregisterDomainChangeListener(ModelChangeListener modelChangeListener) {
- hasRegisteredDomainListener = false;
- }
-
- @Override
- public void registerViewChangeListener(ModelChangeListener modelChangeListener) {
- hasRegisteredViewListener = true;
- }
-
- @Override
- public void registerDomainChangeListener(ModelChangeListener modelChangeListener) {
- hasRegisteredDomainListener = true;
- }
-
- @Override
- public VElement getViewModel() {
- return view;
- }
-
- @Override
- public EObject getDomainModel() {
- return fan;
- }
-
- @Override
- public void dispose() {
- }
-
- @Override
- public <T> boolean hasService(Class<T> serviceType) {
- return false;
- }
-
- @Override
- public <T> T getService(Class<T> serviceType) {
- return null;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getControlsFor(org.eclipse.emf.ecore.EStructuralFeature.Setting)
- */
- @Override
- public Set<VControl> getControlsFor(Setting setting) {
- // TODO Auto-generated method stub
- return null;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getControlsFor(UniqueSetting)
- */
- @Override
- public Set<VElement> getControlsFor(UniqueSetting setting) {
- // TODO Auto-generated method stub
- return null;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getContextValue(java.lang.String)
- */
- @Override
- public Object getContextValue(String key) {
- // TODO Auto-generated method stub
- return null;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#putContextValue(java.lang.String,
- * java.lang.Object)
- */
- @Override
- public void putContextValue(String key, Object value) {
- // TODO Auto-generated method stub
-
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#registerDisposeListener(org.eclipse.emf.ecp.view.spi.context.ViewModelContextDisposeListener)
- */
- @Override
- public void registerDisposeListener(ViewModelContextDisposeListener listener) {
- // TODO Auto-generated method stub
-
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#addContextUser(java.lang.Object)
- */
- @Override
- public void addContextUser(Object user) {
- // TODO Auto-generated method stub
-
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#removeContextUser(java.lang.Object)
- */
- @Override
- public void removeContextUser(Object user) {
- // TODO Auto-generated method stub
-
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.ecp.view.spi.context.ViewModelContext#getChildContext(org.eclipse.emf.ecore.EObject,
- * org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.model.VView,
- * org.eclipse.emf.ecp.view.spi.context.ViewModelService[])
- */
- @Override
- public ViewModelContext getChildContext(EObject eObject, VElement parent, VView vView,
- ViewModelService... viewModelServices) {
- // TODO Auto-generated method stub
- return null;
- }
-
- }
-
-}
diff --git a/tests/org.eclipse.emf.ecp.view.validation.bean.test/.gitignore b/tests/org.eclipse.emf.ecp.view.validation.bean.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.validation.bean.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.validation.bean.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.validation.bean.test/META-INF/MANIFEST.MF
index e74ef33..3bef914 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.bean.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.validation.bean.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.validation.bean.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .,
lib/commons-beanutils-1.9.2.jar,
lib/commons-lang3-3.3.2.jar,
@@ -11,9 +11,9 @@
Bundle-Localization: plugin
Fragment-Host: org.eclipse.emf.ecp.view.validation.bean.default;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: car;version="1.5.1";x-internal:=true,car.impl;version=
- "1.5.1";x-internal:=true,car.util;version="1.5.1";x-internal:=true,or
- g.eclipse.emf.ecp.view.validation.bean.test;version="1.5.1";x-interna
+Export-Package: car;version="1.6.0";x-internal:=true,car.impl;version=
+ "1.6.0";x-internal:=true,car.util;version="1.6.0";x-internal:=true,or
+ g.eclipse.emf.ecp.view.validation.bean.test;version="1.6.0";x-interna
l:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)"
diff --git a/tests/org.eclipse.emf.ecp.view.validation.bean.test/plugin.properties b/tests/org.eclipse.emf.ecp.view.validation.bean.test/plugin.properties
index 17b407d..7faa0a2 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.bean.test/plugin.properties
+++ b/tests/org.eclipse.emf.ecp.view.validation.bean.test/plugin.properties
@@ -1,4 +1,4 @@
#
pluginName = Car Model
-providerName = www.example.org
+providerName = Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.ecp.view.validation.bean.test/pom.xml b/tests/org.eclipse.emf.ecp.view.validation.bean.test/pom.xml
index 92afbd9..40457cc 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.bean.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.validation.bean.test/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.validation.bean.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/Person.java b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/Person.java
index d2c0bda..7f3527f 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/Person.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/Person.java
@@ -3,7 +3,6 @@
package car;
import org.eclipse.emf.common.util.EList;
-
import org.eclipse.emf.ecore.EObject;
/**
diff --git a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/CarFactoryImpl.java b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/CarFactoryImpl.java
index 152e1ea..b57e6a8 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/CarFactoryImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/CarFactoryImpl.java
@@ -2,16 +2,18 @@
*/
package car.impl;
-import car.*;
-
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
-
import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import car.Car;
+import car.CarFactory;
+import car.CarPackage;
+import car.Driver;
+import car.Person;
+
/**
* <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
* end-user-doc -->
diff --git a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/CarImpl.java b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/CarImpl.java
index 09e1ca0..b37481e 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/CarImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/CarImpl.java
@@ -2,19 +2,17 @@
*/
package car.impl;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
import car.Car;
import car.CarPackage;
import car.Driver;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
/**
* <!-- begin-user-doc --> An implementation of the model object '
* <em><b>Car</b></em>'. <!-- end-user-doc -->
diff --git a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/CarPackageImpl.java b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/CarPackageImpl.java
index 384c2d6..52eba19 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/CarPackageImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/CarPackageImpl.java
@@ -2,19 +2,18 @@
*/
package car.impl;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
import car.Car;
import car.CarFactory;
import car.CarPackage;
import car.Driver;
import car.Person;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
/**
* <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
* end-user-doc -->
diff --git a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/DriverImpl.java b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/DriverImpl.java
index eedac06..0c4f083 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/DriverImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/DriverImpl.java
@@ -2,15 +2,13 @@
*/
package car.impl;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
import car.CarPackage;
import car.Driver;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
/**
* <!-- begin-user-doc --> An implementation of the model object '
* <em><b>Driver</b></em>'. <!-- end-user-doc -->
diff --git a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/PersonImpl.java b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/PersonImpl.java
index ea85c55..85845a0 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/PersonImpl.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/impl/PersonImpl.java
@@ -2,25 +2,21 @@
*/
package car.impl;
-import car.CarPackage;
-import car.Person;
-
import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
-
import org.eclipse.emf.common.util.EList;
-
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
-
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
+import car.CarPackage;
+import car.Person;
+
/**
* <!-- begin-user-doc --> An implementation of the model object '
* <em><b>Person</b></em>'. <!-- end-user-doc -->
diff --git a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/util/CarAdapterFactory.java b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/util/CarAdapterFactory.java
index b2587a9..5ca1642 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/util/CarAdapterFactory.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/util/CarAdapterFactory.java
@@ -2,15 +2,16 @@
*/
package car.util;
-import car.*;
-
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;
-
import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
import org.eclipse.emf.ecore.EObject;
+import car.Car;
+import car.CarPackage;
+import car.Driver;
+import car.Person;
+
/**
* <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides
* an adapter <code>createXXX</code> method for each class of the model. <!--
diff --git a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/util/CarSwitch.java b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/util/CarSwitch.java
index e0e8376..cfc653e 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/util/CarSwitch.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.bean.test/src/car/util/CarSwitch.java
@@ -2,13 +2,15 @@
*/
package car.util;
-import car.*;
-
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
-
import org.eclipse.emf.ecore.util.Switch;
+import car.Car;
+import car.CarPackage;
+import car.Driver;
+import car.Person;
+
/**
* <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance
* hierarchy. It supports the call {@link #doSwitch(EObject) doSwitch(object)}
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/AllValidationTests.launch b/tests/org.eclipse.emf.ecp.view.validation.test/AllValidationTests.launch
index 042e20f..4027b08 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/AllValidationTests.launch
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/AllValidationTests.launch
@@ -33,7 +33,7 @@
<stringAttribute key="product" value="org.eclipse.emf.cdo.server.product.tcp_h2"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client.model.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model.edit@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model.edit@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.validation@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.test@default:false,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.table.validation@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation.test@default:false,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emf.emfforms.core.services.labelprovider@default:default,org.eclipse.emf.emfforms.localization@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.validation.test/META-INF/MANIFEST.MF
index 1e45181..815178d 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.ecp.view.validation.test;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Fragment-Host: org.eclipse.emf.ecp.view.validation;bundle-version="1.4.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.emf.ecp.view.validation.test;version="1.5.
- 1",org.eclipse.emf.ecp.view.validation.test.model;version="1.5.1",org
- .eclipse.emf.ecp.view.validation.test.model.impl;version="1.5.1",org.
- eclipse.emf.ecp.view.validation.test.model.util;version="1.5.1"
+Export-Package: org.eclipse.emf.ecp.view.validation.test;version="1.6.
+ 0",org.eclipse.emf.ecp.view.validation.test.model;version="1.6.0",org
+ .eclipse.emf.ecp.view.validation.test.model.impl;version="1.6.0",org.
+ eclipse.emf.ecp.view.validation.test.model.util;version="1.6.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
@@ -20,5 +20,6 @@
org.eclipse.emf.ecp.view.table.model;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.test.common;bundle-version="[1.5.0,2.0.0)",
org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="1.5.0"
+ org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="1.5.0",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.5.0,2.0.0)"
Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/pom.xml b/tests/org.eclipse.emf.ecp.view.validation.test/pom.xml
index e67256e..844076f 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.validation.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,48 +24,56 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.vertical.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.validation.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.validation.initial.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.table.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.vertical.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.validation.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.validation.initial.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.view.table.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.emfstore.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/TableValidation_PTest.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/TableValidation_PTest.java
index 2b9a373..a483d7e 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/TableValidation_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/TableValidation_PTest.java
@@ -17,6 +17,7 @@
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VView;
@@ -37,6 +38,8 @@
import org.eclipse.emf.ecp.view.validation.test.model.TestFactory;
import org.eclipse.emf.ecp.view.validation.test.model.TestPackage;
import org.eclipse.emf.ecp.view.validation.test.model.Writer;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
/**
@@ -52,6 +55,18 @@
*/
public class TableValidation_PTest {
+ private DefaultRealm defaultRealm;
+
+ @Before
+ public void setup() {
+ defaultRealm = new DefaultRealm();
+ }
+
+ @After
+ public void tearDown() {
+ defaultRealm.dispose();
+ }
+
private VView createViewWithTableControl(EClass rootClass, EReference tableReference,
EAttribute... columnAttributes) {
final VView view = VViewFactory.eINSTANCE.createView();
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/ValidationProvider_PTest.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/ValidationProvider_PTest.java
index 7d1e91a..5f588d0 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/ValidationProvider_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/ValidationProvider_PTest.java
@@ -200,4 +200,49 @@
validationService.removeValidationProvider(validationProvider);
assertEquals(Diagnostic.OK, control.getDiagnostic().getHighestSeverity());
}
+
+ @Test
+ public void testValidationProviderTriggerNoSelfValidation() {
+ final List<Integer> called = new ArrayList<Integer>(1);
+ called.add(0);
+ validationService.addValidationProvider(new ValidationProvider() {
+
+ @Override
+ public List<Diagnostic> validate(EObject eObject) {
+ if (Computer.class.isInstance(eObject)) {
+
+ eObject.eNotify(new ValidationNotification(eObject));
+ called.set(0, called.get(0) + 1);
+ }
+ return Collections.emptyList();
+ }
+ }, false);
+ assertEquals((Integer) 0, called.get(0));
+ }
+
+ @Test
+ public void testRemoveValidationProviderNoRevalidation() {
+ // setup
+ final ValidationProvider validationProvider = new ValidationProvider() {
+ @Override
+ public List<Diagnostic> validate(EObject eObject) {
+ if (!Computer.class.isInstance(eObject)) {
+ return Collections.emptyList();
+ }
+ final Diagnostic diagnostic = new BasicDiagnostic(Diagnostic.WARNING, "bla", 0, "bl", new Object[] {
+ eObject, TestPackage.eINSTANCE.getComputer_Name() });
+ return Collections.singletonList(diagnostic);
+ }
+ };
+ validationService.addValidationProvider(validationProvider);
+ assertEquals(Diagnostic.WARNING, control.getDiagnostic().getHighestSeverity());
+
+ // act
+ validationService.removeValidationProvider(validationProvider, false);
+ /* no revalidation yet */
+ assertEquals(Diagnostic.WARNING, control.getDiagnostic().getHighestSeverity());
+ /* revalidate to see if provider was removed */
+ validationService.validate(Collections.singleton(EObject.class.cast(computer)));
+ assertEquals(Diagnostic.OK, control.getDiagnostic().getHighestSeverity());
+ }
}
diff --git a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/ValidationServiceGC_PTest.java b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/ValidationServiceGC_PTest.java
index 8776816..989c9a4 100644
--- a/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/ValidationServiceGC_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.validation.test/src/org/eclipse/emf/ecp/view/validation/test/ValidationServiceGC_PTest.java
@@ -16,6 +16,7 @@
import static org.junit.Assert.assertTrue;
import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
@@ -29,6 +30,8 @@
import org.eclipse.emf.ecp.view.validation.test.model.TestFactory;
import org.eclipse.emf.ecp.view.validation.test.model.TestPackage;
import org.eclipse.emf.ecp.view.validation.test.model.Writer;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -41,6 +44,18 @@
*/
public class ValidationServiceGC_PTest extends CommonValidationTest {
+ private DefaultRealm defaultRealm;
+
+ @Before
+ public void setup() {
+ defaultRealm = new DefaultRealm();
+ }
+
+ @After
+ public void tearDown() {
+ defaultRealm.dispose();
+ }
+
/**
* Creates a basic view with an column that contains a control
* that is bound to the mainboard name feature of a computer.
diff --git a/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/META-INF/MANIFEST.MF
index e010fea..8cf3dfb 100644
--- a/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/META-INF/MANIFEST.MF
@@ -2,9 +2,10 @@
Bundle-ManifestVersion: 2
Bundle-Name: Tests for the VerticalSWT Renderer
Bundle-SymbolicName: org.eclipse.emf.ecp.view.vertical.ui.swt.test
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Vendor: Eclipse Modeling Project
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Fragment-Host: org.eclipse.emf.ecp.view.vertical.ui.swt;bundle-version="[1.6.0,2.0.0)"
Require-Bundle: org.eclipse.emf.ecp.view.test.common.swt;bundle-version="[1.5.0,2.0.0)",
org.junit;bundle-version="[4.0.0,5.0.0)",
org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
@@ -16,4 +17,4 @@
org.eclipse.jface;bundle-version="3.8.102",
org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.5.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.view.vertical.ui.swt.test;version=
- "1.5.1";x-internal:=true
+ "1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/SWTVertical_PTest.launch b/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/SWTVertical_PTest.launch
index 1acd4b7..1b0be1e 100644
--- a/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/SWTVertical_PTest.launch
+++ b/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/SWTVertical_PTest.launch
@@ -32,8 +32,8 @@
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.platform.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.batik.css@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.commons.codec*1.4.0.v201209201156@default:default,org.apache.commons.logging@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources*3.8.101.v20130717-0806@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts*1.3.1.v20130905-0905@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings*0.10.101.v20130801-2002@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench*1.0.1.v20130909-1436@default:default,org.eclipse.e4.ui.services*1.0.1.v20130909-1436@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench*1.0.1.v20130910-2014@default:default,org.eclipse.e4.ui.workbench.addons.swt*1.0.1.v20130823-1518@default:default,org.eclipse.e4.ui.workbench.renderers.swt*0.11.1.v20130812-1345@default:default,org.eclipse.e4.ui.workbench.swt*0.12.1.v20130815-1438@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds*1.4.101.v20130813-1853@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry*3.5.301.v20130717-1549@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface*3.9.1.v20130725-1141@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi*3.9.1.v20130814-1242@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.swt*3.102.1.v20130827-2021@default:default,org.eclipse.swt.win32.win32.x86_64*3.102.1.v20130827-2048@default:false,org.eclipse.team.core@default:default,org.eclipse.ui.forms*3.6.1.v20130822-1117@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench*3.105.1.v20130821-1411@default:default,org.eclipse.ui@default:default,org.hamcrest.core*1.1.0.v20090501071000@default:default,org.hamcrest.core*1.3.0.v201303031735@default:default,org.junit*4.10.0.v4_10_0_v20120426-0900@default:default,org.junit*4.11.0.v201303080030@default:default,org.w3c.css.sac@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.custom.ui@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.model.edit.test@default:false,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.test.common@default:default,org.eclipse.emf.ecp.view.validation.test@default:false,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model.edit@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt.test@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel.edit@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.test@default:false,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.test@default:false,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt.test@default:false,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.rcp@default:false,org.eclipse.emf.ecp.ui.view.swt.test@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view.test@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.context.test@default:false,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt.tests@default:false,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi.test@default:false,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model.test@default:false,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model.test@default:false,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.test.common.swt@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.view.vertical.ui.swt.test@default:false,org.eclipse.emf.ecp.view.vertical.ui.swt@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.tests@default:false,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/pom.xml b/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/pom.xml
index 7f3fd3b..f266e85 100644
--- a/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.vertical.ui.swt.test</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,38 +24,61 @@
<configuration>
<useUIHarness>true</useUIHarness>
<useUIThread>true</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.vertical.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.view.template.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.locale.default</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.databinding.featurepath</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.emf</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.template.service</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.localization</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.core.swt</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecp.view.swt.layout</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emf.ecore.edit</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/src/org/eclipse/emf/ecp/view/vertical/ui/swt/test/SWTVertical_PTest.java b/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/src/org/eclipse/emf/ecp/view/vertical/ui/swt/test/SWTVertical_PTest.java
index 38520e6..bf6b2e8 100644
--- a/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/src/org/eclipse/emf/ecp/view/vertical/ui/swt/test/SWTVertical_PTest.java
+++ b/tests/org.eclipse.emf.ecp.view.vertical.ui.swt.test/src/org/eclipse/emf/ecp/view/vertical/ui/swt/test/SWTVertical_PTest.java
@@ -30,6 +30,7 @@
import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout;
import org.eclipse.emf.ecp.view.test.common.swt.spi.DatabindingClassRunner;
import org.eclipse.emf.ecp.view.test.common.swt.spi.SWTViewTestHelper;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
@@ -54,7 +55,7 @@
@Test
public void testVerticalWithoutChildren() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final HierarchyViewModelHandle handle = createVerticalWithoutChildren();
final Control render = SWTViewTestHelper.render(handle.getRoot(), domainElement, shell);
@@ -65,7 +66,7 @@
@Test
public void testVerticalWithTwoControlsAsChildren() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final HierarchyViewModelHandle handle = createVerticalWithTwoControlsAsChildren();
final Control render = SWTViewTestHelper.render(handle.getRoot(), domainElement, shell);
@@ -79,7 +80,7 @@
@Test
public void testVerticalWithTwoVerticalAsChildrenAndControlAsSubChildren() throws NoRendererFoundException,
- NoPropertyDescriptorFoundExeption {
+ NoPropertyDescriptorFoundExeption, EMFFormsNoRendererException {
// setup model
final HierarchyViewModelHandle handle =
createVerticalWithTwoVerticalAsChildrenAndControlAsSubChildren();
diff --git a/tests/org.eclipse.emf.ecp.view.viewproxy.test/.gitignore b/tests/org.eclipse.emf.ecp.view.viewproxy.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emf.ecp.view.viewproxy.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emf.ecp.view.viewproxy.test/AllProxyTests.launch b/tests/org.eclipse.emf.ecp.view.viewproxy.test/AllProxyTests.launch
index 96b9de0..3afc881 100644
--- a/tests/org.eclipse.emf.ecp.view.viewproxy.test/AllProxyTests.launch
+++ b/tests/org.eclipse.emf.ecp.view.viewproxy.test/AllProxyTests.launch
@@ -12,7 +12,7 @@
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.core,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.core,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.databinding,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.examplemodel.edit,proxy.test"/>
+<stringAttribute key="deselected_workspace_plugins" value="ViewModelProjectTemplate,org.eclipse.emf.ecp.application.e3,org.eclipse.emf.ecp.application.e4,org.eclipse.emf.ecp.cdo.core,org.eclipse.emf.ecp.cdo.ui,org.eclipse.emf.ecp.core,org.eclipse.emf.ecp.core.emffilter,org.eclipse.emf.ecp.core.test,org.eclipse.emf.ecp.diffmerge.context,org.eclipse.emf.ecp.diffmerge.model,org.eclipse.emf.ecp.diffmerge.model.edit,org.eclipse.emf.ecp.diffmerge.renderer.swt,org.eclipse.emf.ecp.diffmerge.swt,org.eclipse.emf.ecp.diffmerge.test,org.eclipse.emf.ecp.doc,org.eclipse.emf.ecp.ecore.editor,org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui,org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.edit.swt,org.eclipse.emf.ecp.edit.swt.test,org.eclipse.emf.ecp.editor.e3,org.eclipse.emf.ecp.emfstore.core,org.eclipse.emf.ecp.emfstore.localserver,org.eclipse.emf.ecp.emfstore.ui,org.eclipse.emf.ecp.emfstore.ui.e3,org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.search,org.eclipse.emf.ecp.examplemodel.ui,org.eclipse.emf.ecp.explorereditorbridge,org.eclipse.emf.ecp.graphiti.core,org.eclipse.emf.ecp.graphiti.integration,org.eclipse.emf.ecp.ide.editor.view,org.eclipse.emf.ecp.ide.editor.view.control,org.eclipse.emf.ecp.ide.editor.viewmodel,org.eclipse.emf.ecp.ide.util,org.eclipse.emf.ecp.ide.util.test,org.eclipse.emf.ecp.ide.view.service,org.eclipse.emf.ecp.ide.view.service.test,org.eclipse.emf.ecp.integrationtest,org.eclipse.emf.ecp.makeithappen.application.sample.e3,org.eclipse.emf.ecp.makeithappen.application.sample.e4,org.eclipse.emf.ecp.makeithappen.model,org.eclipse.emf.ecp.makeithappen.model.edit,org.eclipse.emf.ecp.makeithappen.view.group.renderer,org.eclipse.emf.ecp.makeithappen.wizards,org.eclipse.emf.ecp.products,org.eclipse.emf.ecp.rap.util,org.eclipse.emf.ecp.test.model,org.eclipse.emf.ecp.test.model.edit,org.eclipse.emf.ecp.ui,org.eclipse.emf.ecp.ui.e3,org.eclipse.emf.ecp.ui.e4,org.eclipse.emf.ecp.ui.rcp,org.eclipse.emf.ecp.ui.transaction,org.eclipse.emf.ecp.ui.validation,org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test,org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.ui.view.editor.controls.test,org.eclipse.emf.ecp.ui.view.swt,org.eclipse.emf.ecp.ui.view.swt.di,org.eclipse.emf.ecp.ui.view.swt.test,org.eclipse.emf.ecp.ui.view.test,org.eclipse.emf.ecp.validation,org.eclipse.emf.ecp.validation.connector,org.eclipse.emf.ecp.validation.diagnostician,org.eclipse.emf.ecp.validation.diagnostician.test,org.eclipse.emf.ecp.validation.test,org.eclipse.emf.ecp.validationvieweditorbridge,org.eclipse.emf.ecp.view.categorization.model,org.eclipse.emf.ecp.view.categorization.model.edit,org.eclipse.emf.ecp.view.categorization.swt,org.eclipse.emf.ecp.view.categorization.swt.test,org.eclipse.emf.ecp.view.compoundcontrol.model,org.eclipse.emf.ecp.view.compoundcontrol.model.edit,org.eclipse.emf.ecp.view.compoundcontrol.swt,org.eclipse.emf.ecp.view.context.locale,org.eclipse.emf.ecp.view.core.swt,org.eclipse.emf.ecp.view.custom.model,org.eclipse.emf.ecp.view.custom.model.edit,org.eclipse.emf.ecp.view.custom.ui.swt,org.eclipse.emf.ecp.view.custom.ui.swt.di,org.eclipse.emf.ecp.view.custom.ui.swt.test,org.eclipse.emf.ecp.view.dynamictree.model,org.eclipse.emf.ecp.view.dynamictree.model.edit,org.eclipse.emf.ecp.view.dynamictree.model.test,org.eclipse.emf.ecp.view.dynamictree.ui,org.eclipse.emf.ecp.view.dynamictree.ui.swt,org.eclipse.emf.ecp.view.group.model,org.eclipse.emf.ecp.view.group.model.edit,org.eclipse.emf.ecp.view.group.swt.collapsable,org.eclipse.emf.ecp.view.group.swt.collapsible.pgroup,org.eclipse.emf.ecp.view.group.swt.embedded,org.eclipse.emf.ecp.view.group.ui.swt,org.eclipse.emf.ecp.view.group.ui.swt.test,org.eclipse.emf.ecp.view.groupedgrid.model,org.eclipse.emf.ecp.view.groupedgrid.model.edit,org.eclipse.emf.ecp.view.groupedgrid.ui.swt,org.eclipse.emf.ecp.view.horizontal.model,org.eclipse.emf.ecp.view.horizontal.model.edit,org.eclipse.emf.ecp.view.horizontal.ui.swt,org.eclipse.emf.ecp.view.horizontal.ui.swt.test,org.eclipse.emf.ecp.view.label.model,org.eclipse.emf.ecp.view.label.model.edit,org.eclipse.emf.ecp.view.label.rap,org.eclipse.emf.ecp.view.label.ui.swt,org.eclipse.emf.ecp.view.mappingdmr.model,org.eclipse.emf.ecp.view.mappingdmr.model.edit,org.eclipse.emf.ecp.view.mappingdmr.tooling,org.eclipse.emf.ecp.view.model.common.di,org.eclipse.emf.ecp.view.model.edit,org.eclipse.emf.ecp.view.model.edit.test,org.eclipse.emf.ecp.view.model.editor,org.eclipse.emf.ecp.view.model.editor.testplugin,org.eclipse.emf.ecp.view.model.integrationtest,org.eclipse.emf.ecp.view.model.preview.common,org.eclipse.emf.ecp.view.model.preview.e3,org.eclipse.emf.ecp.view.model.project.installer,org.eclipse.emf.ecp.view.rule,org.eclipse.emf.ecp.view.rule.model,org.eclipse.emf.ecp.view.rule.model.edit,org.eclipse.emf.ecp.view.rule.test,org.eclipse.emf.ecp.view.rule.ui.swt.test,org.eclipse.emf.ecp.view.stack.model,org.eclipse.emf.ecp.view.stack.model.edit,org.eclipse.emf.ecp.view.stack.ui.swt,org.eclipse.emf.ecp.view.stack.ui.swt.test,org.eclipse.emf.ecp.view.stack.viewmodel,org.eclipse.emf.ecp.view.swt.layout,org.eclipse.emf.ecp.view.table.columnservice,org.eclipse.emf.ecp.view.table.editor,org.eclipse.emf.ecp.view.table.migrate,org.eclipse.emf.ecp.view.table.model.edit,org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.template.controls.swt,org.eclipse.emf.ecp.view.template.model,org.eclipse.emf.ecp.view.template.model.edit,org.eclipse.emf.ecp.view.template.service,org.eclipse.emf.ecp.view.template.tooling,org.eclipse.emf.ecp.view.test.common,org.eclipse.emf.ecp.view.test.common.swt,org.eclipse.emf.ecp.view.treemasterdetail.model,org.eclipse.emf.ecp.view.treemasterdetail.model.edit,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.ui.editor.test,org.eclipse.emf.ecp.view.unset,org.eclipse.emf.ecp.view.unset.test,org.eclipse.emf.ecp.view.util.swt,org.eclipse.emf.ecp.view.validation,org.eclipse.emf.ecp.view.validation.test,org.eclipse.emf.ecp.view.vertical.model.edit,org.eclipse.emf.ecp.view.vertical.ui.swt,org.eclipse.emf.ecp.view.vertical.ui.swt.test,org.eclipse.emf.ecp.view.viewproxy.model.edit,org.eclipse.emf.ecp.workspace.core,org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.emfstore.examplemodel.edit,proxy.test"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
diff --git a/tests/org.eclipse.emf.ecp.view.viewproxy.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.ecp.view.viewproxy.test/META-INF/MANIFEST.MF
index 713567e..4b036fd 100644
--- a/tests/org.eclipse.emf.ecp.view.viewproxy.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.ecp.view.viewproxy.test/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: ViewProxy Tests
Bundle-SymbolicName: org.eclipse.emf.ecp.view.viewproxy.tests;singleton:=true
-Bundle-Version: 1.5.1.qualifier
+Bundle-Version: 1.6.0.qualifier
Fragment-Host: org.eclipse.emf.ecp.view.viewproxy.model;bundle-version="[1.5.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.2.0,2.0.0)"
Export-Package: org.eclipse.emf.ecp.view.internal.viewproxy.resolver;v
- ersion="1.5.1",org.eclipse.emf.ecp.view.viewproxy.tests;version="1.5.
- 1";x-internal:=true
+ ersion="1.6.0",org.eclipse.emf.ecp.view.viewproxy.tests;version="1.6.
+ 0";x-internal:=true
diff --git a/tests/org.eclipse.emf.ecp.view.viewproxy.test/pom.xml b/tests/org.eclipse.emf.ecp.view.viewproxy.test/pom.xml
index c0b9496..4a0daa1 100644
--- a/tests/org.eclipse.emf.ecp.view.viewproxy.test/pom.xml
+++ b/tests/org.eclipse.emf.ecp.view.viewproxy.test/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-tests-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
</parent>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>org.eclipse.emf.ecp.view.viewproxy.tests</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<build>
@@ -24,28 +24,36 @@
<configuration>
<useUIHarness>false</useUIHarness>
<useUIThread>false</useUIThread>
- <dependencies>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.target.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.emfstore.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- <dependency>
- <type>eclipse-feature</type>
- <artifactId>org.eclipse.emf.ecp.viewmodel.feature</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.target.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.emfstore.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>eclipse-feature</type>
+ <id>org.eclipse.emf.ecp.viewmodel.feature</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
</configuration>
</plugin>
</plugins>
diff --git a/tests/org.eclipse.emfforms.common.tests/.checkstyle b/tests/org.eclipse.emfforms.common.tests/.checkstyle
new file mode 100644
index 0000000..24d357f
--- /dev/null
+++ b/tests/org.eclipse.emfforms.common.tests/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/tests/org.eclipse.emfforms.common.tests/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to tests/org.eclipse.emfforms.common.tests/.classpath
diff --git a/tests/org.eclipse.emfforms.common.tests/.project b/tests/org.eclipse.emfforms.common.tests/.project
new file mode 100644
index 0000000..4635603
--- /dev/null
+++ b/tests/org.eclipse.emfforms.common.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.common.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs
copy to tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emfforms.common.tests/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emfforms.common.tests/AllTests core.services.launch b/tests/org.eclipse.emfforms.common.tests/AllTests core.services.launch
new file mode 100644
index 0000000..ac17da0
--- /dev/null
+++ b/tests/org.eclipse.emfforms.common.tests/AllTests core.services.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.core.services.tests/src/org/eclipse/emfforms/core/services/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.core.services.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.core.services.tests"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.common.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.common.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..15c1930
--- /dev/null
+++ b/tests/org.eclipse.emfforms.common.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms Locale Tests
+Bundle-SymbolicName: org.eclipse.emfforms.common.tests
+Bundle-Version: 1.6.0.qualifier
+Fragment-Host: org.eclipse.emfforms.common;bundle-version="[1.6.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Vendor: Eclipse Modeling Project
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)"
+Export-Package: org.eclipse.emfforms.common.tests;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.spi.common.locale;version="1.6.0"
diff --git a/tests/org.eclipse.emfforms.common.tests/build.properties b/tests/org.eclipse.emfforms.common.tests/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/org.eclipse.emfforms.common.tests/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/org.eclipse.emfforms.common.tests/pom.xml b/tests/org.eclipse.emfforms.common.tests/pom.xml
new file mode 100644
index 0000000..37fe9f8
--- /dev/null
+++ b/tests/org.eclipse.emfforms.common.tests/pom.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emfforms.common.tests</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>false</useUIHarness>
+ <useUIThread>false</useUIThread>
+ <failIfNoTests>false</failIfNoTests>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/tests/org.eclipse.emfforms.common.tests/src/org/eclipse/emfforms/common/tests/AllTests.java b/tests/org.eclipse.emfforms.common.tests/src/org/eclipse/emfforms/common/tests/AllTests.java
new file mode 100644
index 0000000..7e697bb
--- /dev/null
+++ b/tests/org.eclipse.emfforms.common.tests/src/org/eclipse/emfforms/common/tests/AllTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.common.tests;
+
+import org.eclipse.emfforms.spi.common.locale.AbstractEMFFormsLocaleProvider_Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * Junit Test cases for core.locale .
+ *
+ * @author Eugen Neufeld
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ AbstractEMFFormsLocaleProvider_Test.class })
+public class AllTests {
+ // JUnit 4 Test Suite
+}
diff --git a/tests/org.eclipse.emfforms.common.tests/src/org/eclipse/emfforms/spi/common/locale/AbstractEMFFormsLocaleProvider_Test.java b/tests/org.eclipse.emfforms.common.tests/src/org/eclipse/emfforms/spi/common/locale/AbstractEMFFormsLocaleProvider_Test.java
new file mode 100644
index 0000000..698e0da
--- /dev/null
+++ b/tests/org.eclipse.emfforms.common.tests/src/org/eclipse/emfforms/spi/common/locale/AbstractEMFFormsLocaleProvider_Test.java
@@ -0,0 +1,122 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.common.locale;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+
+import java.util.Locale;
+
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Test cases for the AbstractEMFFormsLocaleProvider.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class AbstractEMFFormsLocaleProvider_Test {
+
+ private AbstractEMFFormsLocaleProvider provider;
+
+ private static class MockAbstractEMFFormsLocaleProvider extends AbstractEMFFormsLocaleProvider {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider#getLocale()
+ */
+ @Override
+ public Locale getLocale() {
+ return Locale.ENGLISH;
+ }
+
+ }
+
+ @Before
+ public void setup() {
+ provider = new MockAbstractEMFFormsLocaleProvider();
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.common.locale.AbstractEMFFormsLocaleProvider#addEMFFormsLocaleChangeListener(org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener)}
+ * .
+ */
+ @Test
+ public void testAddEMFFormsLocaleChangeListener() {
+ final EMFFormsLocaleChangeListener listener = mock(EMFFormsLocaleChangeListener.class);
+ provider.addEMFFormsLocaleChangeListener(listener);
+ provider.notifyListeners();
+ verify(listener).notifyLocaleChange();
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.common.locale.AbstractEMFFormsLocaleProvider#addEMFFormsLocaleChangeListener(org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener)}
+ * .
+ */
+ @Test
+ public void testAddEMFFormsLocaleChangeListenerTwice() {
+ final EMFFormsLocaleChangeListener listener = mock(EMFFormsLocaleChangeListener.class);
+ provider.addEMFFormsLocaleChangeListener(listener);
+ provider.addEMFFormsLocaleChangeListener(listener);
+ provider.notifyListeners();
+ verify(listener).notifyLocaleChange();
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.common.locale.AbstractEMFFormsLocaleProvider#addEMFFormsLocaleChangeListener(org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener)}
+ * .
+ */
+ @Test
+ public void testAddEMFFormsLocaleChangeListenerDifferent() {
+ final EMFFormsLocaleChangeListener listener1 = mock(EMFFormsLocaleChangeListener.class);
+ provider.addEMFFormsLocaleChangeListener(listener1);
+ final EMFFormsLocaleChangeListener listener2 = mock(EMFFormsLocaleChangeListener.class);
+ provider.addEMFFormsLocaleChangeListener(listener2);
+ provider.notifyListeners();
+ verify(listener1).notifyLocaleChange();
+ verify(listener2).notifyLocaleChange();
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.common.locale.AbstractEMFFormsLocaleProvider#removeEMFFormsLocaleChangeListener(org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener)}
+ * .
+ */
+ @Test
+ public void testRemoveEMFFormsLocaleChangeListener() {
+ final EMFFormsLocaleChangeListener listener = mock(EMFFormsLocaleChangeListener.class);
+ provider.addEMFFormsLocaleChangeListener(listener);
+ provider.removeEMFFormsLocaleChangeListener(listener);
+ provider.notifyListeners();
+ verify(listener, never()).notifyLocaleChange();
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.common.locale.AbstractEMFFormsLocaleProvider#removeEMFFormsLocaleChangeListener(org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener)}
+ * .
+ */
+ @Test
+ public void testRemoveEMFFormsLocaleChangeListenerNotInList() {
+ final EMFFormsLocaleChangeListener listener = mock(EMFFormsLocaleChangeListener.class);
+ provider.removeEMFFormsLocaleChangeListener(listener);
+ provider.notifyListeners();
+ verify(listener, never()).notifyLocaleChange();
+ }
+
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.checkstyle b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.checkstyle
new file mode 100644
index 0000000..32e02a4
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.checkstyle
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="c" location="esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.classpath b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.gitignore b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.project b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.project
new file mode 100644
index 0000000..5effae4
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.core.services.databinding.featurepath.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.core.runtime.prefs
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/All Integration Tests for core.services.databinding.featurepath.launch b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/All Integration Tests for core.services.databinding.featurepath.launch
new file mode 100644
index 0000000..3cc1a39
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/All Integration Tests for core.services.databinding.featurepath.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.core.services.databinding.featurepath.tests/src/org/eclipse/emfforms/core/services/databinding/featurepath/tests/AllIntegrationTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.core.services.databinding.featurepath.tests.AllIntegrationTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.core.services.databinding.featurepath.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.emf.cdo.server.product.tcp_h2"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.xml@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-all@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.featurepath.tests@default:false,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.testmodel@default:default,org.eclipse.emfforms.core.services.databinding@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/All Tests for core.services.databinding.featurepath.launch b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/All Tests for core.services.databinding.featurepath.launch
new file mode 100644
index 0000000..c7b7d2a
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/All Tests for core.services.databinding.featurepath.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.core.services.databinding.featurepath.tests/src/org/eclipse/emfforms/core/services/databinding/featurepath/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.core.services.databinding.featurepath.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.core.services.databinding.featurepath.tests"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..dc081f7
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Databinding Services Featurepath Tests
+Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.featurepath.tests;singleton:=true
+Bundle-Version: 1.6.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: Eclipse Modeling Project
+Fragment-Host: org.eclipse.emfforms.core.services.databinding.featurepath;bundle-version="1.5.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.emfforms.core.services.databinding.feature
+ path.tests;version="1.6.0";x-internal:=true,org.eclipse.emfforms.inte
+ rnal.core.services.databinding.featurepath;version="1.6.0";x-internal
+ :=true
+Bundle-ActivationPolicy: lazy
+Import-Package: org.osgi.framework;version="[1.1.0,2.0.0)"
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.5.0,2.0.0)"
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/build.properties b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/build.properties
new file mode 100644
index 0000000..d63af81
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/build.properties
@@ -0,0 +1,7 @@
+#
+
+bin.includes = .,\
+ META-INF/
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/pom.xml
new file mode 100644
index 0000000..def9b33
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/pom.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <artifactId>org.eclipse.emfforms.core.services.databinding.featurepath.tests</artifactId>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>true</useUIHarness>
+ <useUIThread>true</useUIThread>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/src/org/eclipse/emfforms/core/services/databinding/featurepath/tests/AllIntegrationTests.java b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/src/org/eclipse/emfforms/core/services/databinding/featurepath/tests/AllIntegrationTests.java
new file mode 100644
index 0000000..89e1c2a
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/src/org/eclipse/emfforms/core/services/databinding/featurepath/tests/AllIntegrationTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.core.services.databinding.featurepath.tests;
+
+import org.eclipse.emfforms.internal.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter_ITest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * JUnit test suite for all integration tests for the feature path databinding services.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ FeaturePathDomainModelReferenceConverter_ITest.class })
+public class AllIntegrationTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/src/org/eclipse/emfforms/core/services/databinding/featurepath/tests/AllTests.java b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/src/org/eclipse/emfforms/core/services/databinding/featurepath/tests/AllTests.java
new file mode 100644
index 0000000..8945617
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/src/org/eclipse/emfforms/core/services/databinding/featurepath/tests/AllTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler- initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.core.services.databinding.featurepath.tests;
+
+import org.eclipse.emfforms.internal.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter_Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * JUnit test suite for feature path databinding services.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ FeaturePathDomainModelReferenceConverter_Test.class })
+public class AllTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/src/org/eclipse/emfforms/internal/core/services/databinding/featurepath/FeaturePathDomainModelReferenceConverter_ITest.java b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/src/org/eclipse/emfforms/internal/core/services/databinding/featurepath/FeaturePathDomainModelReferenceConverter_ITest.java
new file mode 100644
index 0000000..4e6ee0e
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/src/org/eclipse/emfforms/internal/core/services/databinding/featurepath/FeaturePathDomainModelReferenceConverter_ITest.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding.featurepath;
+
+import static org.junit.Assert.assertTrue;
+
+import org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * JUnit integration test for the {@link FeaturePathDomainModelReferenceConverter}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class FeaturePathDomainModelReferenceConverter_ITest {
+
+ private static BundleContext bundleContext;
+ private DomainModelReferenceConverter service;
+ private ServiceReference<DomainModelReferenceConverter> serviceReference;
+
+ @BeforeClass
+ public static void setUpBeforeClass() {
+ bundleContext = FrameworkUtil.getBundle(FeaturePathDomainModelReferenceConverter_ITest.class)
+ .getBundleContext();
+ }
+
+ @Before
+ public void setUp() {
+ serviceReference = bundleContext
+ .getServiceReference(DomainModelReferenceConverter.class);
+ service = bundleContext.getService(serviceReference);
+ }
+
+ @After
+ public void tearDown() {
+ bundleContext.ungetService(serviceReference);
+ }
+
+ @Test
+ public void testServiceType() {
+ assertTrue(FeaturePathDomainModelReferenceConverter.class.isInstance(service));
+
+ }
+
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/src/org/eclipse/emfforms/internal/core/services/databinding/featurepath/FeaturePathDomainModelReferenceConverter_Test.java b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/src/org/eclipse/emfforms/internal/core/services/databinding/featurepath/FeaturePathDomainModelReferenceConverter_Test.java
new file mode 100644
index 0000000..29ab479
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.featurepath.tests/src/org/eclipse/emfforms/internal/core/services/databinding/featurepath/FeaturePathDomainModelReferenceConverter_Test.java
@@ -0,0 +1,321 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding.featurepath;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+
+import java.util.LinkedList;
+
+import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.databinding.IEMFListProperty;
+import org.eclipse.emf.databinding.IEMFValueProperty;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcoreFactory;
+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.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * JUnit test for {@link FeaturePathDomainModelReferenceConverter}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class FeaturePathDomainModelReferenceConverter_Test {
+
+ private FeaturePathDomainModelReferenceConverter converter;
+ private static EObject validEObject;
+
+ @BeforeClass
+ public static void setupClass() {
+ validEObject = createValidEObject();
+ }
+
+ private static EObject createValidEObject() {
+ final ResourceSet rs = new ResourceSetImpl();
+ final AdapterFactoryEditingDomain domain = new AdapterFactoryEditingDomain(
+ new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
+ new BasicCommandStack(), rs);
+ rs.eAdapters().add(new AdapterFactoryEditingDomain.EditingDomainProvider(domain));
+ final Resource resource = rs.createResource(URI.createURI("VIRTAUAL_URI")); //$NON-NLS-1$
+ final EObject domainObject = EcoreFactory.eINSTANCE.createEObject();
+ if (resource != null) {
+ resource.getContents().add(domainObject);
+ }
+ return domainObject;
+ }
+
+ /**
+ * Set up that is executed before every test.
+ */
+ @Before
+ public void setUp() {
+ converter = new FeaturePathDomainModelReferenceConverter();
+
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter#isApplicable(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)}
+ * .
+ */
+ @Test
+ public void testIsApplicable() {
+ // The FeaturePathDomainModelReferenceConverter is the standard converter for VFeaturePathDomainModelReference
+ // with a low priority.
+ assertEquals(0.0, converter.isApplicable(mock(VFeaturePathDomainModelReference.class)), 0d);
+
+ // The FeaturePathDomainModelReferenceConverter is not applicable other references than
+ // VFeaturePathDomainModelReferences
+ assertEquals(DomainModelReferenceConverter.NOT_APPLICABLE,
+ converter.isApplicable(mock(VDomainModelReference.class)), 0d);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter#isApplicable(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)}
+ * .
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testIsApplicableNull() {
+ converter.isApplicable(null);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testConvertToValueProperty() throws DatabindingFailedException {
+ final VFeaturePathDomainModelReference pathReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ // create reference path to the attribute
+ final LinkedList<EReference> referencePath = new LinkedList<EReference>();
+ referencePath.add(TestPackage.eINSTANCE.getA_B());
+ referencePath.add(TestPackage.eINSTANCE.getB_C());
+ referencePath.add(TestPackage.eINSTANCE.getC_D());
+
+ final EStructuralFeature feature = TestPackage.eINSTANCE.getD_X();
+
+ pathReference.getDomainModelEReferencePath().addAll(referencePath);
+ pathReference.setDomainModelEFeature(feature);
+
+ final IValueProperty valueProperty = converter.convertToValueProperty(pathReference, validEObject);
+
+ // The converter should return an IEMFValueProperty
+ assertTrue(valueProperty instanceof IEMFValueProperty);
+
+ final IEMFValueProperty emfProperty = (IEMFValueProperty) valueProperty;
+
+ // Check EStructuralFeature of the property.
+ assertEquals(feature, emfProperty.getStructuralFeature());
+
+ // Check correct path.
+ final String expected = "A.b<B> => B.c<C> => C.d<D> => D.x<EString>"; //$NON-NLS-1$
+ assertEquals(expected, emfProperty.toString());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testConvertToValuePropertyNoReferencePath() throws DatabindingFailedException {
+ final VFeaturePathDomainModelReference pathReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+
+ final EStructuralFeature feature = TestPackage.eINSTANCE.getD_X();
+ pathReference.setDomainModelEFeature(feature);
+
+ final IValueProperty valueProperty = converter.convertToValueProperty(pathReference, validEObject);
+
+ // The converter should return an IEMFValueProperty
+ assertTrue(valueProperty instanceof IEMFValueProperty);
+
+ final IEMFValueProperty emfProperty = (IEMFValueProperty) valueProperty;
+
+ // Check EStructuralFeature of the property.
+ assertEquals(feature, emfProperty.getStructuralFeature());
+
+ // Check correct path.
+ final String expected = "D.x<EString>"; //$NON-NLS-1$
+ assertEquals(expected, emfProperty.toString());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = DatabindingFailedException.class)
+ public void testConvertToValuePropertyNoFeature() throws DatabindingFailedException {
+ final VFeaturePathDomainModelReference pathReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ converter.convertToValueProperty(pathReference, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testConvertToValuePropertyNull() throws DatabindingFailedException {
+ converter.convertToValueProperty(null, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testConvertToValuePropertyWrongReferenceType() throws DatabindingFailedException {
+ converter.convertToValueProperty(mock(VDomainModelReference.class), validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testConvertToListProperty() throws DatabindingFailedException {
+ final VFeaturePathDomainModelReference pathReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ // create reference path to the list
+ final LinkedList<EReference> referencePath = new LinkedList<EReference>();
+ referencePath.add(TestPackage.eINSTANCE.getA_B());
+ referencePath.add(TestPackage.eINSTANCE.getB_C());
+ referencePath.add(TestPackage.eINSTANCE.getC_D());
+
+ final EStructuralFeature feature = TestPackage.eINSTANCE.getD_YList();
+
+ pathReference.getDomainModelEReferencePath().addAll(referencePath);
+ pathReference.setDomainModelEFeature(feature);
+
+ final IListProperty listProperty = converter.convertToListProperty(pathReference, validEObject);
+
+ // The converter should return an IEMFListProperty
+ assertTrue(listProperty instanceof IEMFListProperty);
+
+ final IEMFListProperty emfProperty = (IEMFListProperty) listProperty;
+
+ // Check EStructuralFeature of the property.
+ assertEquals(feature, emfProperty.getStructuralFeature());
+
+ // Check correct path.
+ final String expected = "A.b<B> => B.c<C> => C.d<D> => D.yList[]<EInt>"; //$NON-NLS-1$
+ assertEquals(expected, emfProperty.toString());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = DatabindingFailedException.class)
+ public void testConvertToListPropertyNoFeature() throws DatabindingFailedException {
+ final VFeaturePathDomainModelReference pathReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ converter.convertToListProperty(pathReference, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testConvertToListPropertyNoReferencePath() throws DatabindingFailedException {
+ final VFeaturePathDomainModelReference pathReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+
+ final EStructuralFeature feature = TestPackage.eINSTANCE.getD_YList();
+ pathReference.setDomainModelEFeature(feature);
+
+ final IListProperty listProperty = converter.convertToListProperty(pathReference, validEObject);
+
+ // The converter should return an IEMFListProperty
+ assertTrue(listProperty instanceof IEMFListProperty);
+
+ final IEMFListProperty emfProperty = (IEMFListProperty) listProperty;
+
+ // Check EStructuralFeature of the property.
+ assertEquals(feature, emfProperty.getStructuralFeature());
+
+ // Check correct path.
+ final String expected = "D.yList[]<EInt>"; //$NON-NLS-1$
+ assertEquals(expected, emfProperty.toString());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testConvertToListPropertyNull() throws DatabindingFailedException {
+ converter.convertToListProperty(null, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.core.services.databinding.featurepath.FeaturePathDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testConvertToListPropertyWrongReferenceType() throws DatabindingFailedException {
+ converter.convertToListProperty(mock(VDomainModelReference.class), validEObject);
+ }
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.checkstyle b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.checkstyle
new file mode 100644
index 0000000..32e02a4
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.checkstyle
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="c" location="esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.classpath b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.project b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.project
new file mode 100644
index 0000000..ed9420a
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.core.services.databinding.index.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.core.runtime.prefs
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.index.tests/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/All Integration Tests for core.services.databinding.index.launch b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/All Integration Tests for core.services.databinding.index.launch
new file mode 100644
index 0000000..3f69a59
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/All Integration Tests for core.services.databinding.index.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/core/services/databinding/index/tests/AllIntegrationTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.core.services.databinding.index.tests.AllIntegrationTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.core.services.databinding.index.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.emf.cdo.server.product.tcp_h2"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.xml@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-all@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.index.tests@default:false,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding.testmodel@default:default,org.eclipse.emfforms.core.services@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/All Tests for core.services.databinding.index.launch b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/All Tests for core.services.databinding.index.launch
new file mode 100644
index 0000000..1c73955
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/All Tests for core.services.databinding.index.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/core/services/databinding/index/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.core.services.databinding.index.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.core.services.databinding.index.tests"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..6b63317
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Index DMR Converter Tests
+Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.index.tests
+Bundle-Version: 1.6.0.qualifier
+Fragment-Host: org.eclipse.emfforms.core.services.databinding.index;bundle-version="[1.6.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.6.0,2.0.0)"
+Import-Package: org.osgi.framework;version="[1.3.0,2.0.0]"
+Export-Package: org.eclipse.emfforms.core.services.databinding.index.tests;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.databinding.index;version="1.6.0";x-internal:=true
+Bundle-Vendor: Eclipse Modeling Project
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/build.properties b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/build.properties
new file mode 100644
index 0000000..41eb6ad
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/pom.xml
new file mode 100644
index 0000000..e7fa203
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/pom.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <artifactId>org.eclipse.emfforms.core.services.databinding.index.tests</artifactId>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>true</useUIHarness>
+ <useUIThread>true</useUIThread>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <groupId>org.eclipse.emfforms</groupId>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/core/services/databinding/index/tests/AllIntegrationTests.java b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/core/services/databinding/index/tests/AllIntegrationTests.java
new file mode 100644
index 0000000..ebb3c34
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/core/services/databinding/index/tests/AllIntegrationTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.core.services.databinding.index.tests;
+
+import org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter_ITest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * All integration tests for core.services.databinding.index.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ IndexDomainModelReferenceConverter_ITest.class })
+public class AllIntegrationTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/core/services/databinding/index/tests/AllTests.java b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/core/services/databinding/index/tests/AllTests.java
new file mode 100644
index 0000000..451a1c0
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/core/services/databinding/index/tests/AllTests.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.core.services.databinding.index.tests;
+
+import org.eclipse.emfforms.internal.core.services.databinding.index.EMFIndexedValueProperty_Test;
+import org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter_Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * All JUnit tests for core.services.databinding.index
+ *
+ * @author Lucas Koehler
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ IndexDomainModelReferenceConverter_Test.class, EMFIndexedValueProperty_Test.class })
+public class AllTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/internal/core/services/databinding/index/EMFIndexedValueProperty_Test.java b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/internal/core/services/databinding/index/EMFIndexedValueProperty_Test.java
new file mode 100644
index 0000000..2c02a0a
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/internal/core/services/databinding/index/EMFIndexedValueProperty_Test.java
@@ -0,0 +1,131 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding.index;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+import org.junit.Test;
+
+/**
+ * JUnit test cases for {@link EMFIndexedValueProperty}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFIndexedValueProperty_Test {
+ /**
+ * Test method for
+ * {@link EMFIndexedValueProperty#EMFIndexedValueProperty(org.eclipse.emf.edit.domain.EditingDomain,int, org.eclipse.emf.ecore.EStructuralFeature)}
+ * .
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testEMFIndexedValuePropertyNegativeIndex() {
+ new EMFIndexedValueProperty(null, -1, TestPackage.eINSTANCE.getB_CList());
+ }
+
+ /**
+ * Test method for {@link EMFIndexedValueProperty#doGetValue(java.lang.Object)} .
+ */
+ @Test
+ public void testDoGetValueNull() {
+ final EMFIndexedValueProperty indexedValueProperty = new EMFIndexedValueProperty(null, 0,
+ TestPackage.eINSTANCE.getB_CList());
+ final B b = TestFactory.eINSTANCE.createB();
+ assertNull(indexedValueProperty.doGetValue(b));
+ }
+
+ /**
+ * Test method for {@link EMFIndexedValueProperty#doGetValue(java.lang.Object)} .
+ */
+ @Test
+ public void testDoGetValue() {
+ final EMFIndexedValueProperty indexedValueProperty = new EMFIndexedValueProperty(null, 1,
+ TestPackage.eINSTANCE.getB_CList());
+ final B b = TestFactory.eINSTANCE.createB();
+ final C c1 = TestFactory.eINSTANCE.createC();
+ final C c2 = TestFactory.eINSTANCE.createC();
+ b.getCList().add(c1);
+ b.getCList().add(c2);
+
+ assertEquals(c2, indexedValueProperty.doGetValue(b));
+ }
+
+ /**
+ * Test method for {@link EMFIndexedValueProperty#doSetValue(java.lang.Object, java.lang.Object)} .
+ */
+ @Test
+ public void testDoSetValueObjectReplace() {
+ final AdapterFactoryEditingDomain domain = new AdapterFactoryEditingDomain(
+ new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
+ new BasicCommandStack());
+ final EMFIndexedValueProperty indexedValueProperty = new EMFIndexedValueProperty(domain, 1,
+ TestPackage.eINSTANCE.getB_CList());
+ final B b = TestFactory.eINSTANCE.createB();
+ final C c1 = TestFactory.eINSTANCE.createC();
+ final C c2 = TestFactory.eINSTANCE.createC();
+ final C c3 = TestFactory.eINSTANCE.createC();
+ b.getCList().add(c1);
+ b.getCList().add(c2);
+ indexedValueProperty.doSetValue(b, c3);
+
+ assertEquals(indexedValueProperty.doGetValue(b), c3);
+ }
+
+ /**
+ * Test method for {@link EMFIndexedValueProperty#doSetValue(java.lang.Object, java.lang.Object)} .
+ */
+ @Test
+ public void testDoSetValueObjectAdd() {
+ final AdapterFactoryEditingDomain domain = new AdapterFactoryEditingDomain(
+ new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
+ new BasicCommandStack());
+ final EMFIndexedValueProperty indexedValueProperty = new EMFIndexedValueProperty(domain, 1,
+ TestPackage.eINSTANCE.getB_CList());
+ final B b = TestFactory.eINSTANCE.createB();
+ final C c1 = TestFactory.eINSTANCE.createC();
+ final C c2 = TestFactory.eINSTANCE.createC();
+ b.getCList().add(c1);
+ indexedValueProperty.doSetValue(b, c2);
+
+ assertEquals(c2, indexedValueProperty.doGetValue(b));
+ }
+
+ /**
+ * Test method for {@link EMFIndexedValueProperty#doSetValue(java.lang.Object, java.lang.Object)} .
+ */
+ @Test
+ public void testDoSetValueObjectIndexTooBig() {
+ final AdapterFactoryEditingDomain domain = new AdapterFactoryEditingDomain(
+ new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
+ new BasicCommandStack());
+ final EMFIndexedValueProperty indexedValueProperty = new EMFIndexedValueProperty(domain, 5,
+ TestPackage.eINSTANCE.getB_CList());
+ final B b = TestFactory.eINSTANCE.createB();
+ final C c1 = TestFactory.eINSTANCE.createC();
+ final C c2 = TestFactory.eINSTANCE.createC();
+ b.getCList().add(c1);
+ indexedValueProperty.doSetValue(b, c2);
+ assertEquals(1, b.getCList().size());
+ assertTrue(b.getCList().contains(c1));
+ assertFalse(b.getCList().contains(c2));
+ }
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/internal/core/services/databinding/index/IndexDomainModelReferenceConverter_ITest.java b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/internal/core/services/databinding/index/IndexDomainModelReferenceConverter_ITest.java
new file mode 100644
index 0000000..24aba13
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/internal/core/services/databinding/index/IndexDomainModelReferenceConverter_ITest.java
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding.index;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.same;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexdmrFactory;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * JUnit integration test for the {@link IndexDomainModelReferenceConverter}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class IndexDomainModelReferenceConverter_ITest {
+
+ private static BundleContext bundleContext;
+ private DomainModelReferenceConverter service;
+ private ServiceReference<DomainModelReferenceConverter> serviceReference;
+ private EMFFormsDatabinding emfFormsDatabinding;
+
+ @BeforeClass
+ public static void setUpBeforeClass() {
+ bundleContext = FrameworkUtil.getBundle(IndexDomainModelReferenceConverter_ITest.class)
+ .getBundleContext();
+ }
+
+ @Before
+ public void setUp() throws DatabindingFailedException {
+ final Dictionary<String, Object> dictionary = new Hashtable<String, Object>();
+ dictionary.put("service.ranking", 50); //$NON-NLS-1$
+ emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getValueProperty(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mock(IValueProperty.class));
+ bundleContext.registerService(EMFFormsDatabinding.class, emfFormsDatabinding, dictionary);
+ serviceReference = bundleContext
+ .getServiceReference(DomainModelReferenceConverter.class);
+ service = bundleContext.getService(serviceReference);
+ }
+
+ @After
+ public void tearDown() {
+ bundleContext.ungetService(serviceReference);
+ }
+
+ @Test
+ public void testServiceType() throws DatabindingFailedException {
+ assertTrue(IndexDomainModelReferenceConverter.class.isInstance(service));
+ final IndexDomainModelReferenceConverter indexConverter = (IndexDomainModelReferenceConverter) service;
+
+ final VIndexDomainModelReference indexReference = VIndexdmrFactory.eINSTANCE.createIndexDomainModelReference();
+ indexReference.setDomainModelEFeature(TestPackage.eINSTANCE.getB_CList());
+ final VFeaturePathDomainModelReference targetReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ indexReference.setTargetDMR(targetReference);
+
+ indexConverter.convertToValueProperty(indexReference, mock(EObject.class));
+ verify(emfFormsDatabinding).getValueProperty(same(targetReference), any(EObject.class));
+
+ }
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/internal/core/services/databinding/index/IndexDomainModelReferenceConverter_Test.java b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/internal/core/services/databinding/index/IndexDomainModelReferenceConverter_Test.java
new file mode 100644
index 0000000..3b755ee
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.index.tests/src/org/eclipse/emfforms/internal/core/services/databinding/index/IndexDomainModelReferenceConverter_Test.java
@@ -0,0 +1,358 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding.index;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.databinding.EMFProperties;
+import org.eclipse.emf.databinding.IEMFListProperty;
+import org.eclipse.emf.databinding.IEMFValueProperty;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EcoreFactory;
+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.ecp.view.spi.indexdmr.model.VIndexDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.indexdmr.model.VIndexdmrFactory;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * JUnit tests for {@link IndexDomainModelReferenceConverter}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class IndexDomainModelReferenceConverter_Test {
+
+ private IndexDomainModelReferenceConverter converter;
+ private static EObject validEObject;
+
+ @BeforeClass
+ public static void setupClass() {
+ validEObject = createValidEObject();
+ }
+
+ private static EObject createValidEObject() {
+ final ResourceSet rs = new ResourceSetImpl();
+ final AdapterFactoryEditingDomain domain = new AdapterFactoryEditingDomain(
+ new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
+ new BasicCommandStack(), rs);
+ rs.eAdapters().add(new AdapterFactoryEditingDomain.EditingDomainProvider(domain));
+ final Resource resource = rs.createResource(URI.createURI("VIRTAUAL_URI")); //$NON-NLS-1$
+ final EObject domainObject = EcoreFactory.eINSTANCE.createEObject();
+ if (resource != null) {
+ resource.getContents().add(domainObject);
+ }
+ return domainObject;
+ }
+
+ /**
+ * Set up executed before every test case.
+ */
+ @Before
+ public void setUp() {
+ converter = new IndexDomainModelReferenceConverter();
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @After
+ public void tearDown() throws Exception {
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter#isApplicable(VDomainModelReference)}
+ * .
+ */
+ @Test
+ public void testIsApplicable() {
+ assertEquals(10d, converter.isApplicable(mock(VIndexDomainModelReference.class)), 0d);
+
+ // The IndexDomainModelReferenceConverter is not applicable other references than
+ // IndexDomainModelReferences
+ assertEquals(DomainModelReferenceConverter.NOT_APPLICABLE,
+ converter.isApplicable(mock(VDomainModelReference.class)), 0d);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testConvertToValueProperty() throws DatabindingFailedException {
+ final VIndexDomainModelReference indexDMR = VIndexdmrFactory.eINSTANCE.createIndexDomainModelReference();
+ indexDMR.getDomainModelEReferencePath().add(TestPackage.eINSTANCE.getA_B());
+ indexDMR.setDomainModelEFeature(TestPackage.eINSTANCE.getB_CList());
+ indexDMR.setIndex(1);
+
+ final VFeaturePathDomainModelReference targetDMR = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ targetDMR.setDomainModelEFeature(TestPackage.eINSTANCE.getD_X());
+ targetDMR.getDomainModelEReferencePath().add(TestPackage.eINSTANCE.getC_D());
+ indexDMR.setTargetDMR(targetDMR);
+
+ IEMFValueProperty targetValueProperty = EMFProperties.value(TestPackage.eINSTANCE.getC_D());
+ targetValueProperty = targetValueProperty.value(TestPackage.eINSTANCE.getD_X());
+ final EMFFormsDatabinding emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getValueProperty(targetDMR, validEObject)).thenReturn(targetValueProperty);
+ converter.setEMFFormsDatabinding(emfFormsDatabinding);
+
+ final IValueProperty resultProperty = converter.convertToValueProperty(indexDMR, validEObject);
+
+ final String expected = "A.b<B> => B.cList<C> index 1 => C.d<D> => D.x<EString>"; //$NON-NLS-1$
+ assertEquals(expected, resultProperty.toString());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testConvertToValuePropertyNoReferencePath() throws DatabindingFailedException {
+ final VIndexDomainModelReference indexDMR = VIndexdmrFactory.eINSTANCE.createIndexDomainModelReference();
+ indexDMR.setDomainModelEFeature(TestPackage.eINSTANCE.getB_CList());
+ indexDMR.setIndex(1);
+
+ final VFeaturePathDomainModelReference targetDMR = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ targetDMR.setDomainModelEFeature(TestPackage.eINSTANCE.getD_X());
+ targetDMR.getDomainModelEReferencePath().add(TestPackage.eINSTANCE.getC_D());
+ indexDMR.setTargetDMR(targetDMR);
+
+ IEMFValueProperty targetValueProperty = EMFProperties.value(TestPackage.eINSTANCE.getC_D());
+ targetValueProperty = targetValueProperty.value(TestPackage.eINSTANCE.getD_X());
+ final EMFFormsDatabinding emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getValueProperty(targetDMR, validEObject)).thenReturn(targetValueProperty);
+ converter.setEMFFormsDatabinding(emfFormsDatabinding);
+
+ final IValueProperty resultProperty = converter.convertToValueProperty(indexDMR, validEObject);
+
+ final String expected = "B.cList<C> index 1 => C.d<D> => D.x<EString>"; //$NON-NLS-1$
+ assertEquals(expected, resultProperty.toString());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalListTypeException.class)
+ public void testConvertToValuePropertyWrongListType() throws DatabindingFailedException {
+ final VIndexDomainModelReference indexDMR = VIndexdmrFactory.eINSTANCE.createIndexDomainModelReference();
+ indexDMR.setDomainModelEFeature(TestPackage.eINSTANCE.getD_YList());
+ indexDMR.setIndex(1);
+
+ final VFeaturePathDomainModelReference targetDMR = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ targetDMR.setDomainModelEFeature(TestPackage.eINSTANCE.getD_X());
+ indexDMR.setTargetDMR(targetDMR);
+
+ final IEMFValueProperty targetValueProperty = EMFProperties.value(TestPackage.eINSTANCE.getD_X());
+ final EMFFormsDatabinding emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getValueProperty(targetDMR, validEObject)).thenReturn(targetValueProperty);
+ converter.setEMFFormsDatabinding(emfFormsDatabinding);
+
+ converter.convertToValueProperty(indexDMR, validEObject);
+
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = DatabindingFailedException.class)
+ public void testConvertToValuePropertyNoFeature() throws DatabindingFailedException {
+ final VIndexDomainModelReference indexReference = VIndexdmrFactory.eINSTANCE.createIndexDomainModelReference();
+ converter.convertToValueProperty(indexReference, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed (expected for this test case)
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testConvertToValuePropertyNull() throws DatabindingFailedException {
+ converter.convertToValueProperty(null, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testConvertToValuePropertyWrongReferenceType() throws DatabindingFailedException {
+ converter.convertToValueProperty(mock(VDomainModelReference.class), validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testConvertToListProperty() throws DatabindingFailedException {
+ final VIndexDomainModelReference indexDMR = VIndexdmrFactory.eINSTANCE.createIndexDomainModelReference();
+ indexDMR.getDomainModelEReferencePath().add(TestPackage.eINSTANCE.getA_B());
+ indexDMR.setDomainModelEFeature(TestPackage.eINSTANCE.getB_CList());
+ indexDMR.setIndex(1);
+
+ final VFeaturePathDomainModelReference targetDMR = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ targetDMR.setDomainModelEFeature(TestPackage.eINSTANCE.getD_YList());
+ targetDMR.getDomainModelEReferencePath().add(TestPackage.eINSTANCE.getC_D());
+ indexDMR.setTargetDMR(targetDMR);
+
+ final IEMFValueProperty targetValueProperty = EMFProperties.value(TestPackage.eINSTANCE.getC_D());
+ final IEMFListProperty targetListProperty = targetValueProperty.list(TestPackage.eINSTANCE.getD_YList());
+ final EMFFormsDatabinding emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getListProperty(targetDMR, validEObject)).thenReturn(targetListProperty);
+ converter.setEMFFormsDatabinding(emfFormsDatabinding);
+
+ final IListProperty resultProperty = converter.convertToListProperty(indexDMR, validEObject);
+
+ final String expected = "A.b<B> => B.cList<C> index 1 => C.d<D> => D.yList[]<EInt>"; //$NON-NLS-1$
+ assertEquals(expected, resultProperty.toString());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testConvertToListPropertyNoReferencePath() throws DatabindingFailedException {
+ final VIndexDomainModelReference indexDMR = VIndexdmrFactory.eINSTANCE.createIndexDomainModelReference();
+ indexDMR.setDomainModelEFeature(TestPackage.eINSTANCE.getB_CList());
+ indexDMR.setIndex(1);
+
+ final VFeaturePathDomainModelReference targetDMR = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ targetDMR.setDomainModelEFeature(TestPackage.eINSTANCE.getD_YList());
+ targetDMR.getDomainModelEReferencePath().add(TestPackage.eINSTANCE.getC_D());
+ indexDMR.setTargetDMR(targetDMR);
+
+ final IEMFValueProperty targetValueProperty = EMFProperties.value(TestPackage.eINSTANCE.getC_D());
+ final IEMFListProperty targetListProperty = targetValueProperty.list(TestPackage.eINSTANCE.getD_YList());
+ final EMFFormsDatabinding emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getListProperty(targetDMR, validEObject)).thenReturn(targetListProperty);
+ converter.setEMFFormsDatabinding(emfFormsDatabinding);
+
+ final IListProperty resultProperty = converter.convertToListProperty(indexDMR, validEObject);
+
+ final String expected = "B.cList<C> index 1 => C.d<D> => D.yList[]<EInt>"; //$NON-NLS-1$
+ assertEquals(expected, resultProperty.toString());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalListTypeException.class)
+ public void testConvertToListPropertyWrongListType() throws DatabindingFailedException {
+ final VIndexDomainModelReference indexDMR = VIndexdmrFactory.eINSTANCE.createIndexDomainModelReference();
+ indexDMR.setDomainModelEFeature(TestPackage.eINSTANCE.getD_YList());
+ indexDMR.setIndex(1);
+
+ final VFeaturePathDomainModelReference targetDMR = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ targetDMR.setDomainModelEFeature(TestPackage.eINSTANCE.getD_YList());
+ indexDMR.setTargetDMR(targetDMR);
+
+ final IEMFListProperty targetListProperty = EMFProperties.list(TestPackage.eINSTANCE.getD_YList());
+ final EMFFormsDatabinding emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getListProperty(targetDMR, validEObject)).thenReturn(targetListProperty);
+ converter.setEMFFormsDatabinding(emfFormsDatabinding);
+
+ converter.convertToListProperty(indexDMR, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testConvertToListPropertyNull() throws DatabindingFailedException {
+ converter.convertToListProperty(null, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testConvertToListPropertyWrongReferenceType() throws DatabindingFailedException {
+ converter.convertToListProperty(mock(VDomainModelReference.class), validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.index.IndexDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed (expected for this test case)
+ */
+ @Test(expected = DatabindingFailedException.class)
+ public void testConvertToListPropertyNoFeature() throws DatabindingFailedException {
+ final VIndexDomainModelReference indexReference = VIndexdmrFactory.eINSTANCE.createIndexDomainModelReference();
+ converter.convertToListProperty(indexReference, validEObject);
+ }
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.checkstyle b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.checkstyle
new file mode 100644
index 0000000..32e02a4
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.checkstyle
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="c" location="esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.classpath b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.project b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.project
new file mode 100644
index 0000000..2138738
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.core.services.databinding.integrationtest</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.core.runtime.prefs
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.integrationtest/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/Databinding Services Integration Tests.launch b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/Databinding Services Integration Tests.launch
new file mode 100644
index 0000000..d47bfa8
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/Databinding Services Integration Tests.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.core.services.databinding.integrationtest/src/org/eclipse/emfforms/core/services/databinding/integrationtest/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.core.services.databinding.integrationtest.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.core.services.databinding.integrationtest"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.emf.cdo.server.product.tcp_h2"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.xml@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.integrationtest@default:default,org.eclipse.emfforms.core.services.databinding.testmodel@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..c249272
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Databinding Services Integration Test
+Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.integrationtest
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.2.0,2.0.0)"
+Import-Package: org.osgi.framework;version="[1.1.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.core.services.databinding.integra
+ tiontest;version="1.6.0";x-internal:=true
+Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/build.properties b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/build.properties
new file mode 100644
index 0000000..41eb6ad
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/pom.xml b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/pom.xml
new file mode 100644
index 0000000..1b27f20
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/pom.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <artifactId>org.eclipse.emfforms.core.services.databinding.integrationtest</artifactId>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>true</useUIHarness>
+ <useUIThread>true</useUIThread>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.emf</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.databinding.featurepath</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/src/org/eclipse/emfforms/core/services/databinding/integrationtest/AllTests.java b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/src/org/eclipse/emfforms/core/services/databinding/integrationtest/AllTests.java
new file mode 100644
index 0000000..7668596
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/src/org/eclipse/emfforms/core/services/databinding/integrationtest/AllTests.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.core.services.databinding.integrationtest;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * JUnit test suite for all integration tests for the databinding services.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ DatabindingIntegration_ITest.class })
+public class AllTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/src/org/eclipse/emfforms/core/services/databinding/integrationtest/DatabindingIntegration_ITest.java b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/src/org/eclipse/emfforms/core/services/databinding/integrationtest/DatabindingIntegration_ITest.java
new file mode 100644
index 0000000..c9989ce
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.integrationtest/src/org/eclipse/emfforms/core/services/databinding/integrationtest/DatabindingIntegration_ITest.java
@@ -0,0 +1,129 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.core.services.databinding.integrationtest;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.LinkedList;
+
+import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.databinding.IEMFListProperty;
+import org.eclipse.emf.databinding.IEMFValueProperty;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * JUnit test to test the integration of the databinding services.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class DatabindingIntegration_ITest {
+
+ private static BundleContext bundleContext;
+ private EMFFormsDatabinding databindingService;
+ private ServiceReference<EMFFormsDatabinding> serviceReference;
+
+ @BeforeClass
+ public static void setUpBeforeClass() {
+ bundleContext = FrameworkUtil.getBundle(DatabindingIntegration_ITest.class).getBundleContext();
+ }
+
+ @Before
+ public void setUp() {
+ serviceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ databindingService = bundleContext.getService(serviceReference);
+ }
+
+ @After
+ public void tearDown() {
+ bundleContext.ungetService(serviceReference);
+ }
+
+ @Test
+ public void testIntegrationValue() throws DatabindingFailedException {
+ final VFeaturePathDomainModelReference pathReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ // create reference path to the attribute
+ final LinkedList<EReference> referencePath = new LinkedList<EReference>();
+ referencePath.add(TestPackage.eINSTANCE.getA_B());
+ referencePath.add(TestPackage.eINSTANCE.getB_C());
+ referencePath.add(TestPackage.eINSTANCE.getC_D());
+
+ final EStructuralFeature feature = TestPackage.eINSTANCE.getD_X();
+
+ pathReference.getDomainModelEReferencePath().addAll(referencePath);
+ pathReference.setDomainModelEFeature(feature);
+
+ final IValueProperty valueProperty = databindingService.getValueProperty(pathReference, null);
+
+ // The converter should return an IEMFValueProperty
+ assertTrue(valueProperty instanceof IEMFValueProperty);
+
+ final IEMFValueProperty emfProperty = (IEMFValueProperty) valueProperty;
+
+ // Check EStructuralFeature of the property.
+ assertEquals(feature, emfProperty.getStructuralFeature());
+
+ // Check correct path.
+ final String expected = "A.b<B> => B.c<C> => C.d<D> => D.x<EString>"; //$NON-NLS-1$
+ assertEquals(expected, emfProperty.toString());
+
+ }
+
+ @Test
+ public void testIntegrationList() throws DatabindingFailedException {
+ // TODO
+ final VFeaturePathDomainModelReference pathReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ // create reference path to the attribute
+ final LinkedList<EReference> referencePath = new LinkedList<EReference>();
+ referencePath.add(TestPackage.eINSTANCE.getA_B());
+ referencePath.add(TestPackage.eINSTANCE.getB_C());
+ referencePath.add(TestPackage.eINSTANCE.getC_D());
+
+ final EStructuralFeature feature = TestPackage.eINSTANCE.getD_YList();
+
+ pathReference.getDomainModelEReferencePath().addAll(referencePath);
+ pathReference.setDomainModelEFeature(feature);
+
+ final IListProperty listProperty = databindingService.getListProperty(pathReference, null);
+
+ // The converter should return an IEMFListProperty
+ assertTrue(listProperty instanceof IEMFListProperty);
+
+ final IEMFListProperty emfListProperty = (IEMFListProperty) listProperty;
+
+ // Check EStructuralFeature of the property.
+ assertEquals(feature, emfListProperty.getStructuralFeature());
+
+ // Check correct path.
+ final String expected = "A.b<B> => B.c<C> => C.d<D> => D.yList[]<EInt>"; //$NON-NLS-1$
+ assertEquals(expected, emfListProperty.toString());
+
+ }
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.checkstyle b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.checkstyle
new file mode 100644
index 0000000..32e02a4
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.checkstyle
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="c" location="esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.classpath b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.project b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.project
new file mode 100644
index 0000000..30dbf4d
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.core.services.databinding.mapping.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.core.runtime.prefs
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/All Integration Tests for core.services.databinding.mapping.launch b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/All Integration Tests for core.services.databinding.mapping.launch
new file mode 100644
index 0000000..cef0ee2
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/All Integration Tests for core.services.databinding.mapping.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/core/services/databinding/mapping/tests/AllIntegrationTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.core.services.databinding.mapping.tests.AllIntegrationTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.core.services.databinding.mapping.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.emf.cdo.server.product.tcp_h2"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.xml@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-all@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.mapping.tests@default:false,org.eclipse.emfforms.core.services.databinding.mapping@default:default,org.eclipse.emfforms.core.services.databinding.testmodel@default:default,org.eclipse.emfforms.core.services@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/All Tests for core.services.databinding.mapping.launch b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/All Tests for core.services.databinding.mapping.launch
new file mode 100644
index 0000000..c342b92
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/All Tests for core.services.databinding.mapping.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/core/services/databinding/mapping/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.core.services.databinding.mapping.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.core.services.databinding.mapping.tests"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f5a0386
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Mapping DMR Converter Tests
+Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.mapping.tests
+Bundle-Version: 1.6.0.qualifier
+Fragment-Host: org.eclipse.emfforms.core.services.databinding.mapping;bundle-version="[1.6.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.core.services.databinding.mapping.tests;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.databinding.mapping;version="1.6.0";x-internal:=true
+Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)"
+
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/build.properties b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/build.properties
new file mode 100644
index 0000000..41eb6ad
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/pom.xml
new file mode 100644
index 0000000..e63aff9
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/pom.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <artifactId>org.eclipse.emfforms.core.services.databinding.mapping.tests</artifactId>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>true</useUIHarness>
+ <useUIThread>true</useUIThread>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <groupId>org.eclipse.emfforms</groupId>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/core/services/databinding/mapping/tests/AllIntegrationTests.java b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/core/services/databinding/mapping/tests/AllIntegrationTests.java
new file mode 100644
index 0000000..3574bd5
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/core/services/databinding/mapping/tests/AllIntegrationTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler- initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.core.services.databinding.mapping.tests;
+
+import org.eclipse.emfforms.internal.core.services.databinding.mapping.MappingDomainModelReferenceConverter_ITest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * All JUnit integration test cases for core.services.databinding.mapping
+ *
+ * @author Lucas Koehler
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ MappingDomainModelReferenceConverter_ITest.class })
+public class AllIntegrationTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/core/services/databinding/mapping/tests/AllTests.java b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/core/services/databinding/mapping/tests/AllTests.java
new file mode 100644
index 0000000..fc725f5
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/core/services/databinding/mapping/tests/AllTests.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.core.services.databinding.mapping.tests;
+
+import org.eclipse.emfforms.internal.core.services.databinding.mapping.EMFMappingValueProperty_Test;
+import org.eclipse.emfforms.internal.core.services.databinding.mapping.MappingDomainModelReferenceConverter_Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * All JUnit test cases for core.services.databinding.mapping
+ *
+ * @author Lucas Koehler
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ EMFMappingValueProperty_Test.class, MappingDomainModelReferenceConverter_Test.class })
+public class AllTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/EMFMappingValueProperty_Test.java b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/EMFMappingValueProperty_Test.java
new file mode 100644
index 0000000..5688518
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/EMFMappingValueProperty_Test.java
@@ -0,0 +1,112 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding.mapping;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+import org.junit.Test;
+
+/**
+ * JUnit test cases for {@link EMFMappingValueProperty}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFMappingValueProperty_Test {
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.EMFMappingValueProperty#doGetValue(java.lang.Object)}
+ * .
+ */
+ @Test
+ public void testDoGetValue() {
+ final C c = TestFactory.eINSTANCE.createC();
+ final EClass eClass1 = TestPackage.eINSTANCE.getB();
+ final A a1 = TestFactory.eINSTANCE.createA();
+ c.getEClassToA().put(eClass1, a1);
+
+ final EMFMappingValueProperty mappingValueProperty = new EMFMappingValueProperty(null, eClass1,
+ TestPackage.eINSTANCE.getC_EClassToA());
+ assertEquals(a1, mappingValueProperty.doGetValue(c));
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.EMFMappingValueProperty#doGetValue(java.lang.Object)}
+ * .
+ */
+ @Test
+ public void testDoGetValueNoMapEntry() {
+ final C c = TestFactory.eINSTANCE.createC();
+ final EClass eClass1 = TestPackage.eINSTANCE.getB();
+
+ final EMFMappingValueProperty mappingValueProperty = new EMFMappingValueProperty(null, eClass1,
+ TestPackage.eINSTANCE.getC_EClassToA());
+ assertNull(mappingValueProperty.doGetValue(c));
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.EMFMappingValueProperty#doSetValue(java.lang.Object, java.lang.Object)}
+ * .
+ */
+ @Test
+ public void testDoSetValueObjectReplaceEntry() {
+ final C c = TestFactory.eINSTANCE.createC();
+ final EClass eClass1 = TestPackage.eINSTANCE.getB();
+ final A a1 = TestFactory.eINSTANCE.createA();
+ final A a2 = TestFactory.eINSTANCE.createA();
+ a2.setB(TestFactory.eINSTANCE.createB());
+ c.getEClassToA().put(eClass1, a1);
+
+ final AdapterFactoryEditingDomain domain = new AdapterFactoryEditingDomain(
+ new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
+ new BasicCommandStack());
+
+ final EMFMappingValueProperty mappingValueProperty = new EMFMappingValueProperty(domain, eClass1,
+ TestPackage.eINSTANCE.getC_EClassToA());
+ assertEquals(a1, mappingValueProperty.doGetValue(c));
+
+ mappingValueProperty.doSetValue(c, a2);
+ assertEquals(a2, mappingValueProperty.doGetValue(c));
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.EMFMappingValueProperty#doSetValue(java.lang.Object, java.lang.Object)}
+ * .
+ */
+ @Test
+ public void testDoSetValueObjectAddEntry() {
+ final C c = TestFactory.eINSTANCE.createC();
+ final EClass eClass1 = TestPackage.eINSTANCE.getA();
+ final A a1 = TestFactory.eINSTANCE.createA();
+ final AdapterFactoryEditingDomain domain = new AdapterFactoryEditingDomain(
+ new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
+ new BasicCommandStack());
+
+ final EMFMappingValueProperty mappingValueProperty = new EMFMappingValueProperty(domain, eClass1,
+ TestPackage.eINSTANCE.getC_EClassToA());
+ mappingValueProperty.doSetValue(c, a1);
+
+ assertEquals(a1, mappingValueProperty.doGetValue(c));
+ }
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/MappingDomainModelReferenceConverter_ITest.java b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/MappingDomainModelReferenceConverter_ITest.java
new file mode 100644
index 0000000..af42cdd
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/MappingDomainModelReferenceConverter_ITest.java
@@ -0,0 +1,96 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding.mapping;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.same;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.mappingdmr.model.VMappingDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.mappingdmr.model.VMappingdmrFactory;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * Integration test cases for {@link MappingDomainModelReferenceConverter}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class MappingDomainModelReferenceConverter_ITest {
+
+ private static BundleContext bundleContext;
+ private DomainModelReferenceConverter service;
+ private ServiceReference<DomainModelReferenceConverter> serviceReference;
+ private EMFFormsDatabinding emfFormsDatabinding;
+
+ @BeforeClass
+ public static void setUpBeforeClass() {
+ bundleContext = FrameworkUtil.getBundle(MappingDomainModelReferenceConverter_ITest.class)
+ .getBundleContext();
+ }
+
+ @Before
+ public void setUp() throws DatabindingFailedException {
+ final Dictionary<String, Object> dictionary = new Hashtable<String, Object>();
+ dictionary.put("service.ranking", 50); //$NON-NLS-1$
+ emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getValueProperty(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ mock(IValueProperty.class));
+ bundleContext.registerService(EMFFormsDatabinding.class, emfFormsDatabinding, dictionary);
+ serviceReference = bundleContext
+ .getServiceReference(DomainModelReferenceConverter.class);
+ service = bundleContext.getService(serviceReference);
+ }
+
+ @After
+ public void tearDown() {
+ bundleContext.ungetService(serviceReference);
+ }
+
+ @Test
+ public void testServiceType() throws DatabindingFailedException {
+ assertTrue(MappingDomainModelReferenceConverter.class.isInstance(service));
+ final MappingDomainModelReferenceConverter mappingConverter = (MappingDomainModelReferenceConverter) service;
+
+ final VMappingDomainModelReference mappingReference = VMappingdmrFactory.eINSTANCE
+ .createMappingDomainModelReference();
+ mappingReference.setDomainModelEFeature(TestPackage.eINSTANCE.getC_EClassToA());
+ final VFeaturePathDomainModelReference targetReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ mappingReference.setDomainModelReference(targetReference);
+
+ mappingConverter.convertToValueProperty(mappingReference, mock(EObject.class));
+ verify(emfFormsDatabinding).getValueProperty(same(targetReference), any(EObject.class));
+
+ }
+}
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/MappingDomainModelReferenceConverter_Test.java b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/MappingDomainModelReferenceConverter_Test.java
new file mode 100644
index 0000000..e1c9efb
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.mapping.tests/src/org/eclipse/emfforms/internal/core/services/databinding/mapping/MappingDomainModelReferenceConverter_Test.java
@@ -0,0 +1,336 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding.mapping;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.databinding.EMFProperties;
+import org.eclipse.emf.databinding.IEMFListProperty;
+import org.eclipse.emf.databinding.IEMFValueProperty;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EcoreFactory;
+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.ecp.view.spi.mappingdmr.model.VMappingDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.mappingdmr.model.VMappingdmrFactory;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * JUnit test cases for {@link MappingDomainModelReferenceConverter}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class MappingDomainModelReferenceConverter_Test {
+
+ private MappingDomainModelReferenceConverter converter;
+ private static EObject validEObject;
+
+ @BeforeClass
+ public static void setupClass() {
+ validEObject = createValidEObject();
+ }
+
+ private static EObject createValidEObject() {
+ final ResourceSet rs = new ResourceSetImpl();
+ final AdapterFactoryEditingDomain domain = new AdapterFactoryEditingDomain(
+ new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE),
+ new BasicCommandStack(), rs);
+ rs.eAdapters().add(new AdapterFactoryEditingDomain.EditingDomainProvider(domain));
+ final Resource resource = rs.createResource(URI.createURI("VIRTAUAL_URI")); //$NON-NLS-1$
+ final EObject domainObject = EcoreFactory.eINSTANCE.createEObject();
+ if (resource != null) {
+ resource.getContents().add(domainObject);
+ }
+ return domainObject;
+ }
+
+ /**
+ * Creates a new {@link MappingDomainModelReferenceConverter} for every test case
+ */
+ @Before
+ public void setUp() {
+ converter = new MappingDomainModelReferenceConverter();
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.MappingDomainModelReferenceConverter#isApplicable(VDomainModelReference)}
+ * .
+ */
+ @Test
+ public void testIsApplicable() {
+ assertEquals(10d, converter.isApplicable(mock(VMappingDomainModelReference.class)), 0d);
+
+ assertEquals(DomainModelReferenceConverter.NOT_APPLICABLE,
+ converter.isApplicable(mock(VDomainModelReference.class)), 0d);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.MappingDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testConvertToValueProperty() throws DatabindingFailedException {
+ final VMappingDomainModelReference mappingReference = VMappingdmrFactory.eINSTANCE
+ .createMappingDomainModelReference();
+ mappingReference.setDomainModelEFeature(TestPackage.eINSTANCE.getC_EClassToA());
+ mappingReference.getDomainModelEReferencePath().add(TestPackage.eINSTANCE.getB_C());
+ mappingReference.setMappedClass(TestPackage.eINSTANCE.getD());
+
+ final VFeaturePathDomainModelReference targetReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ targetReference.getDomainModelEReferencePath().add(TestPackage.eINSTANCE.getA_B());
+ targetReference.setDomainModelEFeature(TestPackage.eINSTANCE.getB_C());
+ mappingReference.setDomainModelReference(targetReference);
+
+ IEMFValueProperty targetValueProperty = EMFProperties.value(TestPackage.eINSTANCE.getA_B());
+ targetValueProperty = targetValueProperty.value(TestPackage.eINSTANCE.getB_C());
+ final EMFFormsDatabinding emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getValueProperty(targetReference, validEObject)).thenReturn(targetValueProperty);
+ converter.setEMFFormsDatabinding(emfFormsDatabinding);
+
+ final IValueProperty resultProperty = converter.convertToValueProperty(mappingReference, validEObject);
+
+ final String expected = "B.c<C> => C.eClassToA<EClassToAMap> mapping D => A.b<B> => B.c<C>"; //$NON-NLS-1$
+ assertEquals(expected, resultProperty.toString());
+ verify(emfFormsDatabinding).getValueProperty(targetReference, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.MappingDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testConvertToValuePropertyNoReferencePaths() throws DatabindingFailedException {
+ final VMappingDomainModelReference mappingReference = VMappingdmrFactory.eINSTANCE
+ .createMappingDomainModelReference();
+ mappingReference.setDomainModelEFeature(TestPackage.eINSTANCE.getC_EClassToA());
+ mappingReference.setMappedClass(TestPackage.eINSTANCE.getD());
+
+ final VFeaturePathDomainModelReference targetReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ targetReference.setDomainModelEFeature(TestPackage.eINSTANCE.getA_B());
+ mappingReference.setDomainModelReference(targetReference);
+
+ final IEMFValueProperty targetValueProperty = EMFProperties.value(TestPackage.eINSTANCE.getA_B());
+ final EMFFormsDatabinding emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getValueProperty(targetReference, validEObject)).thenReturn(targetValueProperty);
+ converter.setEMFFormsDatabinding(emfFormsDatabinding);
+
+ final IValueProperty resultProperty = converter.convertToValueProperty(mappingReference, validEObject);
+
+ final String expected = "C.eClassToA<EClassToAMap> mapping D => A.b<B>"; //$NON-NLS-1$
+ assertEquals(expected, resultProperty.toString());
+ verify(emfFormsDatabinding).getValueProperty(targetReference, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.MappingDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalMapTypeException.class)
+ public void testConvertToValuePropertyWrongMapType() throws DatabindingFailedException {
+ final VMappingDomainModelReference mappingReference = VMappingdmrFactory.eINSTANCE
+ .createMappingDomainModelReference();
+ mappingReference.setDomainModelEFeature(TestPackage.eINSTANCE.getC_EClassToString());
+ mappingReference.setMappedClass(TestPackage.eINSTANCE.getD());
+
+ final VFeaturePathDomainModelReference targetReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ targetReference.setDomainModelEFeature(TestPackage.eINSTANCE.getA_B());
+ mappingReference.setDomainModelReference(targetReference);
+
+ final IEMFValueProperty targetValueProperty = EMFProperties.value(TestPackage.eINSTANCE.getA_B());
+ final EMFFormsDatabinding emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getValueProperty(targetReference, validEObject)).thenReturn(targetValueProperty);
+ converter.setEMFFormsDatabinding(emfFormsDatabinding);
+
+ converter.convertToValueProperty(mappingReference, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.MappingDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testConvertToValuePropertyWrongReference() throws DatabindingFailedException {
+ converter.convertToValueProperty(mock(VDomainModelReference.class), validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.MappingDomainModelReferenceConverter#convertToValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = DatabindingFailedException.class)
+ public void testConvertToValuePropertyNoFeature() throws DatabindingFailedException {
+ final VMappingDomainModelReference mappingReference = VMappingdmrFactory.eINSTANCE
+ .createMappingDomainModelReference();
+ converter.convertToValueProperty(mappingReference, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.MappingDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testConvertToListProperty() throws DatabindingFailedException {
+ final VMappingDomainModelReference mappingReference = VMappingdmrFactory.eINSTANCE
+ .createMappingDomainModelReference();
+ mappingReference.setDomainModelEFeature(TestPackage.eINSTANCE.getC_EClassToA());
+ mappingReference.getDomainModelEReferencePath().add(TestPackage.eINSTANCE.getB_C());
+ mappingReference.setMappedClass(TestPackage.eINSTANCE.getD());
+
+ final VFeaturePathDomainModelReference targetReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ targetReference.getDomainModelEReferencePath().add(TestPackage.eINSTANCE.getA_B());
+ targetReference.setDomainModelEFeature(TestPackage.eINSTANCE.getB_C());
+ mappingReference.setDomainModelReference(targetReference);
+
+ final IEMFValueProperty targetValueProperty = EMFProperties.value(TestPackage.eINSTANCE.getA_B());
+ final IEMFListProperty targetListProperty = targetValueProperty.list(TestPackage.eINSTANCE.getB_CList());
+ final EMFFormsDatabinding emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getListProperty(targetReference, validEObject)).thenReturn(targetListProperty);
+ converter.setEMFFormsDatabinding(emfFormsDatabinding);
+
+ final IListProperty resultProperty = converter.convertToListProperty(mappingReference, validEObject);
+
+ final String expected = "B.c<C> => C.eClassToA<EClassToAMap> mapping D => A.b<B> => B.cList[]<C>"; //$NON-NLS-1$
+ assertEquals(expected, resultProperty.toString());
+ verify(emfFormsDatabinding).getListProperty(targetReference, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.MappingDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testConvertToListPropertyNoReferencePath() throws DatabindingFailedException {
+ final VMappingDomainModelReference mappingReference = VMappingdmrFactory.eINSTANCE
+ .createMappingDomainModelReference();
+ mappingReference.setDomainModelEFeature(TestPackage.eINSTANCE.getC_EClassToA());
+ mappingReference.setMappedClass(TestPackage.eINSTANCE.getD());
+
+ final VFeaturePathDomainModelReference targetReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ targetReference.getDomainModelEReferencePath().add(TestPackage.eINSTANCE.getA_B());
+ targetReference.setDomainModelEFeature(TestPackage.eINSTANCE.getB_C());
+ mappingReference.setDomainModelReference(targetReference);
+
+ final IEMFValueProperty targetValueProperty = EMFProperties.value(TestPackage.eINSTANCE.getA_B());
+ final IEMFListProperty targetListProperty = targetValueProperty.list(TestPackage.eINSTANCE.getB_CList());
+ final EMFFormsDatabinding emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getListProperty(targetReference, validEObject)).thenReturn(targetListProperty);
+ converter.setEMFFormsDatabinding(emfFormsDatabinding);
+
+ final IListProperty resultProperty = converter.convertToListProperty(mappingReference, validEObject);
+
+ final String expected = "C.eClassToA<EClassToAMap> mapping D => A.b<B> => B.cList[]<C>"; //$NON-NLS-1$
+ assertEquals(expected, resultProperty.toString());
+ verify(emfFormsDatabinding).getListProperty(targetReference, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.MappingDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalMapTypeException.class)
+ public void testConvertToListPropertyWrongMapType() throws DatabindingFailedException {
+ final VMappingDomainModelReference mappingReference = VMappingdmrFactory.eINSTANCE
+ .createMappingDomainModelReference();
+ mappingReference.setDomainModelEFeature(TestPackage.eINSTANCE.getC_EClassToString());
+ mappingReference.setMappedClass(TestPackage.eINSTANCE.getD());
+
+ final VFeaturePathDomainModelReference targetReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ targetReference.getDomainModelEReferencePath().add(TestPackage.eINSTANCE.getA_B());
+ targetReference.setDomainModelEFeature(TestPackage.eINSTANCE.getB_C());
+ mappingReference.setDomainModelReference(targetReference);
+
+ final IEMFValueProperty targetValueProperty = EMFProperties.value(TestPackage.eINSTANCE.getA_B());
+ final IEMFListProperty targetListProperty = targetValueProperty.list(TestPackage.eINSTANCE.getB_CList());
+ final EMFFormsDatabinding emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getListProperty(targetReference, validEObject)).thenReturn(targetListProperty);
+ converter.setEMFFormsDatabinding(emfFormsDatabinding);
+
+ converter.convertToListProperty(mappingReference, validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.MappingDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testConvertToListPropertyWrongReference() throws DatabindingFailedException {
+ converter.convertToListProperty(mock(VDomainModelReference.class), validEObject);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.mapping.MappingDomainModelReferenceConverter#convertToListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = DatabindingFailedException.class)
+ public void testConvertToListPropertyNoFeature() throws DatabindingFailedException {
+ final VMappingDomainModelReference mappingReference = VMappingdmrFactory.eINSTANCE
+ .createMappingDomainModelReference();
+ converter.convertToListProperty(mappingReference, validEObject);
+ }
+}
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.checkstyle
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.checkstyle
copy to tests/org.eclipse.emfforms.core.services.databinding.testmodel/.checkstyle
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.classpath b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.gitignore b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.project b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.project
new file mode 100644
index 0000000..1ab3dca
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.core.services.databinding.testmodel</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.core.runtime.prefs
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emfforms.core.services.databinding.testmodel/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..e6a0d6a
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emfforms.core.services.databinding.testmodel;singleton:=true
+Bundle-Version: 1.6.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.emfforms.core.services.databinding.testmodel.test.model;version="1.6.0",
+ org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.core.services.databinding.testmodel.test.model.util;version="1.6.0";x-internal:=true
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)";visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/build.properties b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/build.properties
new file mode 100644
index 0000000..dfc6180
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/build.properties
@@ -0,0 +1,18 @@
+# Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Lucas Koehler - initial API and implementation
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/model/test.ecore b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/model/test.ecore
new file mode 100644
index 0000000..baafa8a
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/model/test.ecore
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="test" nsURI="test" nsPrefix="test">
+ <eClassifiers xsi:type="ecore:EClass" name="A">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="b" eType="#//B" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="B">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="c" eType="#//C" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="cList" upperBound="-1"
+ eType="#//C"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="C">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="d" eType="#//D" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="eClassToString" upperBound="-1"
+ eType="#//EClassToEStringMap" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="eClassToA" upperBound="-1"
+ eType="#//EClassToAMap" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="D">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="x" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="yList" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EClassToEStringMap" instanceClassName="java.util.Map$Entry">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="key" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EClassToAMap" instanceClassName="java.util.Map$Entry">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="key" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//A"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/model/test.genmodel b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/model/test.genmodel
new file mode 100644
index 0000000..86308f5
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/model/test.genmodel
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html

Contributors:
Lucas Koehler - initial API and implementation"
+ modelDirectory="/org.eclipse.emfforms.core.services.databinding.testmodel/src"
+ editDirectory="/org.eclipse.emfforms.core.services.databinding.testmodel.edit/src"
+ editorDirectory="/org.eclipse.emfforms.core.services.databinding.testmodel.editor/src"
+ modelPluginID="org.eclipse.emfforms.core.services.databinding.testmodel" modelName="Test"
+ modelPluginClass="" editPluginClass="org.eclipse.emfforms.core.services.databinding.testmodel.TestEditPlugin"
+ editorPluginClass="org.eclipse.emfforms.core.services.databinding.testmodel.model.presentation.TestEditorPlugin"
+ nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ codeFormatting="true" commentFormatting="true" testSuiteClass="org.eclipse.emfforms.core.services.databinding.testmodel.test.tests.TestAllTests"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false"
+ editPluginID="org.eclipse.emfforms.core.services.databinding.testmodel.edit" editorPluginID="org.eclipse.emfforms.core.services.databinding.testmodel.editor"
+ importOrganizing="true">
+ <foreignModel>test.ecore</foreignModel>
+ <genPackages prefix="Test" basePackage="org.eclipse.emfforms.core.services.databinding.testmodel"
+ disposableProviderFactory="true" interfacePackageSuffix="model" metaDataPackageSuffix="model"
+ classPackageSuffix="model.impl" utilityPackageSuffix="model.util" providerPackageSuffix="model.provider"
+ presentationPackageSuffix="model.presentation" extensibleProviderFactory="true"
+ childCreationExtenders="true" ecorePackage="test.ecore#/">
+ <genClasses ecoreClass="test.ecore#//A">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference test.ecore#//A/b"/>
+ </genClasses>
+ <genClasses ecoreClass="test.ecore#//B">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference test.ecore#//B/c"/>
+ </genClasses>
+ <genClasses ecoreClass="test.ecore#//C">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference test.ecore#//C/d"/>
+ </genClasses>
+ <genClasses ecoreClass="test.ecore#//D">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute test.ecore#//D/x"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/plugin.properties b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/plugin.properties
new file mode 100644
index 0000000..378014b
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/plugin.properties
@@ -0,0 +1,12 @@
+# Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Lucas Koehler - initial API and implementation
+
+pluginName = Databinding Services Testmodel
+providerName = Eclipse Modeling Project
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/plugin.xml b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/plugin.xml
new file mode 100644
index 0000000..58bf297
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/plugin.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Lucas Koehler - initial API and implementation
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated test -->
+ <package
+ uri="test"
+ class="org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage"
+ genModel="model/test.genmodel"/>
+ </extension>
+
+</plugin>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/pom.xml b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/pom.xml
new file mode 100644
index 0000000..2d327ee
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/pom.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <artifactId>org.eclipse.emfforms.core.services.databinding.testmodel</artifactId>
+ <packaging>eclipse-plugin</packaging>
+
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <version>1.6.0-SNAPSHOT</version>
+</project>
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/A.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/A.java
new file mode 100644
index 0000000..8bc8e82
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/A.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>A</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A#getB <em>B</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage#getA()
+ * @model
+ * @generated
+ */
+public interface A extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>B</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>B</em>' containment reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>B</em>' containment reference.
+ * @see #setB(B)
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage#getA_B()
+ * @model containment="true"
+ * @generated
+ */
+ B getB();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A#getB
+ * <em>B</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value the new value of the '<em>B</em>' containment reference.
+ * @see #getB()
+ * @generated
+ */
+ void setB(B value);
+
+} // A
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/B.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/B.java
new file mode 100644
index 0000000..ab7cf95
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/B.java
@@ -0,0 +1,82 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>B</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B#getC <em>C</em>}</li>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B#getCList <em>CList</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage#getB()
+ * @model
+ * @generated
+ */
+public interface B extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>C</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>C</em>' containment reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>C</em>' containment reference.
+ * @see #setC(C)
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage#getB_C()
+ * @model containment="true"
+ * @generated
+ */
+ C getC();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B#getC
+ * <em>C</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value the new value of the '<em>C</em>' containment reference.
+ * @see #getC()
+ * @generated
+ */
+ void setC(C value);
+
+ /**
+ * Returns the value of the '<em><b>CList</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>CList</em>' reference list isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>CList</em>' reference list.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage#getB_CList()
+ * @model
+ * @generated
+ */
+ EList<C> getCList();
+
+} // B
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/C.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/C.java
new file mode 100644
index 0000000..3ae2337
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/C.java
@@ -0,0 +1,106 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model;
+
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>C</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C#getD <em>D</em>}</li>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C#getEClassToString <em>EClass To
+ * String</em>}</li>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C#getEClassToA <em>EClass To A</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage#getC()
+ * @model
+ * @generated
+ */
+public interface C extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>D</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>D</em>' containment reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>D</em>' containment reference.
+ * @see #setD(D)
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage#getC_D()
+ * @model containment="true"
+ * @generated
+ */
+ D getD();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C#getD
+ * <em>D</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value the new value of the '<em>D</em>' containment reference.
+ * @see #getD()
+ * @generated
+ */
+ void setD(D value);
+
+ /**
+ * Returns the value of the '<em><b>EClass To String</b></em>' map.
+ * The key is of type {@link org.eclipse.emf.ecore.EClass},
+ * and the value is of type {@link java.lang.String},
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>EClass To String</em>' map isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>EClass To String</em>' map.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage#getC_EClassToString()
+ * @model mapType=
+ * "org.eclipse.emfforms.core.services.databinding.testmodel.test.model.EClassToEStringMap<org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EString>"
+ * @generated
+ */
+ EMap<EClass, String> getEClassToString();
+
+ /**
+ * Returns the value of the '<em><b>EClass To A</b></em>' map.
+ * The key is of type {@link org.eclipse.emf.ecore.EClass},
+ * and the value is of type {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A},
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>EClass To A</em>' map isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>EClass To A</em>' map.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage#getC_EClassToA()
+ * @model mapType=
+ * "org.eclipse.emfforms.core.services.databinding.testmodel.test.model.EClassToAMap<org.eclipse.emf.ecore.EClass, org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A>"
+ * @generated
+ */
+ EMap<EClass, A> getEClassToA();
+
+} // C
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/D.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/D.java
new file mode 100644
index 0000000..1977ba9
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/D.java
@@ -0,0 +1,81 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>D</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D#getX <em>X</em>}</li>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D#getYList <em>YList</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage#getD()
+ * @model
+ * @generated
+ */
+public interface D extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>X</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>X</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>X</em>' attribute.
+ * @see #setX(String)
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage#getD_X()
+ * @model
+ * @generated
+ */
+ String getX();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D#getX
+ * <em>X</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value the new value of the '<em>X</em>' attribute.
+ * @see #getX()
+ * @generated
+ */
+ void setX(String value);
+
+ /**
+ * Returns the value of the '<em><b>YList</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.Integer}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>YList</em>' attribute list isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>YList</em>' attribute list.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage#getD_YList()
+ * @model
+ * @generated
+ */
+ EList<Integer> getYList();
+
+} // D
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/TestFactory.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/TestFactory.java
new file mode 100644
index 0000000..96b178c
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/TestFactory.java
@@ -0,0 +1,87 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage
+ * @generated
+ */
+public interface TestFactory extends EFactory
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ TestFactory eINSTANCE = org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.TestFactoryImpl
+ .init();
+
+ /**
+ * Returns a new object of class '<em>A</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>A</em>'.
+ * @generated
+ */
+ A createA();
+
+ /**
+ * Returns a new object of class '<em>B</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>B</em>'.
+ * @generated
+ */
+ B createB();
+
+ /**
+ * Returns a new object of class '<em>C</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>C</em>'.
+ * @generated
+ */
+ C createC();
+
+ /**
+ * Returns a new object of class '<em>D</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>D</em>'.
+ * @generated
+ */
+ D createD();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ TestPackage getTestPackage();
+
+} // TestFactory
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/TestPackage.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/TestPackage.java
new file mode 100644
index 0000000..32593fa
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/TestPackage.java
@@ -0,0 +1,764 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface TestPackage extends EPackage
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "test"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "test"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "test"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ TestPackage eINSTANCE = org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.TestPackageImpl
+ .init();
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.AImpl <em>A</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.AImpl
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.TestPackageImpl#getA()
+ * @generated
+ */
+ int A = 0;
+
+ /**
+ * The feature id for the '<em><b>B</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int A__B = 0;
+
+ /**
+ * The number of structural features of the '<em>A</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int A_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.BImpl <em>B</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.BImpl
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.TestPackageImpl#getB()
+ * @generated
+ */
+ int B = 1;
+
+ /**
+ * The feature id for the '<em><b>C</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int B__C = 0;
+
+ /**
+ * The feature id for the '<em><b>CList</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int B__CLIST = 1;
+
+ /**
+ * The number of structural features of the '<em>B</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int B_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.CImpl <em>C</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.CImpl
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.TestPackageImpl#getC()
+ * @generated
+ */
+ int C = 2;
+
+ /**
+ * The feature id for the '<em><b>D</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int C__D = 0;
+
+ /**
+ * The feature id for the '<em><b>EClass To String</b></em>' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int C__ECLASS_TO_STRING = 1;
+
+ /**
+ * The feature id for the '<em><b>EClass To A</b></em>' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int C__ECLASS_TO_A = 2;
+
+ /**
+ * The number of structural features of the '<em>C</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int C_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.DImpl <em>D</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.DImpl
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.TestPackageImpl#getD()
+ * @generated
+ */
+ int D = 3;
+
+ /**
+ * The feature id for the '<em><b>X</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int D__X = 0;
+
+ /**
+ * The feature id for the '<em><b>YList</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int D__YLIST = 1;
+
+ /**
+ * The number of structural features of the '<em>D</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int D_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.EClassToEStringMapImpl
+ * <em>EClass To EString Map</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.EClassToEStringMapImpl
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.TestPackageImpl#getEClassToEStringMap()
+ * @generated
+ */
+ int ECLASS_TO_ESTRING_MAP = 4;
+
+ /**
+ * The feature id for the '<em><b>Key</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ECLASS_TO_ESTRING_MAP__KEY = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ECLASS_TO_ESTRING_MAP__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>EClass To EString Map</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ECLASS_TO_ESTRING_MAP_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.EClassToAMapImpl
+ * <em>EClass To AMap</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.EClassToAMapImpl
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.TestPackageImpl#getEClassToAMap()
+ * @generated
+ */
+ int ECLASS_TO_AMAP = 5;
+
+ /**
+ * The feature id for the '<em><b>Key</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ECLASS_TO_AMAP__KEY = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ECLASS_TO_AMAP__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>EClass To AMap</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ECLASS_TO_AMAP_FEATURE_COUNT = 2;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A
+ * <em>A</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>A</em>'.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A
+ * @generated
+ */
+ EClass getA();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A#getB <em>B</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>B</em>'.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A#getB()
+ * @see #getA()
+ * @generated
+ */
+ EReference getA_B();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B
+ * <em>B</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>B</em>'.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B
+ * @generated
+ */
+ EClass getB();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B#getC <em>C</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>C</em>'.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B#getC()
+ * @see #getB()
+ * @generated
+ */
+ EReference getB_C();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B#getCList <em>CList</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>CList</em>'.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B#getCList()
+ * @see #getB()
+ * @generated
+ */
+ EReference getB_CList();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C
+ * <em>C</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>C</em>'.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C
+ * @generated
+ */
+ EClass getC();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C#getD <em>D</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>D</em>'.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C#getD()
+ * @see #getC()
+ * @generated
+ */
+ EReference getC_D();
+
+ /**
+ * Returns the meta object for the map '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C#getEClassToString
+ * <em>EClass To String</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the map '<em>EClass To String</em>'.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C#getEClassToString()
+ * @see #getC()
+ * @generated
+ */
+ EReference getC_EClassToString();
+
+ /**
+ * Returns the meta object for the map '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C#getEClassToA <em>EClass To A</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the map '<em>EClass To A</em>'.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C#getEClassToA()
+ * @see #getC()
+ * @generated
+ */
+ EReference getC_EClassToA();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D
+ * <em>D</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>D</em>'.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D
+ * @generated
+ */
+ EClass getD();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D#getX <em>X</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>X</em>'.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D#getX()
+ * @see #getD()
+ * @generated
+ */
+ EAttribute getD_X();
+
+ /**
+ * Returns the meta object for the attribute list '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D#getYList <em>YList</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute list '<em>YList</em>'.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D#getYList()
+ * @see #getD()
+ * @generated
+ */
+ EAttribute getD_YList();
+
+ /**
+ * Returns the meta object for class '{@link java.util.Map.Entry <em>EClass To EString Map</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>EClass To EString Map</em>'.
+ * @see java.util.Map.Entry
+ * @model keyType="org.eclipse.emf.ecore.EClass"
+ * valueDataType="org.eclipse.emf.ecore.EString"
+ * @generated
+ */
+ EClass getEClassToEStringMap();
+
+ /**
+ * Returns the meta object for the reference '{@link java.util.Map.Entry <em>Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Key</em>'.
+ * @see java.util.Map.Entry
+ * @see #getEClassToEStringMap()
+ * @generated
+ */
+ EReference getEClassToEStringMap_Key();
+
+ /**
+ * Returns the meta object for the attribute '{@link java.util.Map.Entry <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see java.util.Map.Entry
+ * @see #getEClassToEStringMap()
+ * @generated
+ */
+ EAttribute getEClassToEStringMap_Value();
+
+ /**
+ * Returns the meta object for class '{@link java.util.Map.Entry <em>EClass To AMap</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>EClass To AMap</em>'.
+ * @see java.util.Map.Entry
+ * @model keyType="org.eclipse.emf.ecore.EClass"
+ * valueType="org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A"
+ * @generated
+ */
+ EClass getEClassToAMap();
+
+ /**
+ * Returns the meta object for the reference '{@link java.util.Map.Entry <em>Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Key</em>'.
+ * @see java.util.Map.Entry
+ * @see #getEClassToAMap()
+ * @generated
+ */
+ EReference getEClassToAMap_Key();
+
+ /**
+ * Returns the meta object for the reference '{@link java.util.Map.Entry <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Value</em>'.
+ * @see java.util.Map.Entry
+ * @see #getEClassToAMap()
+ * @generated
+ */
+ EReference getEClassToAMap_Value();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ TestFactory getTestFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals
+ {
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.AImpl <em>A</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.AImpl
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.TestPackageImpl#getA()
+ * @generated
+ */
+ EClass A = eINSTANCE.getA();
+
+ /**
+ * The meta object literal for the '<em><b>B</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference A__B = eINSTANCE.getA_B();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.BImpl <em>B</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.BImpl
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.TestPackageImpl#getB()
+ * @generated
+ */
+ EClass B = eINSTANCE.getB();
+
+ /**
+ * The meta object literal for the '<em><b>C</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference B__C = eINSTANCE.getB_C();
+
+ /**
+ * The meta object literal for the '<em><b>CList</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference B__CLIST = eINSTANCE.getB_CList();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.CImpl <em>C</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.CImpl
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.TestPackageImpl#getC()
+ * @generated
+ */
+ EClass C = eINSTANCE.getC();
+
+ /**
+ * The meta object literal for the '<em><b>D</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference C__D = eINSTANCE.getC_D();
+
+ /**
+ * The meta object literal for the '<em><b>EClass To String</b></em>' map feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference C__ECLASS_TO_STRING = eINSTANCE.getC_EClassToString();
+
+ /**
+ * The meta object literal for the '<em><b>EClass To A</b></em>' map feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference C__ECLASS_TO_A = eINSTANCE.getC_EClassToA();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.DImpl <em>D</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.DImpl
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.TestPackageImpl#getD()
+ * @generated
+ */
+ EClass D = eINSTANCE.getD();
+
+ /**
+ * The meta object literal for the '<em><b>X</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute D__X = eINSTANCE.getD_X();
+
+ /**
+ * The meta object literal for the '<em><b>YList</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute D__YLIST = eINSTANCE.getD_YList();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.EClassToEStringMapImpl
+ * <em>EClass To EString Map</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.EClassToEStringMapImpl
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.TestPackageImpl#getEClassToEStringMap()
+ * @generated
+ */
+ EClass ECLASS_TO_ESTRING_MAP = eINSTANCE.getEClassToEStringMap();
+
+ /**
+ * The meta object literal for the '<em><b>Key</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ECLASS_TO_ESTRING_MAP__KEY = eINSTANCE.getEClassToEStringMap_Key();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ECLASS_TO_ESTRING_MAP__VALUE = eINSTANCE.getEClassToEStringMap_Value();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.EClassToAMapImpl
+ * <em>EClass To AMap</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.EClassToAMapImpl
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.TestPackageImpl#getEClassToAMap()
+ * @generated
+ */
+ EClass ECLASS_TO_AMAP = eINSTANCE.getEClassToAMap();
+
+ /**
+ * The meta object literal for the '<em><b>Key</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ECLASS_TO_AMAP__KEY = eINSTANCE.getEClassToAMap_Key();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ECLASS_TO_AMAP__VALUE = eINSTANCE.getEClassToAMap_Value();
+
+ }
+
+} // TestPackage
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/AImpl.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/AImpl.java
new file mode 100644
index 0000000..e9beca3
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/AImpl.java
@@ -0,0 +1,225 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>A</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.AImpl#getB <em>B</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AImpl extends MinimalEObjectImpl.Container implements A
+{
+ /**
+ * The cached value of the '{@link #getB() <em>B</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getB()
+ * @generated
+ * @ordered
+ */
+ protected B b;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return TestPackage.Literals.A;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public B getB()
+ {
+ return b;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetB(B newB, NotificationChain msgs)
+ {
+ final B oldB = b;
+ b = newB;
+ if (eNotificationRequired())
+ {
+ final ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TestPackage.A__B,
+ oldB, newB);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setB(B newB)
+ {
+ if (newB != b)
+ {
+ NotificationChain msgs = null;
+ if (b != null) {
+ msgs = ((InternalEObject) b)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE - TestPackage.A__B, null, msgs);
+ }
+ if (newB != null) {
+ msgs = ((InternalEObject) newB)
+ .eInverseAdd(this, EOPPOSITE_FEATURE_BASE - TestPackage.A__B, null, msgs);
+ }
+ msgs = basicSetB(newB, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, TestPackage.A__B, newB, newB));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case TestPackage.A__B:
+ return basicSetB(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case TestPackage.A__B:
+ return getB();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case TestPackage.A__B:
+ setB((B) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case TestPackage.A__B:
+ setB((B) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case TestPackage.A__B:
+ return b != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // AImpl
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/BImpl.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/BImpl.java
new file mode 100644
index 0000000..8c6f86e
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/BImpl.java
@@ -0,0 +1,269 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>B</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.BImpl#getC <em>C</em>}</li>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.BImpl#getCList <em>CList</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BImpl extends MinimalEObjectImpl.Container implements B
+{
+ /**
+ * The cached value of the '{@link #getC() <em>C</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getC()
+ * @generated
+ * @ordered
+ */
+ protected C c;
+
+ /**
+ * The cached value of the '{@link #getCList() <em>CList</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getCList()
+ * @generated
+ * @ordered
+ */
+ protected EList<C> cList;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return TestPackage.Literals.B;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public C getC()
+ {
+ return c;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetC(C newC, NotificationChain msgs)
+ {
+ final C oldC = c;
+ c = newC;
+ if (eNotificationRequired())
+ {
+ final ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TestPackage.B__C,
+ oldC, newC);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setC(C newC)
+ {
+ if (newC != c)
+ {
+ NotificationChain msgs = null;
+ if (c != null) {
+ msgs = ((InternalEObject) c)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE - TestPackage.B__C, null, msgs);
+ }
+ if (newC != null) {
+ msgs = ((InternalEObject) newC)
+ .eInverseAdd(this, EOPPOSITE_FEATURE_BASE - TestPackage.B__C, null, msgs);
+ }
+ msgs = basicSetC(newC, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, TestPackage.B__C, newC, newC));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<C> getCList()
+ {
+ if (cList == null)
+ {
+ cList = new EObjectResolvingEList<C>(C.class, this, TestPackage.B__CLIST);
+ }
+ return cList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case TestPackage.B__C:
+ return basicSetC(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case TestPackage.B__C:
+ return getC();
+ case TestPackage.B__CLIST:
+ return getCList();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case TestPackage.B__C:
+ setC((C) newValue);
+ return;
+ case TestPackage.B__CLIST:
+ getCList().clear();
+ getCList().addAll((Collection<? extends C>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case TestPackage.B__C:
+ setC((C) null);
+ return;
+ case TestPackage.B__CLIST:
+ getCList().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case TestPackage.B__C:
+ return c != null;
+ case TestPackage.B__CLIST:
+ return cList != null && !cList.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // BImpl
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/CImpl.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/CImpl.java
new file mode 100644
index 0000000..ce1cc6b
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/CImpl.java
@@ -0,0 +1,320 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>C</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.CImpl#getD <em>D</em>}</li>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.CImpl#getEClassToString <em>
+ * EClass To String</em>}</li>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.CImpl#getEClassToA <em>EClass To
+ * A</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CImpl extends MinimalEObjectImpl.Container implements C
+{
+ /**
+ * The cached value of the '{@link #getD() <em>D</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getD()
+ * @generated
+ * @ordered
+ */
+ protected D d;
+
+ /**
+ * The cached value of the '{@link #getEClassToString() <em>EClass To String</em>}' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getEClassToString()
+ * @generated
+ * @ordered
+ */
+ protected EMap<EClass, String> eClassToString;
+
+ /**
+ * The cached value of the '{@link #getEClassToA() <em>EClass To A</em>}' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getEClassToA()
+ * @generated
+ * @ordered
+ */
+ protected EMap<EClass, A> eClassToA;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return TestPackage.Literals.C;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public D getD()
+ {
+ return d;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetD(D newD, NotificationChain msgs)
+ {
+ final D oldD = d;
+ d = newD;
+ if (eNotificationRequired())
+ {
+ final ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, TestPackage.C__D,
+ oldD, newD);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setD(D newD)
+ {
+ if (newD != d)
+ {
+ NotificationChain msgs = null;
+ if (d != null) {
+ msgs = ((InternalEObject) d)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE - TestPackage.C__D, null, msgs);
+ }
+ if (newD != null) {
+ msgs = ((InternalEObject) newD)
+ .eInverseAdd(this, EOPPOSITE_FEATURE_BASE - TestPackage.C__D, null, msgs);
+ }
+ msgs = basicSetD(newD, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, TestPackage.C__D, newD, newD));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EMap<EClass, String> getEClassToString()
+ {
+ if (eClassToString == null)
+ {
+ eClassToString = new EcoreEMap<EClass, String>(TestPackage.Literals.ECLASS_TO_ESTRING_MAP,
+ EClassToEStringMapImpl.class, this, TestPackage.C__ECLASS_TO_STRING);
+ }
+ return eClassToString;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EMap<EClass, A> getEClassToA()
+ {
+ if (eClassToA == null)
+ {
+ eClassToA = new EcoreEMap<EClass, A>(TestPackage.Literals.ECLASS_TO_AMAP, EClassToAMapImpl.class, this,
+ TestPackage.C__ECLASS_TO_A);
+ }
+ return eClassToA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case TestPackage.C__D:
+ return basicSetD(null, msgs);
+ case TestPackage.C__ECLASS_TO_STRING:
+ return ((InternalEList<?>) getEClassToString()).basicRemove(otherEnd, msgs);
+ case TestPackage.C__ECLASS_TO_A:
+ return ((InternalEList<?>) getEClassToA()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case TestPackage.C__D:
+ return getD();
+ case TestPackage.C__ECLASS_TO_STRING:
+ if (coreType) {
+ return getEClassToString();
+ }
+ return getEClassToString().map();
+ case TestPackage.C__ECLASS_TO_A:
+ if (coreType) {
+ return getEClassToA();
+ }
+ return getEClassToA().map();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case TestPackage.C__D:
+ setD((D) newValue);
+ return;
+ case TestPackage.C__ECLASS_TO_STRING:
+ ((EStructuralFeature.Setting) getEClassToString()).set(newValue);
+ return;
+ case TestPackage.C__ECLASS_TO_A:
+ ((EStructuralFeature.Setting) getEClassToA()).set(newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case TestPackage.C__D:
+ setD((D) null);
+ return;
+ case TestPackage.C__ECLASS_TO_STRING:
+ getEClassToString().clear();
+ return;
+ case TestPackage.C__ECLASS_TO_A:
+ getEClassToA().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case TestPackage.C__D:
+ return d != null;
+ case TestPackage.C__ECLASS_TO_STRING:
+ return eClassToString != null && !eClassToString.isEmpty();
+ case TestPackage.C__ECLASS_TO_A:
+ return eClassToA != null && !eClassToA.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // CImpl
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/DImpl.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/DImpl.java
new file mode 100644
index 0000000..50fe870
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/DImpl.java
@@ -0,0 +1,245 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>D</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.DImpl#getX <em>X</em>}</li>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.DImpl#getYList <em>YList</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DImpl extends MinimalEObjectImpl.Container implements D
+{
+ /**
+ * The default value of the '{@link #getX() <em>X</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getX()
+ * @generated
+ * @ordered
+ */
+ protected static final String X_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getX() <em>X</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getX()
+ * @generated
+ * @ordered
+ */
+ protected String x = X_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getYList() <em>YList</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getYList()
+ * @generated
+ * @ordered
+ */
+ protected EList<Integer> yList;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return TestPackage.Literals.D;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getX()
+ {
+ return x;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setX(String newX)
+ {
+ final String oldX = x;
+ x = newX;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, TestPackage.D__X, oldX, x));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EList<Integer> getYList()
+ {
+ if (yList == null)
+ {
+ yList = new EDataTypeUniqueEList<Integer>(Integer.class, this, TestPackage.D__YLIST);
+ }
+ return yList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case TestPackage.D__X:
+ return getX();
+ case TestPackage.D__YLIST:
+ return getYList();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case TestPackage.D__X:
+ setX((String) newValue);
+ return;
+ case TestPackage.D__YLIST:
+ getYList().clear();
+ getYList().addAll((Collection<? extends Integer>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case TestPackage.D__X:
+ setX(X_EDEFAULT);
+ return;
+ case TestPackage.D__YLIST:
+ getYList().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case TestPackage.D__X:
+ return X_EDEFAULT == null ? x != null : !X_EDEFAULT.equals(x);
+ case TestPackage.D__YLIST:
+ return yList != null && !yList.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ final StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (x: "); //$NON-NLS-1$
+ result.append(x);
+ result.append(", yList: "); //$NON-NLS-1$
+ result.append(yList);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DImpl
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/EClassToAMapImpl.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/EClassToAMapImpl.java
new file mode 100644
index 0000000..d8cf73a
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/EClassToAMapImpl.java
@@ -0,0 +1,372 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicEMap;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EClass To AMap</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.EClassToAMapImpl#getTypedKey <em>
+ * Key</em>}</li>
+ * <li>{@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.EClassToAMapImpl#getTypedValue
+ * <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EClassToAMapImpl extends MinimalEObjectImpl.Container implements BasicEMap.Entry<EClass, A>
+{
+ /**
+ * The cached value of the '{@link #getTypedKey() <em>Key</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getTypedKey()
+ * @generated
+ * @ordered
+ */
+ protected EClass key;
+
+ /**
+ * The cached value of the '{@link #getTypedValue() <em>Value</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getTypedValue()
+ * @generated
+ * @ordered
+ */
+ protected A value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EClassToAMapImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return TestPackage.Literals.ECLASS_TO_AMAP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getTypedKey()
+ {
+ if (key != null && key.eIsProxy())
+ {
+ final InternalEObject oldKey = (InternalEObject) key;
+ key = (EClass) eResolveProxy(oldKey);
+ if (key != oldKey)
+ {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TestPackage.ECLASS_TO_AMAP__KEY, oldKey,
+ key));
+ }
+ }
+ }
+ return key;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass basicGetTypedKey()
+ {
+ return key;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTypedKey(EClass newKey)
+ {
+ final EClass oldKey = key;
+ key = newKey;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, TestPackage.ECLASS_TO_AMAP__KEY, oldKey, key));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public A getTypedValue()
+ {
+ if (value != null && value.eIsProxy())
+ {
+ final InternalEObject oldValue = (InternalEObject) value;
+ value = (A) eResolveProxy(oldValue);
+ if (value != oldValue)
+ {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TestPackage.ECLASS_TO_AMAP__VALUE,
+ oldValue, value));
+ }
+ }
+ }
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public A basicGetTypedValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTypedValue(A newValue)
+ {
+ final A oldValue = value;
+ value = newValue;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, TestPackage.ECLASS_TO_AMAP__VALUE, oldValue, value));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case TestPackage.ECLASS_TO_AMAP__KEY:
+ if (resolve) {
+ return getTypedKey();
+ }
+ return basicGetTypedKey();
+ case TestPackage.ECLASS_TO_AMAP__VALUE:
+ if (resolve) {
+ return getTypedValue();
+ }
+ return basicGetTypedValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case TestPackage.ECLASS_TO_AMAP__KEY:
+ setTypedKey((EClass) newValue);
+ return;
+ case TestPackage.ECLASS_TO_AMAP__VALUE:
+ setTypedValue((A) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case TestPackage.ECLASS_TO_AMAP__KEY:
+ setTypedKey((EClass) null);
+ return;
+ case TestPackage.ECLASS_TO_AMAP__VALUE:
+ setTypedValue((A) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case TestPackage.ECLASS_TO_AMAP__KEY:
+ return key != null;
+ case TestPackage.ECLASS_TO_AMAP__VALUE:
+ return value != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected int hash = -1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getHash()
+ {
+ if (hash == -1)
+ {
+ final Object theKey = getKey();
+ hash = theKey == null ? 0 : theKey.hashCode();
+ }
+ return hash;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setHash(int hash)
+ {
+ this.hash = hash;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getKey()
+ {
+ return getTypedKey();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setKey(EClass key)
+ {
+ setTypedKey(key);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public A getValue()
+ {
+ return getTypedValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public A setValue(A value)
+ {
+ final A oldValue = getValue();
+ setTypedValue(value);
+ return oldValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EMap<EClass, A> getEMap()
+ {
+ final EObject container = eContainer();
+ return container == null ? null : (EMap<EClass, A>) container.eGet(eContainmentFeature());
+ }
+
+} // EClassToAMapImpl
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/EClassToEStringMapImpl.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/EClassToEStringMapImpl.java
new file mode 100644
index 0000000..86b7fbe
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/EClassToEStringMapImpl.java
@@ -0,0 +1,379 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicEMap;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EClass To EString Map</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.EClassToEStringMapImpl#getTypedKey
+ * <em>Key</em>}</li>
+ * <li>
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl.EClassToEStringMapImpl#getTypedValue
+ * <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EClassToEStringMapImpl extends MinimalEObjectImpl.Container implements BasicEMap.Entry<EClass, String>
+{
+ /**
+ * The cached value of the '{@link #getTypedKey() <em>Key</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getTypedKey()
+ * @generated
+ * @ordered
+ */
+ protected EClass key;
+
+ /**
+ * The default value of the '{@link #getTypedValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getTypedValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTypedValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getTypedValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EClassToEStringMapImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return TestPackage.Literals.ECLASS_TO_ESTRING_MAP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getTypedKey()
+ {
+ if (key != null && key.eIsProxy())
+ {
+ final InternalEObject oldKey = (InternalEObject) key;
+ key = (EClass) eResolveProxy(oldKey);
+ if (key != oldKey)
+ {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TestPackage.ECLASS_TO_ESTRING_MAP__KEY,
+ oldKey, key));
+ }
+ }
+ }
+ return key;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass basicGetTypedKey()
+ {
+ return key;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTypedKey(EClass newKey)
+ {
+ final EClass oldKey = key;
+ key = newKey;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, TestPackage.ECLASS_TO_ESTRING_MAP__KEY, oldKey, key));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getTypedValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTypedValue(String newValue)
+ {
+ final String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, TestPackage.ECLASS_TO_ESTRING_MAP__VALUE, oldValue,
+ value));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case TestPackage.ECLASS_TO_ESTRING_MAP__KEY:
+ if (resolve) {
+ return getTypedKey();
+ }
+ return basicGetTypedKey();
+ case TestPackage.ECLASS_TO_ESTRING_MAP__VALUE:
+ return getTypedValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case TestPackage.ECLASS_TO_ESTRING_MAP__KEY:
+ setTypedKey((EClass) newValue);
+ return;
+ case TestPackage.ECLASS_TO_ESTRING_MAP__VALUE:
+ setTypedValue((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case TestPackage.ECLASS_TO_ESTRING_MAP__KEY:
+ setTypedKey((EClass) null);
+ return;
+ case TestPackage.ECLASS_TO_ESTRING_MAP__VALUE:
+ setTypedValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case TestPackage.ECLASS_TO_ESTRING_MAP__KEY:
+ return key != null;
+ case TestPackage.ECLASS_TO_ESTRING_MAP__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ final StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: "); //$NON-NLS-1$
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected int hash = -1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getHash()
+ {
+ if (hash == -1)
+ {
+ final Object theKey = getKey();
+ hash = theKey == null ? 0 : theKey.hashCode();
+ }
+ return hash;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setHash(int hash)
+ {
+ this.hash = hash;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getKey()
+ {
+ return getTypedKey();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setKey(EClass key)
+ {
+ setTypedKey(key);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getValue()
+ {
+ return getTypedValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String setValue(String value)
+ {
+ final String oldValue = getValue();
+ setTypedValue(value);
+ return oldValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EMap<EClass, String> getEMap()
+ {
+ final EObject container = eContainer();
+ return container == null ? null : (EMap<EClass, String>) container.eGet(eContainmentFeature());
+ }
+
+} // EClassToEStringMapImpl
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/TestFactoryImpl.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/TestFactoryImpl.java
new file mode 100644
index 0000000..dd513a5
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/TestFactoryImpl.java
@@ -0,0 +1,202 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class TestFactoryImpl extends EFactoryImpl implements TestFactory
+{
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static TestFactory init()
+ {
+ try
+ {
+ final TestFactory theTestFactory = (TestFactory) EPackage.Registry.INSTANCE
+ .getEFactory(TestPackage.eNS_URI);
+ if (theTestFactory != null)
+ {
+ return theTestFactory;
+ }
+ } catch (final Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new TestFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TestFactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case TestPackage.A:
+ return createA();
+ case TestPackage.B:
+ return createB();
+ case TestPackage.C:
+ return createC();
+ case TestPackage.D:
+ return createD();
+ case TestPackage.ECLASS_TO_ESTRING_MAP:
+ return (EObject) createEClassToEStringMap();
+ case TestPackage.ECLASS_TO_AMAP:
+ return (EObject) createEClassToAMap();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public A createA()
+ {
+ final AImpl a = new AImpl();
+ return a;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public B createB()
+ {
+ final BImpl b = new BImpl();
+ return b;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public C createC()
+ {
+ final CImpl c = new CImpl();
+ return c;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public D createD()
+ {
+ final DImpl d = new DImpl();
+ return d;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Map.Entry<EClass, String> createEClassToEStringMap()
+ {
+ final EClassToEStringMapImpl eClassToEStringMap = new EClassToEStringMapImpl();
+ return eClassToEStringMap;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Map.Entry<EClass, A> createEClassToAMap()
+ {
+ final EClassToAMapImpl eClassToAMap = new EClassToAMapImpl();
+ return eClassToAMap;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public TestPackage getTestPackage()
+ {
+ return (TestPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static TestPackage getPackage()
+ {
+ return TestPackage.eINSTANCE;
+ }
+
+} // TestFactoryImpl
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/TestPackageImpl.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/TestPackageImpl.java
new file mode 100644
index 0000000..a53ca0a
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/impl/TestPackageImpl.java
@@ -0,0 +1,539 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model.impl;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class TestPackageImpl extends EPackageImpl implements TestPackage
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass aEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass bEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass cEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass dEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass eClassToEStringMapEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass eClassToAMapEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
+ * EPackage.Registry} by the package
+ * package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
+ * performs initialization of the package, or returns the registered package, if one already exists. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private TestPackageImpl()
+ {
+ super(eNS_URI, TestFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>
+ * This method is used to initialize {@link TestPackage#eINSTANCE} when that field is accessed. Clients should not
+ * invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static TestPackage init()
+ {
+ if (isInited) {
+ return (TestPackage) EPackage.Registry.INSTANCE.getEPackage(TestPackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ final TestPackageImpl theTestPackage = (TestPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof TestPackageImpl ? EPackage.Registry.INSTANCE
+ .get(eNS_URI)
+ : new TestPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theTestPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theTestPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theTestPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(TestPackage.eNS_URI, theTestPackage);
+ return theTestPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getA()
+ {
+ return aEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getA_B()
+ {
+ return (EReference) aEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getB()
+ {
+ return bEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getB_C()
+ {
+ return (EReference) bEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getB_CList()
+ {
+ return (EReference) bEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getC()
+ {
+ return cEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getC_D()
+ {
+ return (EReference) cEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getC_EClassToString()
+ {
+ return (EReference) cEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getC_EClassToA()
+ {
+ return (EReference) cEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getD()
+ {
+ return dEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getD_X()
+ {
+ return (EAttribute) dEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getD_YList()
+ {
+ return (EAttribute) dEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getEClassToEStringMap()
+ {
+ return eClassToEStringMapEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEClassToEStringMap_Key()
+ {
+ return (EReference) eClassToEStringMapEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getEClassToEStringMap_Value()
+ {
+ return (EAttribute) eClassToEStringMapEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getEClassToAMap()
+ {
+ return eClassToAMapEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEClassToAMap_Key()
+ {
+ return (EReference) eClassToAMapEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getEClassToAMap_Value()
+ {
+ return (EReference) eClassToAMapEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public TestFactory getTestFactory()
+ {
+ return (TestFactory) getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createPackageContents()
+ {
+ if (isCreated) {
+ return;
+ }
+ isCreated = true;
+
+ // Create classes and their features
+ aEClass = createEClass(A);
+ createEReference(aEClass, A__B);
+
+ bEClass = createEClass(B);
+ createEReference(bEClass, B__C);
+ createEReference(bEClass, B__CLIST);
+
+ cEClass = createEClass(C);
+ createEReference(cEClass, C__D);
+ createEReference(cEClass, C__ECLASS_TO_STRING);
+ createEReference(cEClass, C__ECLASS_TO_A);
+
+ dEClass = createEClass(D);
+ createEAttribute(dEClass, D__X);
+ createEAttribute(dEClass, D__YLIST);
+
+ eClassToEStringMapEClass = createEClass(ECLASS_TO_ESTRING_MAP);
+ createEReference(eClassToEStringMapEClass, ECLASS_TO_ESTRING_MAP__KEY);
+ createEAttribute(eClassToEStringMapEClass, ECLASS_TO_ESTRING_MAP__VALUE);
+
+ eClassToAMapEClass = createEClass(ECLASS_TO_AMAP);
+ createEReference(eClassToAMapEClass, ECLASS_TO_AMAP__KEY);
+ createEReference(eClassToAMapEClass, ECLASS_TO_AMAP__VALUE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents()
+ {
+ if (isInitialized) {
+ return;
+ }
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(aEClass, org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A.class,
+ "A", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(
+ getA_B(),
+ getB(),
+ null,
+ "b", null, 0, 1, org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(bEClass, org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B.class,
+ "B", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(
+ getB_C(),
+ getC(),
+ null,
+ "c", null, 0, 1, org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(
+ getB_CList(),
+ getC(),
+ null,
+ "cList", null, 0, -1, org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(cEClass, org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C.class,
+ "C", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(
+ getC_D(),
+ getD(),
+ null,
+ "d", null, 0, 1, org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(
+ getC_EClassToString(),
+ getEClassToEStringMap(),
+ null,
+ "eClassToString", null, 0, -1, org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(
+ getC_EClassToA(),
+ getEClassToAMap(),
+ null,
+ "eClassToA", null, 0, -1, org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(dEClass, org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D.class,
+ "D", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(
+ getD_X(),
+ ecorePackage.getEString(),
+ "x", null, 0, 1, org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(
+ getD_YList(),
+ ecorePackage.getEInt(),
+ "yList", null, 0, -1, org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(eClassToEStringMapEClass, Map.Entry.class,
+ "EClassToEStringMap", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(
+ getEClassToEStringMap_Key(),
+ ecorePackage.getEClass(),
+ null,
+ "key", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(
+ getEClassToEStringMap_Value(),
+ ecorePackage.getEString(),
+ "value", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(eClassToAMapEClass, Map.Entry.class,
+ "EClassToAMap", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(
+ getEClassToAMap_Key(),
+ ecorePackage.getEClass(),
+ null,
+ "key", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(
+ getEClassToAMap_Value(),
+ getA(),
+ null,
+ "value", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // TestPackageImpl
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/util/TestAdapterFactory.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/util/TestAdapterFactory.java
new file mode 100644
index 0000000..19bb7ee
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/util/TestAdapterFactory.java
@@ -0,0 +1,268 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage
+ * @generated
+ */
+public class TestAdapterFactory extends AdapterFactoryImpl
+{
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static TestPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TestAdapterFactory()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = TestPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance
+ * object of the model.
+ * <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object)
+ {
+ if (object == modelPackage)
+ {
+ return true;
+ }
+ if (object instanceof EObject)
+ {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TestSwitch<Adapter> modelSwitch =
+ new TestSwitch<Adapter>()
+ {
+ @Override
+ public Adapter caseA(A object)
+ {
+ return createAAdapter();
+ }
+
+ @Override
+ public Adapter caseB(B object)
+ {
+ return createBAdapter();
+ }
+
+ @Override
+ public Adapter caseC(C object)
+ {
+ return createCAdapter();
+ }
+
+ @Override
+ public Adapter caseD(D object)
+ {
+ return createDAdapter();
+ }
+
+ @Override
+ public Adapter caseEClassToEStringMap(Map.Entry<EClass, String> object)
+ {
+ return createEClassToEStringMapAdapter();
+ }
+
+ @Override
+ public Adapter caseEClassToAMap(Map.Entry<EClass, A> object)
+ {
+ return createEClassToAMapAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object)
+ {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target)
+ {
+ return modelSwitch.doSwitch((EObject) target);
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A <em>A</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A
+ * @generated
+ */
+ public Adapter createAAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B <em>B</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B
+ * @generated
+ */
+ public Adapter createBAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C <em>C</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C
+ * @generated
+ */
+ public Adapter createCAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D <em>D</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D
+ * @generated
+ */
+ public Adapter createDAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>EClass To EString Map</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see java.util.Map.Entry
+ * @generated
+ */
+ public Adapter createEClassToEStringMapAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>EClass To AMap</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see java.util.Map.Entry
+ * @generated
+ */
+ public Adapter createEClassToAMapAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter()
+ {
+ return null;
+ }
+
+} // TestAdapterFactory
diff --git a/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/util/TestSwitch.java b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/util/TestSwitch.java
new file mode 100644
index 0000000..c594c51
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.databinding.testmodel/src/org/eclipse/emfforms/core/services/databinding/testmodel/test/model/util/TestSwitch.java
@@ -0,0 +1,270 @@
+/**
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ */
+package org.eclipse.emfforms.core.services.databinding.testmodel.test.model.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.B;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.C;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each
+ * class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage
+ * @generated
+ */
+public class TestSwitch<T> extends Switch<T>
+{
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static TestPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TestSwitch()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = TestPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage)
+ {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
+ * result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject)
+ {
+ switch (classifierID)
+ {
+ case TestPackage.A: {
+ final A a = (A) theEObject;
+ T result = caseA(a);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case TestPackage.B: {
+ final B b = (B) theEObject;
+ T result = caseB(b);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case TestPackage.C: {
+ final C c = (C) theEObject;
+ T result = caseC(c);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case TestPackage.D: {
+ final D d = (D) theEObject;
+ T result = caseD(d);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case TestPackage.ECLASS_TO_ESTRING_MAP: {
+ @SuppressWarnings("unchecked")
+ final Map.Entry<EClass, String> eClassToEStringMap = (Map.Entry<EClass, String>) theEObject;
+ T result = caseEClassToEStringMap(eClassToEStringMap);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case TestPackage.ECLASS_TO_AMAP: {
+ @SuppressWarnings("unchecked")
+ final Map.Entry<EClass, A> eClassToAMap = (Map.Entry<EClass, A>) theEObject;
+ T result = caseEClassToAMap(eClassToAMap);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>A</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>A</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseA(A object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>B</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>B</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseB(B object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>C</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>C</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseC(C object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>D</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>D</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseD(D object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EClass To EString Map</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EClass To EString Map</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEClassToEStringMap(Map.Entry<EClass, String> object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EClass To AMap</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EClass To AMap</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEClassToAMap(Map.Entry<EClass, A> object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object)
+ {
+ return null;
+ }
+
+} // TestSwitch
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/.checkstyle b/tests/org.eclipse.emfforms.core.services.emf.tests/.checkstyle
new file mode 100644
index 0000000..32e02a4
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/.checkstyle
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="c" location="esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/tests/org.eclipse.emfforms.core.services.emf.tests/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to tests/org.eclipse.emfforms.core.services.emf.tests/.classpath
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/.project b/tests/org.eclipse.emfforms.core.services.emf.tests/.project
new file mode 100644
index 0000000..6dea147
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.core.services.emf.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.core.runtime.prefs
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..66c53c1
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emfforms.core.services.emf.tests/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/AllIntegrationTests core.services.emf.launch b/tests/org.eclipse.emfforms.core.services.emf.tests/AllIntegrationTests core.services.emf.launch
new file mode 100644
index 0000000..ceeb4a8
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/AllIntegrationTests core.services.emf.launch
@@ -0,0 +1,262 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<setAttribute key="additional_plugins"/>
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<stringAttribute key="featureDefaultLocation" value="workspace"/>
+<stringAttribute key="featurePluginResolution" value="workspace"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/core/services/emf/tests/AllIntegrationTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.core.services.emf.tests.AllIntegrationTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.core.services.emf.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.emf.cdo.server.product.tcp_h2"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<setAttribute key="selected_features">
+<setEntry value="org.eclipse.draw2d.sdk:default"/>
+<setEntry value="org.eclipse.draw2d.source:default"/>
+<setEntry value="org.eclipse.draw2d:default"/>
+<setEntry value="org.eclipse.e4.rcp:default"/>
+<setEntry value="org.eclipse.emf.cdo.compare.source:default"/>
+<setEntry value="org.eclipse.emf.cdo.compare:default"/>
+<setEntry value="org.eclipse.emf.cdo.defs.source:default"/>
+<setEntry value="org.eclipse.emf.cdo.defs:default"/>
+<setEntry value="org.eclipse.emf.cdo.doc.source:default"/>
+<setEntry value="org.eclipse.emf.cdo.doc:default"/>
+<setEntry value="org.eclipse.emf.cdo.examples.installer.source:default"/>
+<setEntry value="org.eclipse.emf.cdo.examples.installer:default"/>
+<setEntry value="org.eclipse.emf.cdo.migrator.source:default"/>
+<setEntry value="org.eclipse.emf.cdo.migrator:default"/>
+<setEntry value="org.eclipse.emf.cdo.sdk.source:default"/>
+<setEntry value="org.eclipse.emf.cdo.sdk:default"/>
+<setEntry value="org.eclipse.emf.cdo.server.db.source:default"/>
+<setEntry value="org.eclipse.emf.cdo.server.db:default"/>
+<setEntry value="org.eclipse.emf.cdo.server.lissome.source:default"/>
+<setEntry value="org.eclipse.emf.cdo.server.lissome:default"/>
+<setEntry value="org.eclipse.emf.cdo.server.mongodb.source:default"/>
+<setEntry value="org.eclipse.emf.cdo.server.mongodb:default"/>
+<setEntry value="org.eclipse.emf.cdo.server.source:default"/>
+<setEntry value="org.eclipse.emf.cdo.server:default"/>
+<setEntry value="org.eclipse.emf.cdo.source:default"/>
+<setEntry value="org.eclipse.emf.cdo:default"/>
+<setEntry value="org.eclipse.emf.codegen.ecore.source:default"/>
+<setEntry value="org.eclipse.emf.codegen.ecore.ui.source:default"/>
+<setEntry value="org.eclipse.emf.codegen.ecore.ui:default"/>
+<setEntry value="org.eclipse.emf.codegen.ecore:default"/>
+<setEntry value="org.eclipse.emf.codegen.source:default"/>
+<setEntry value="org.eclipse.emf.codegen.ui.source:default"/>
+<setEntry value="org.eclipse.emf.codegen.ui:default"/>
+<setEntry value="org.eclipse.emf.codegen:default"/>
+<setEntry value="org.eclipse.emf.common.ui.source:default"/>
+<setEntry value="org.eclipse.emf.common.ui:default"/>
+<setEntry value="org.eclipse.emf.common:default"/>
+<setEntry value="org.eclipse.emf.converter.source:default"/>
+<setEntry value="org.eclipse.emf.converter:default"/>
+<setEntry value="org.eclipse.emf.databinding.edit.source:default"/>
+<setEntry value="org.eclipse.emf.databinding.edit:default"/>
+<setEntry value="org.eclipse.emf.databinding.source:default"/>
+<setEntry value="org.eclipse.emf.databinding:default"/>
+<setEntry value="org.eclipse.emf.doc.source:default"/>
+<setEntry value="org.eclipse.emf.doc:default"/>
+<setEntry value="org.eclipse.emf.ecore.edit.source:default"/>
+<setEntry value="org.eclipse.emf.ecore.edit:default"/>
+<setEntry value="org.eclipse.emf.ecore.editor.source:default"/>
+<setEntry value="org.eclipse.emf.ecore.editor:default"/>
+<setEntry value="org.eclipse.emf.ecore:default"/>
+<setEntry value="org.eclipse.emf.ecp.cdo.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.changebroker.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.demo.e3.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.demo.e4.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.diffmerge.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.e3.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.e4.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.ecore.editor.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.ecore.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.emfforms.idetooling.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.emfforms.runtime.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.emfforms.sdk.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.emfstore.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.examplemodel.ui.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.graphiti.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.license.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.makeithappen.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.nosite.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.rap.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.rap.sdk.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.rap.util.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.sdk.e4.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.sdk.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.target.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.test.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.test.model.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.transaction.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.validation.view.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.categorization.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.compoundcontrol.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.custom.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.di.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.dynamictree.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.edapt.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.group.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.groupedgrid.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.horizontal.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.indexdmr.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.keyattributedmr.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.label.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.mappingdmr.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.model.controls.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.model.editor.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.model.editor.test.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.rule.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.section.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.stack.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.table.celleditor.rcp.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.table.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.template.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.template.helper.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.treemasterdetail.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.unset.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.validation.bean.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.validation.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.validation.initial.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.vertical.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.view.viewproxy.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.viewmodel.feature:default"/>
+<setEntry value="org.eclipse.emf.ecp.workspace.feature:default"/>
+<setEntry value="org.eclipse.emf.edapt.runtime.feature:default"/>
+<setEntry value="org.eclipse.emf.edit.source:default"/>
+<setEntry value="org.eclipse.emf.edit.ui.source:default"/>
+<setEntry value="org.eclipse.emf.edit.ui:default"/>
+<setEntry value="org.eclipse.emf.edit:default"/>
+<setEntry value="org.eclipse.emf.emfstore.client.feature:default"/>
+<setEntry value="org.eclipse.emf.emfstore.client.transaction.feature:default"/>
+<setEntry value="org.eclipse.emf.emfstore.client.ui.feature:default"/>
+<setEntry value="org.eclipse.emf.emfstore.common.feature:default"/>
+<setEntry value="org.eclipse.emf.emfstore.ecore.feature:default"/>
+<setEntry value="org.eclipse.emf.emfstore.example.feature:default"/>
+<setEntry value="org.eclipse.emf.emfstore.server.feature:default"/>
+<setEntry value="org.eclipse.emf.mapping.ecore.editor.source:default"/>
+<setEntry value="org.eclipse.emf.mapping.ecore.editor:default"/>
+<setEntry value="org.eclipse.emf.mapping.ecore.source:default"/>
+<setEntry value="org.eclipse.emf.mapping.ecore:default"/>
+<setEntry value="org.eclipse.emf.mapping.source:default"/>
+<setEntry value="org.eclipse.emf.mapping.ui.source:default"/>
+<setEntry value="org.eclipse.emf.mapping.ui:default"/>
+<setEntry value="org.eclipse.emf.mapping:default"/>
+<setEntry value="org.eclipse.emf.sdk:default"/>
+<setEntry value="org.eclipse.emf.source:default"/>
+<setEntry value="org.eclipse.emf.transaction.doc:default"/>
+<setEntry value="org.eclipse.emf.transaction.sdk:default"/>
+<setEntry value="org.eclipse.emf.transaction.source:default"/>
+<setEntry value="org.eclipse.emf.transaction:default"/>
+<setEntry value="org.eclipse.emf.validation.doc:default"/>
+<setEntry value="org.eclipse.emf.validation.ocl.source:default"/>
+<setEntry value="org.eclipse.emf.validation.ocl:default"/>
+<setEntry value="org.eclipse.emf.validation.sdk:default"/>
+<setEntry value="org.eclipse.emf.validation.source:default"/>
+<setEntry value="org.eclipse.emf.validation:default"/>
+<setEntry value="org.eclipse.emf.workspace.doc:default"/>
+<setEntry value="org.eclipse.emf.workspace.source:default"/>
+<setEntry value="org.eclipse.emf.workspace:default"/>
+<setEntry value="org.eclipse.emf:default"/>
+<setEntry value="org.eclipse.equinox.compendium.sdk:default"/>
+<setEntry value="org.eclipse.equinox.core.feature:default"/>
+<setEntry value="org.eclipse.equinox.core.sdk:default"/>
+<setEntry value="org.eclipse.equinox.executable:default"/>
+<setEntry value="org.eclipse.equinox.p2.core.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.extras.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.rcp.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.user.ui:default"/>
+<setEntry value="org.eclipse.equinox.sdk:default"/>
+<setEntry value="org.eclipse.equinox.server.core:default"/>
+<setEntry value="org.eclipse.equinox.server.jetty:default"/>
+<setEntry value="org.eclipse.equinox.server.p2:default"/>
+<setEntry value="org.eclipse.equinox.serverside.sdk:default"/>
+<setEntry value="org.eclipse.equinox.weaving.sdk:default"/>
+<setEntry value="org.eclipse.gef.sdk:default"/>
+<setEntry value="org.eclipse.gef.source:default"/>
+<setEntry value="org.eclipse.gef:default"/>
+<setEntry value="org.eclipse.graphiti.export.feature:default"/>
+<setEntry value="org.eclipse.graphiti.feature:default"/>
+<setEntry value="org.eclipse.help:default"/>
+<setEntry value="org.eclipse.jdt:default"/>
+<setEntry value="org.eclipse.net4j.db.doc.source:default"/>
+<setEntry value="org.eclipse.net4j.db.doc:default"/>
+<setEntry value="org.eclipse.net4j.db.h2.source:default"/>
+<setEntry value="org.eclipse.net4j.db.h2:default"/>
+<setEntry value="org.eclipse.net4j.db.source:default"/>
+<setEntry value="org.eclipse.net4j.db:default"/>
+<setEntry value="org.eclipse.net4j.defs.source:default"/>
+<setEntry value="org.eclipse.net4j.defs:default"/>
+<setEntry value="org.eclipse.net4j.doc.source:default"/>
+<setEntry value="org.eclipse.net4j.doc:default"/>
+<setEntry value="org.eclipse.net4j.examples.installer.source:default"/>
+<setEntry value="org.eclipse.net4j.examples.installer:default"/>
+<setEntry value="org.eclipse.net4j.sdk.source:default"/>
+<setEntry value="org.eclipse.net4j.sdk:default"/>
+<setEntry value="org.eclipse.net4j.source:default"/>
+<setEntry value="org.eclipse.net4j.ui.source:default"/>
+<setEntry value="org.eclipse.net4j.ui:default"/>
+<setEntry value="org.eclipse.net4j.util.doc.source:default"/>
+<setEntry value="org.eclipse.net4j.util.doc:default"/>
+<setEntry value="org.eclipse.net4j.util.source:default"/>
+<setEntry value="org.eclipse.net4j.util.ui.source:default"/>
+<setEntry value="org.eclipse.net4j.util.ui:default"/>
+<setEntry value="org.eclipse.net4j.util:default"/>
+<setEntry value="org.eclipse.net4j:default"/>
+<setEntry value="org.eclipse.ocl.all.sdk:default"/>
+<setEntry value="org.eclipse.ocl.all:default"/>
+<setEntry value="org.eclipse.ocl.core.sdk:default"/>
+<setEntry value="org.eclipse.ocl.doc.source:default"/>
+<setEntry value="org.eclipse.ocl.doc:default"/>
+<setEntry value="org.eclipse.ocl.edit.source:default"/>
+<setEntry value="org.eclipse.ocl.edit:default"/>
+<setEntry value="org.eclipse.ocl.source:default"/>
+<setEntry value="org.eclipse.ocl.ui.source:default"/>
+<setEntry value="org.eclipse.ocl.ui:default"/>
+<setEntry value="org.eclipse.ocl.uml.source:default"/>
+<setEntry value="org.eclipse.ocl.uml:default"/>
+<setEntry value="org.eclipse.ocl:default"/>
+<setEntry value="org.eclipse.pde:default"/>
+<setEntry value="org.eclipse.platform:default"/>
+<setEntry value="org.eclipse.rcp.configuration:default"/>
+<setEntry value="org.eclipse.rcp:default"/>
+<setEntry value="org.eclipse.swtbot.eclipse.gef:default"/>
+<setEntry value="org.eclipse.swtbot.eclipse.test.junit:default"/>
+<setEntry value="org.eclipse.swtbot.eclipse:default"/>
+<setEntry value="org.eclipse.swtbot.forms:default"/>
+<setEntry value="org.eclipse.swtbot:default"/>
+</setAttribute>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.xml@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-all@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.testmodel@default:default,org.eclipse.emfforms.core.services.emf.tests@default:false,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/AllTests core.services.emf.launch b/tests/org.eclipse.emfforms.core.services.emf.tests/AllTests core.services.emf.launch
new file mode 100644
index 0000000..e96fecd
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/AllTests core.services.emf.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/core/services/emf/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.core.services.emf.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.core.services.emf.tests"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.core.services.emf.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..80a0560
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms Core Service EMF Tests
+Bundle-SymbolicName: org.eclipse.emfforms.core.services.emf.tests
+Bundle-Version: 1.6.0.qualifier
+Fragment-Host: org.eclipse.emfforms.core.services.emf;bundle-version="[1.6.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Vendor: Eclipse Modeling Project
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.core.services.emf.tests;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.databinding;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.internal.core.services.label;version="1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/build.properties b/tests/org.eclipse.emfforms.core.services.emf.tests/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/pom.xml b/tests/org.eclipse.emfforms.core.services.emf.tests/pom.xml
new file mode 100644
index 0000000..889504f
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emfforms.core.services.emf.tests</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.core.services.locale.default</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.emfforms.localization</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/core/services/emf/tests/AllIntegrationTests.java b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/core/services/emf/tests/AllIntegrationTests.java
new file mode 100644
index 0000000..41bdd4d
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/core/services/emf/tests/AllIntegrationTests.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.core.services.emf.tests;
+
+import org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl_ITest;
+import org.eclipse.emfforms.internal.core.services.label.EMFFormsLabelProviderDefaultImpl_ITest;
+import org.eclipse.emfforms.internal.core.services.label.EMFFormsLabelProviderImpl_ITest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * Test suite containing all integration tests for core.services.labelprovider.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ EMFFormsLabelProviderImpl_ITest.class, EMFFormsLabelProviderDefaultImpl_ITest.class,
+ EMFFormsDatabindingImpl_ITest.class })
+public class AllIntegrationTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/core/services/emf/tests/AllTests.java b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/core/services/emf/tests/AllTests.java
new file mode 100644
index 0000000..c5f0eed
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/core/services/emf/tests/AllTests.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.core.services.emf.tests;
+
+import org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl_Test;
+import org.eclipse.emfforms.internal.core.services.label.EMFFormsLabelProviderDefaultImpl_Test;
+import org.eclipse.emfforms.internal.core.services.label.EMFFormsLabelProviderImpl_Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+@RunWith(Suite.class)
+@SuiteClasses({ EMFFormsLabelProviderImpl_Test.class, EMFFormsLabelProviderDefaultImpl_Test.class,
+ EMFFormsDatabindingImpl_Test.class })
+public class AllTests {
+ // JUnit 4 Test Suite
+}
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/databinding/EMFFormsDatabindingImpl_ITest.java b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/databinding/EMFFormsDatabindingImpl_ITest.java
new file mode 100644
index 0000000..d4b6181
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/databinding/EMFFormsDatabindingImpl_ITest.java
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler- initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ * JUnit integration test for {@link EMFFormsDatabindingImpl}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFFormsDatabindingImpl_ITest {
+
+ private static BundleContext bundleContext;
+ private EMFFormsDatabinding service;
+ private ServiceReference<EMFFormsDatabinding> serviceReference;
+
+ @BeforeClass
+ public static void setUpBeforeClass() {
+ bundleContext = FrameworkUtil.getBundle(EMFFormsDatabindingImpl_ITest.class).getBundleContext();
+ }
+
+ @Before
+ public void setUp() {
+ serviceReference = bundleContext
+ .getServiceReference(EMFFormsDatabinding.class);
+ service = bundleContext.getService(serviceReference);
+ }
+
+ @After
+ public void tearDown() {
+ bundleContext.ungetService(serviceReference);
+ }
+
+ @Test
+ public void testServiceType() {
+ assertTrue(EMFFormsDatabindingImpl.class.isInstance(service));
+
+ }
+
+ @Test
+ public void testServiceUsageValue() throws DatabindingFailedException {
+ final DomainModelReferenceConverter converter = mock(DomainModelReferenceConverter.class);
+ final VFeaturePathDomainModelReference reference = mock(VFeaturePathDomainModelReference.class);
+ when(converter.isApplicable(reference)).thenReturn(0d);
+ final ServiceRegistration<DomainModelReferenceConverter> converterService = bundleContext.registerService(
+ DomainModelReferenceConverter.class, converter, null);
+ service.getValueProperty(reference, mock(EObject.class));
+ verify(converter).isApplicable(reference);
+ verify(converter).convertToValueProperty(eq(reference), any(EObject.class));
+ converterService.unregister();
+ }
+
+ @Test
+ public void testServiceUsageList() throws DatabindingFailedException {
+ final DomainModelReferenceConverter converter = mock(DomainModelReferenceConverter.class);
+ final VFeaturePathDomainModelReference reference = mock(VFeaturePathDomainModelReference.class);
+ when(converter.isApplicable(reference)).thenReturn(0d);
+ final ServiceRegistration<DomainModelReferenceConverter> converterService = bundleContext.registerService(
+ DomainModelReferenceConverter.class, converter, null);
+ service.getListProperty(reference, mock(EObject.class));
+ verify(converter).isApplicable(reference);
+ verify(converter).convertToListProperty(eq(reference), any(EObject.class));
+ converterService.unregister();
+ }
+}
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/databinding/EMFFormsDatabindingImpl_Test.java b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/databinding/EMFFormsDatabindingImpl_Test.java
new file mode 100644
index 0000000..f762515
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/databinding/EMFFormsDatabindingImpl_Test.java
@@ -0,0 +1,448 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.databinding;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.same;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import org.eclipse.core.databinding.observable.list.IObservableList;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.databinding.property.list.SimpleListProperty;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.core.databinding.property.value.SimpleValueProperty;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * This JUnit test tests the correct functionality of {@link EMFFormsDatabindingImpl}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFFormsDatabindingImpl_Test {
+
+ private EMFFormsDatabindingImpl databindingService;
+ private DefaultRealm realm;
+
+ /**
+ * Set up that is executed before every test.
+ */
+ @Before
+ public void setUp() {
+ realm = new DefaultRealm();
+ databindingService = new EMFFormsDatabindingImpl();
+ }
+
+ @After
+ public void tearDown() {
+ realm.dispose();
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getObservableValue(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testGetObservableValue() throws DatabindingFailedException {
+ databindingService = spy(new EMFFormsDatabindingImpl());
+ final VDomainModelReference reference = mock(VDomainModelReference.class);
+ final EObject eObject = mock(EObject.class);
+ final DomainModelReferenceConverter converter1 = mock(DomainModelReferenceConverter.class);
+ final IValueProperty expectedResultProperty = mock(IValueProperty.class);
+ final IObservableValue expectedObservableValue = mock(IObservableValue.class);
+
+ when(converter1.isApplicable(reference)).thenReturn(0d);
+ when(converter1.convertToValueProperty(reference, eObject)).thenReturn(expectedResultProperty);
+ when(expectedResultProperty.observe(eObject)).thenReturn(expectedObservableValue);
+
+ databindingService.addDomainModelReferenceConverter(converter1);
+ final IObservableValue resultObservableValue = databindingService.getObservableValue(reference, eObject);
+
+ verify(databindingService).getValueProperty(reference, eObject);
+ verify(expectedResultProperty).observe(eObject);
+ assertEquals(expectedObservableValue, resultObservableValue);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getObservableValue(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ * <p>
+ * Tests whether the method returns the correct result for both arguments being <strong>null</strong>.
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetObservableValueNullBoth() throws DatabindingFailedException {
+ databindingService.getObservableValue(null, null);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getObservableValue(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ * <p>
+ * Tests whether the method returns the correct result for the VDomainModelReference argument being
+ * <strong>null</strong>.
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetObservableValueNullDomainModelReference() throws DatabindingFailedException {
+ databindingService.getObservableValue(null, mock(EObject.class));
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getObservableValue(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ * <p>
+ * Tests whether the method returns the correct result for the EObject argument being <strong>null</strong>.
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetObservableValueNullObject() throws DatabindingFailedException {
+ databindingService.getObservableValue(mock(VDomainModelReference.class), null);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getValueProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = DatabindingFailedException.class)
+ public void testGetValuePropertyNoApplicableConverter() throws DatabindingFailedException {
+ final VDomainModelReference modelReference = mock(VDomainModelReference.class);
+ final EClass eClass = mock(EClass.class);
+ when(eClass.getName()).thenReturn("test"); //$NON-NLS-1$
+ when(modelReference.eClass()).thenReturn(eClass);
+ databindingService.getValueProperty(modelReference, mock(EObject.class));
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getValueProperty(VDomainModelReference,EObject)}
+ * .
+ * Tests whether the correct converter is used when one is applicable and one is not.
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testGetValuePropertyOneApplicable() throws DatabindingFailedException {
+ final VDomainModelReference reference = mock(VDomainModelReference.class);
+ final DomainModelReferenceConverter converter1 = mock(DomainModelReferenceConverter.class);
+ final DomainModelReferenceConverter converter2 = mock(DomainModelReferenceConverter.class);
+ final IValueProperty expectedResultProperty = mock(IValueProperty.class);
+
+ when(converter1.isApplicable(reference)).thenReturn(0d);
+ when(converter1.convertToValueProperty(same(reference), any(EObject.class))).thenReturn(expectedResultProperty);
+ when(converter2.isApplicable(reference)).thenReturn(DomainModelReferenceConverter.NOT_APPLICABLE);
+ when(converter2.convertToValueProperty(same(reference), any(EObject.class))).thenReturn(
+ mock(IValueProperty.class));
+
+ databindingService.addDomainModelReferenceConverter(converter1);
+ databindingService.addDomainModelReferenceConverter(converter2);
+ final IValueProperty valueProperty = databindingService.getValueProperty(reference, mock(EObject.class));
+ assertEquals(expectedResultProperty, valueProperty);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getValueProperty(VDomainModelReference,EObject)}
+ * .
+ * Tests whether the correct converter is used when there are two applicable ones with different priorities.
+ * Also tests whether the correct result is returned.
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testGetValuePropertyTwoApplicable() throws DatabindingFailedException {
+ final VDomainModelReference reference = mock(VFeaturePathDomainModelReference.class);
+ final DomainModelReferenceConverter converter1 = mock(DomainModelReferenceConverter.class);
+ final DomainModelReferenceConverter converter2 = mock(DomainModelReferenceConverter.class);
+ final IValueProperty expectedResultProperty = mock(IValueProperty.class);
+
+ when(converter1.isApplicable(reference)).thenReturn(5d);
+ when(converter1.convertToValueProperty(same(reference), any(EObject.class))).thenReturn(expectedResultProperty);
+ when(converter2.isApplicable(reference)).thenReturn(1d);
+ when(converter2.convertToValueProperty(same(reference), any(EObject.class))).thenReturn(
+ mock(SimpleValueProperty.class));
+
+ databindingService.addDomainModelReferenceConverter(converter1);
+ databindingService.addDomainModelReferenceConverter(converter2);
+ final IValueProperty valueProperty = databindingService.getValueProperty(reference, mock(EObject.class));
+ assertEquals(expectedResultProperty, valueProperty);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getValueProperty(VDomainModelReference,EObject)}
+ * .
+ * Tests whether the {@link EMFFormsDatabindingImpl} considers all {@link DomainModelReferenceConverter}s, that are
+ * registered to it, for its conversions.
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testGetValuePropertyAllConsidered() throws DatabindingFailedException {
+ final VDomainModelReference reference = mock(VDomainModelReference.class);
+
+ final DomainModelReferenceConverter converter1 = mock(DomainModelReferenceConverter.class);
+ final DomainModelReferenceConverter converter2 = mock(DomainModelReferenceConverter.class);
+ final DomainModelReferenceConverter converter3 = mock(DomainModelReferenceConverter.class);
+
+ databindingService.addDomainModelReferenceConverter(converter1);
+ databindingService.addDomainModelReferenceConverter(converter2);
+ databindingService.addDomainModelReferenceConverter(converter3);
+
+ databindingService.getValueProperty(reference, mock(EObject.class));
+
+ verify(converter1).isApplicable(reference);
+ verify(converter2).isApplicable(reference);
+ verify(converter3).isApplicable(reference);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getValueProperty(VDomainModelReference,EObject)}
+ * .
+ * <p>
+ * Tests whether the method returns the correct result for a <strong>null</strong> argument.
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetValuePropertyNull() throws DatabindingFailedException {
+ databindingService.getValueProperty(null, mock(EObject.class));
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getObservableList(VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testGetObservableList() throws DatabindingFailedException {
+ databindingService = spy(new EMFFormsDatabindingImpl());
+ final VDomainModelReference reference = mock(VDomainModelReference.class);
+ final EObject eObject = mock(EObject.class);
+ final DomainModelReferenceConverter converter1 = mock(DomainModelReferenceConverter.class);
+ final IListProperty expectedResultProperty = mock(IListProperty.class);
+ final IObservableList expectedObservableList = mock(IObservableList.class);
+
+ when(converter1.isApplicable(reference)).thenReturn(0d);
+ when(converter1.convertToListProperty(reference, eObject)).thenReturn(expectedResultProperty);
+ when(expectedResultProperty.observe(eObject)).thenReturn(expectedObservableList);
+
+ databindingService.addDomainModelReferenceConverter(converter1);
+ final IObservableList resultObservableList = databindingService.getObservableList(reference, eObject);
+
+ verify(databindingService).getListProperty(reference, eObject);
+ verify(expectedResultProperty).observe(eObject);
+ assertEquals(expectedObservableList, resultObservableList);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getObservableList(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ * <p>
+ * Tests whether the method returns the correct result for both arguments being <strong>null</strong>.
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetObservableListNullBoth() throws DatabindingFailedException {
+ databindingService.getObservableList(null, null);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getObservableList(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ * <p>
+ * Tests whether the method returns the correct result for the VDomainModelReference argument being
+ * <strong>null</strong>.
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetObservableListNullDomainModelReference() throws DatabindingFailedException {
+ databindingService.getObservableList(null, mock(EObject.class));
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getObservableList(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ * <p>
+ * Tests whether the method returns the correct result for the EObject argument being <strong>null</strong>.
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetObservableListNullObject() throws DatabindingFailedException {
+ databindingService.getObservableList(mock(VDomainModelReference.class), null);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getListProperty(VDomainModelReference,EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = DatabindingFailedException.class)
+ public void testGetListPropertyNoApplicableConverter() throws DatabindingFailedException {
+ databindingService.getListProperty(mock(VDomainModelReference.class), mock(EObject.class));
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getListProperty(VDomainModelReference,EObject)}
+ * .
+ * Tests whether the correct converter is used when one is applicable and one is not.
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testGetListPropertyOneApplicable() throws DatabindingFailedException {
+ final VDomainModelReference reference = mock(VDomainModelReference.class);
+ final DomainModelReferenceConverter converter1 = mock(DomainModelReferenceConverter.class);
+ final DomainModelReferenceConverter converter2 = mock(DomainModelReferenceConverter.class);
+ final IListProperty expectedResultProperty = mock(IListProperty.class);
+
+ when(converter1.isApplicable(reference)).thenReturn(0d);
+ when(converter1.convertToListProperty(same(reference), any(EObject.class))).thenReturn(expectedResultProperty);
+ when(converter2.isApplicable(reference)).thenReturn(DomainModelReferenceConverter.NOT_APPLICABLE);
+ when(converter2.convertToListProperty(same(reference), any(EObject.class))).thenReturn(
+ mock(IListProperty.class));
+
+ databindingService.addDomainModelReferenceConverter(converter1);
+ databindingService.addDomainModelReferenceConverter(converter2);
+ final IListProperty listProperty = databindingService.getListProperty(reference, mock(EObject.class));
+ assertEquals(expectedResultProperty, listProperty);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getListProperty(VDomainModelReference,EObject)}
+ * .
+ * Tests whether the correct converter is used when there are two applicable ones with different priorities.
+ * Also tests whether the correct result is returned.
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testGetListPropertyTwoApplicable() throws DatabindingFailedException {
+ final VDomainModelReference reference = mock(VFeaturePathDomainModelReference.class);
+ final DomainModelReferenceConverter converter1 = mock(DomainModelReferenceConverter.class);
+ final DomainModelReferenceConverter converter2 = mock(DomainModelReferenceConverter.class);
+ final IListProperty expectedResultProperty = mock(IListProperty.class);
+
+ when(converter1.isApplicable(reference)).thenReturn(5d);
+ when(converter1.convertToListProperty(same(reference), any(EObject.class))).thenReturn(expectedResultProperty);
+ when(converter2.isApplicable(reference)).thenReturn(1d);
+ when(converter2.convertToListProperty(same(reference), any(EObject.class))).thenReturn(
+ mock(SimpleListProperty.class));
+
+ databindingService.addDomainModelReferenceConverter(converter1);
+ databindingService.addDomainModelReferenceConverter(converter2);
+ final IListProperty listProperty = databindingService.getListProperty(reference, mock(EObject.class));
+ assertEquals(expectedResultProperty, listProperty);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getValueProperty(VDomainModelReference,EObject)}
+ * .
+ * Tests whether the {@link EMFFormsDatabindingImpl} considers all {@link DomainModelReferenceConverter}s, that are
+ * registered to it, for its conversions.
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test
+ public void testGetListPropertyAllConsidered() throws DatabindingFailedException {
+ final VDomainModelReference reference = mock(VDomainModelReference.class);
+
+ final DomainModelReferenceConverter converter1 = mock(DomainModelReferenceConverter.class);
+ final DomainModelReferenceConverter converter2 = mock(DomainModelReferenceConverter.class);
+ final DomainModelReferenceConverter converter3 = mock(DomainModelReferenceConverter.class);
+
+ databindingService.addDomainModelReferenceConverter(converter1);
+ databindingService.addDomainModelReferenceConverter(converter2);
+ databindingService.addDomainModelReferenceConverter(converter3);
+
+ databindingService.getListProperty(reference, mock(EObject.class));
+
+ verify(converter1).isApplicable(reference);
+ verify(converter2).isApplicable(reference);
+ verify(converter3).isApplicable(reference);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#getValueProperty(VDomainModelReference,EObject)}
+ * .
+ * <p>
+ * Tests whether the method returns the correct result for a <strong>null</strong> argument.
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetListPropertyNull() throws DatabindingFailedException {
+ databindingService.getListProperty(null, mock(EObject.class));
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.core.services.databinding.EMFFormsDatabindingImpl#removeDomainModelReferenceConverter(org.eclipse.emfforms.spi.core.services.databinding.DomainModelReferenceConverter)}
+ * .
+ *
+ * @throws DatabindingFailedException if the databinding failed
+ */
+ @Test(expected = DatabindingFailedException.class)
+ public void testRemoveDomainModelReferenceConverter() throws DatabindingFailedException {
+ final VDomainModelReference reference = mock(VFeaturePathDomainModelReference.class);
+ when(reference.eClass()).thenReturn(VViewPackage.eINSTANCE.getFeaturePathDomainModelReference());
+ final DomainModelReferenceConverter converter1 = mock(DomainModelReferenceConverter.class);
+
+ when(converter1.isApplicable(reference)).thenReturn(5d);
+
+ databindingService.addDomainModelReferenceConverter(converter1);
+ databindingService.removeDomainModelReferenceConverter(converter1);
+ databindingService.getValueProperty(reference, mock(EObject.class));
+ }
+}
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl_ITest.java b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl_ITest.java
new file mode 100644
index 0000000..521a538
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl_ITest.java
@@ -0,0 +1,221 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.label;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.same;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.reset;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.databinding.EObjectObservableValue;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.emfspecificservice.EMFSpecificService;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ * JUnit integration test that tests that {@link EMFFormsLabelProviderDefaultImpl} uses the correct services.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFFormsLabelProviderDefaultImpl_ITest {
+
+ private static BundleContext bundleContext;
+ private static EMFFormsDatabinding databindingService;
+ private static ServiceRegistration<EMFFormsDatabinding> databindingRegisterService;
+ private static EMFSpecificService emfSpecificService;
+ private static ServiceRegistration<EMFSpecificService> emfSpecificRegisterService;
+ private static EMFFormsLabelProviderDefaultImpl labelProvider;
+ private static ServiceReference<EMFFormsLabelProvider> serviceReference;
+ private static IValueProperty valueProperty;
+ private static EObjectObservableValue observableValue;
+ private static IItemPropertyDescriptor itemPropertyDescriptor;
+
+ /**
+ * Set up that is executed before every test case.
+ * Registers a databinding and an emf specific service.
+ * Mocks various objects for the tests.
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ * @throws InvalidSyntaxException thrown by OSGI
+ */
+ @BeforeClass
+ public static void setUpBeforeClass() throws DatabindingFailedException, InvalidSyntaxException {
+ bundleContext = FrameworkUtil.getBundle(EMFFormsLabelProviderDefaultImpl_ITest.class).getBundleContext();
+
+ final Dictionary<String, Object> dictionary = new Hashtable<String, Object>();
+ dictionary.put("service.ranking", 5); //$NON-NLS-1$
+
+ databindingService = mock(EMFFormsDatabinding.class);
+ databindingRegisterService = bundleContext.registerService(EMFFormsDatabinding.class, databindingService,
+ dictionary);
+
+ emfSpecificService = mock(EMFSpecificService.class);
+ emfSpecificRegisterService = bundleContext.registerService(
+ EMFSpecificService.class, emfSpecificService, dictionary);
+
+ final EClass eContainingClass = TestPackage.eINSTANCE.getD();
+ final EStructuralFeature structuralFeature = mock(EStructuralFeature.class);
+ when(structuralFeature.getEContainingClass()).thenReturn(eContainingClass);
+ valueProperty = mock(IValueProperty.class);
+ when(valueProperty.getValueType()).thenReturn(structuralFeature);
+ observableValue = mock(EObjectObservableValue.class);
+ when(observableValue.getValueType()).thenReturn(structuralFeature);
+ when(observableValue.getObserved()).thenReturn(mock(EObject.class));
+ itemPropertyDescriptor = mock(IItemPropertyDescriptor.class);
+ when(itemPropertyDescriptor.getDescription(any(EObject.class))).thenReturn("description"); //$NON-NLS-1$
+ when(itemPropertyDescriptor.getDisplayName(any(EObject.class))).thenReturn("displayName"); //$NON-NLS-1$
+
+ when(emfSpecificService.getIItemPropertyDescriptor(any(EObject.class), same(structuralFeature))).thenReturn(
+ itemPropertyDescriptor);
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ valueProperty);
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ observableValue);
+
+ serviceReference = bundleContext.getServiceReferences(EMFFormsLabelProvider.class, "(service.ranking=1)") //$NON-NLS-1$
+ .iterator().next();
+ labelProvider = (EMFFormsLabelProviderDefaultImpl) bundleContext.getService(serviceReference);
+ }
+
+ private DefaultRealm realm;
+
+ /**
+ * Resets and newly configures the services for every test.
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ */
+ @Before
+ public void setUp() throws DatabindingFailedException {
+ reset(databindingService);
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ valueProperty);
+ when(databindingService.getObservableValue(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ observableValue);
+ realm = new DefaultRealm();
+ }
+
+ /**
+ * Dispose the realm.
+ */
+ @After
+ public void tearDown() {
+ realm.dispose();
+ }
+
+ /**
+ * Unregisters the services after every test.
+ */
+ @AfterClass
+ public static void tearDownClass() {
+ databindingRegisterService.unregister();
+ emfSpecificRegisterService.unregister();
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * Tests that {@link EMFFormsLabelProviderDefaultImpl#getDisplayName(VDomainModelReference)} uses the databinding
+ * and emf
+ * specific services.
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ * @throws NoLabelFoundException should not be thrown
+ */
+ @Test
+ public void testServiceUsageDisplayNameOneParam() throws DatabindingFailedException, NoLabelFoundException {
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ labelProvider.getDisplayName(domainModelReference);
+
+ verify(databindingService).getValueProperty(same(domainModelReference), any(EObject.class));
+ }
+
+ /**
+ * Tests that {@link EMFFormsLabelProviderDefaultImpl#getDescription(VDomainModelReference)} uses the databinding
+ * and emf
+ * specific services.
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ * @throws NoLabelFoundException should not be thrown
+ */
+ @Test
+ public void testServiceUsageDescriptionOneParam() throws DatabindingFailedException, NoLabelFoundException {
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ labelProvider.getDescription(domainModelReference);
+
+ verify(databindingService).getValueProperty(same(domainModelReference), any(EObject.class));
+ }
+
+ /**
+ * Tests that {@link EMFFormsLabelProviderDefaultImpl#getDisplayName(VDomainModelReference, EObject)} uses the
+ * databinding
+ * and emf specific services.
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ * @throws NoLabelFoundException Should not be thrown
+ */
+ @Test
+ public void testServiceUsageDisplayNameTwoParam() throws DatabindingFailedException, NoLabelFoundException {
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ final EObject eObject = mock(EObject.class);
+ labelProvider.getDisplayName(domainModelReference, eObject);
+
+ verify(databindingService).getObservableValue(domainModelReference, eObject);
+ }
+
+ /**
+ * Tests that {@link EMFFormsLabelProviderDefaultImpl#getDescription(VDomainModelReference, EObject)} uses the
+ * databinding
+ * and emf specific services.
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ * @throws NoLabelFoundException Should not be thrown
+ */
+ @Test
+ public void testServiceUsageDescriptionTwoParam() throws DatabindingFailedException, NoLabelFoundException {
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ final EObject eObject = mock(EObject.class);
+ labelProvider.getDescription(domainModelReference, eObject);
+
+ verify(databindingService).getObservableValue(domainModelReference, eObject);
+ }
+}
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl_Test.java b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl_Test.java
new file mode 100644
index 0000000..4ebc1e3
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderDefaultImpl_Test.java
@@ -0,0 +1,271 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.label;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.databinding.EObjectObservableValue;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.emfspecificservice.EMFSpecificService;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * JUnit tests for {@link EMFFormsLabelProviderImpl}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFFormsLabelProviderDefaultImpl_Test {
+
+ private EMFFormsLabelProviderDefaultImpl labelProvider;
+ private EMFSpecificService emfSpecificService;
+ private IItemPropertyDescriptor itemPropertyDescriptor;
+ private IValueProperty valueProperty;
+ private EObjectObservableValue observableValue;
+ private EMFFormsDatabinding databindingService;
+ private DefaultRealm defaultRealm;
+
+ /**
+ * Set up that is executed before every test case.
+ * Registers a databinding and an emf specific service.
+ * Mocks various objects for the tests.
+ */
+ @Before
+ public void setUp() {
+ defaultRealm = new DefaultRealm();
+ labelProvider = new EMFFormsLabelProviderDefaultImpl();
+
+ databindingService = mock(EMFFormsDatabinding.class);
+ labelProvider.setEMFFormsDatabinding(databindingService);
+
+ valueProperty = mock(IValueProperty.class);
+ observableValue = mock(EObjectObservableValue.class);
+ // when(observableValue.getRealm()).thenReturn(Realm.getDefault());
+
+ emfSpecificService = mock(EMFSpecificService.class);
+ labelProvider.setEMFSpecificService(emfSpecificService);
+
+ itemPropertyDescriptor = mock(IItemPropertyDescriptor.class);
+ when(emfSpecificService.getIItemPropertyDescriptor(any(EObject.class), any(EStructuralFeature.class)))
+ .thenReturn(itemPropertyDescriptor);
+ }
+
+ /**
+ * Clean up the realm.
+ */
+ @After
+ public void tearDown() {
+ defaultRealm.dispose();
+ }
+
+ /**
+ * Test method for
+ * {@link EMFFormsLabelProviderDefaultImpl#getDisplayName(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)}
+ * .
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ */
+ @Test
+ public void testGetDisplayNameOneParam() throws DatabindingFailedException {
+ final String expectedResult = "expected"; //$NON-NLS-1$
+ final EStructuralFeature structuralFeature = mock(EStructuralFeature.class);
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+
+ when(structuralFeature.getEContainingClass()).thenReturn(TestPackage.eINSTANCE.getD());
+ when(itemPropertyDescriptor.getDisplayName(any(Object.class))).thenReturn(expectedResult);
+ when(valueProperty.getValueType()).thenReturn(structuralFeature);
+ when(databindingService.getValueProperty(domainModelReference, null)).thenReturn(valueProperty);
+
+ final IObservableValue result = labelProvider.getDisplayName(domainModelReference);
+
+ verify(databindingService).getValueProperty(domainModelReference, null);
+ verify(itemPropertyDescriptor).getDisplayName(any(D.class));
+ assertEquals(expectedResult, result.getValue());
+ }
+
+ /**
+ * Test method for
+ * {@link EMFFormsLabelProviderDefaultImpl#getDisplayName(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)}
+ * .
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetDisplayNameOneParamNull() {
+ labelProvider.getDisplayName(null);
+ }
+
+ /**
+ * Test method for
+ * {@link EMFFormsLabelProviderDefaultImpl#getDisplayName(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ */
+ @Test
+ public void testGetDisplayNameTwoParams() throws DatabindingFailedException {
+ final String expectedResult = "expected"; //$NON-NLS-1$
+ final EObject eObject = mock(EObject.class);
+ final EObject value = mock(EObject.class);
+ final EStructuralFeature structuralFeature = mock(EStructuralFeature.class);
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+
+ when(itemPropertyDescriptor.getDisplayName(value)).thenReturn(expectedResult);
+ when(observableValue.getValueType()).thenReturn(structuralFeature);
+ when(observableValue.getObserved()).thenReturn(value);
+ when(databindingService.getObservableValue(domainModelReference, eObject)).thenReturn(observableValue);
+ final IObservableValue result = labelProvider.getDisplayName(domainModelReference, eObject);
+
+ verify(databindingService).getObservableValue(domainModelReference, eObject);
+ verify(itemPropertyDescriptor).getDisplayName(value);
+ assertEquals(expectedResult, result.getValue());
+ }
+
+ /**
+ * Test method for
+ * {@link EMFFormsLabelProviderDefaultImpl#getDisplayName(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetDisplayNameTwoParamsReferenceNull() {
+ labelProvider.getDisplayName(null, mock(EObject.class));
+ }
+
+ /**
+ * Test method for
+ * {@link EMFFormsLabelProviderDefaultImpl#getDisplayName(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetDisplayNameTwoParamsObjectNull() {
+ labelProvider.getDisplayName(mock(VDomainModelReference.class), null);
+ }
+
+ /**
+ * Test method for
+ * {@link EMFFormsLabelProviderDefaultImpl#getDisplayName(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetDisplayNameTwoParamsBothNull() {
+ labelProvider.getDisplayName(null, null);
+ }
+
+ /**
+ * Test method for
+ * {@link EMFFormsLabelProviderDefaultImpl#getDescription(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)}
+ * .
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ */
+ @Test
+ public void testGetDescriptionOneParam() throws DatabindingFailedException {
+ final String expectedResult = "expected"; //$NON-NLS-1$
+ final EStructuralFeature structuralFeature = mock(EStructuralFeature.class);
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+
+ when(structuralFeature.getEContainingClass()).thenReturn(TestPackage.eINSTANCE.getD());
+ when(itemPropertyDescriptor.getDescription(any(Object.class))).thenReturn(expectedResult);
+ when(valueProperty.getValueType()).thenReturn(structuralFeature);
+ when(databindingService.getValueProperty(domainModelReference, null)).thenReturn(valueProperty);
+
+ final IObservableValue result = labelProvider.getDescription(domainModelReference);
+
+ verify(databindingService).getValueProperty(domainModelReference, null);
+ verify(itemPropertyDescriptor).getDescription(any(D.class));
+ assertEquals(expectedResult, result.getValue());
+ }
+
+ /**
+ * Test method for
+ * {@link EMFFormsLabelProviderDefaultImpl#getDescription(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference)}
+ * .
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetDescriptionOneParamNull() {
+ labelProvider.getDescription(null);
+ }
+
+ /**
+ * Test method for
+ * {@link EMFFormsLabelProviderDefaultImpl#getDescription(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ */
+ @Test
+ public void testGetDescriptionTwoParams() throws DatabindingFailedException {
+ final String expectedResult = "expected"; //$NON-NLS-1$
+ final EObject eObject = mock(EObject.class);
+ final EObject value = mock(EObject.class);
+ final EStructuralFeature structuralFeature = mock(EStructuralFeature.class);
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+
+ when(itemPropertyDescriptor.getDescription(value)).thenReturn(expectedResult);
+ when(observableValue.getValueType()).thenReturn(structuralFeature);
+ when(observableValue.getObserved()).thenReturn(value);
+ when(databindingService.getObservableValue(domainModelReference, eObject)).thenReturn(observableValue);
+ final IObservableValue result = labelProvider.getDescription(domainModelReference, eObject);
+
+ verify(databindingService).getObservableValue(domainModelReference, eObject);
+ verify(itemPropertyDescriptor).getDescription(value);
+ assertEquals(expectedResult, result.getValue());
+ }
+
+ /**
+ * Test method for
+ * {@link EMFFormsLabelProviderDefaultImpl#getDescription(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetDescriptionTwoParamsReferenceNull() {
+ labelProvider.getDescription(null, mock(EObject.class));
+ }
+
+ /**
+ * Test method for
+ * {@link EMFFormsLabelProviderDefaultImpl#getDescription(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetDescriptionTwoParamsObjectNull() {
+ labelProvider.getDescription(mock(VDomainModelReference.class), null);
+ }
+
+ /**
+ * Test method for
+ * {@link EMFFormsLabelProviderDefaultImpl#getDescription(org.eclipse.emf.ecp.view.spi.model.VDomainModelReference, org.eclipse.emf.ecore.EObject)}
+ * .
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetDescriptionTwoParamsBothNull() {
+ labelProvider.getDescription(null, null);
+ }
+}
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl_ITest.java b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl_ITest.java
new file mode 100644
index 0000000..f0d9e3b
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl_ITest.java
@@ -0,0 +1,212 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.label;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.same;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.reset;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+import org.eclipse.emfforms.internal.core.services.label.BundleResolver.NoBundleFoundException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ * JUnit integration test that tests that {@link EMFFormsLabelProviderImpl} uses the correct services.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFFormsLabelProviderImpl_ITest {
+
+ private static BundleContext bundleContext;
+ private static EMFFormsDatabinding databindingService;
+ private static ServiceRegistration<EMFFormsDatabinding> databindingRegisterService;
+ private static EMFFormsLabelProviderImpl labelProvider;
+ private static ServiceReference<EMFFormsLabelProvider> serviceReference;
+ private static EMFFormsLocalizationService localizationService;
+ private static ServiceRegistration<EMFFormsLocalizationService> localizationServiceReference;
+ private static IValueProperty valueProperty;
+ private DefaultRealm realm;
+
+ /**
+ * Set up that is executed before every test case.
+ * Registers a databinding and an emf specific service.
+ * Mocks various objects for the tests.
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ * @throws NoBundleFoundException
+ */
+ @BeforeClass
+ public static void setUpBeforeClass() throws DatabindingFailedException, NoBundleFoundException {
+ bundleContext = FrameworkUtil.getBundle(EMFFormsLabelProviderImpl_Test.class).getBundleContext();
+
+ final Dictionary<String, Object> dictionary = new Hashtable<String, Object>();
+ dictionary.put("service.ranking", 5); //$NON-NLS-1$
+
+ databindingService = mock(EMFFormsDatabinding.class);
+ databindingRegisterService = bundleContext.registerService(EMFFormsDatabinding.class, databindingService,
+ dictionary);
+
+ localizationService = mock(EMFFormsLocalizationService.class);
+ localizationServiceReference = bundleContext.registerService(EMFFormsLocalizationService.class,
+ localizationService,
+ dictionary);
+
+ final EClass eContainingClass = TestPackage.eINSTANCE.getD();
+ final EStructuralFeature structuralFeature = mock(EStructuralFeature.class);
+ when(structuralFeature.getEContainingClass()).thenReturn(eContainingClass);
+ when(structuralFeature.getName()).thenReturn("My Feature"); //$NON-NLS-1$
+ valueProperty = mock(IValueProperty.class);
+ when(valueProperty.getValueType()).thenReturn(structuralFeature);
+ final EObject eObject = mock(EObject.class);
+ final EClass eClass = mock(EClass.class);
+ when(eClass.getName()).thenReturn("My EClass"); //$NON-NLS-1$
+ when(eObject.eClass()).thenReturn(eClass);
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ valueProperty);
+
+ final Bundle bundle = mock(Bundle.class);
+ final BundleResolver bundleResolver = mock(BundleResolver.class);
+ when(bundleResolver.getEditBundle(eContainingClass)).thenReturn(bundle);
+
+ when(localizationService.getString(same(bundle), any(String.class))).thenReturn("Test"); //$NON-NLS-1$
+
+ serviceReference = bundleContext.getServiceReference(EMFFormsLabelProvider.class);
+ labelProvider = (EMFFormsLabelProviderImpl) bundleContext.getService(serviceReference);
+ labelProvider.setBundleResolver(bundleResolver);
+ }
+
+ /**
+ * Resets and newly configures the services for every test.
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ */
+ @Before
+ public void setUp() throws DatabindingFailedException {
+ reset(databindingService);
+ when(databindingService.getValueProperty(any(VDomainModelReference.class), any(EObject.class))).thenReturn(
+ valueProperty);
+ realm = new DefaultRealm();
+ }
+
+ /**
+ * Dispose the realm.
+ */
+ @After
+ public void tearDown() {
+ realm.dispose();
+ }
+
+ /**
+ * Unregisters the services after every test.
+ */
+ @AfterClass
+ public static void tearDownAfterClass() {
+ databindingRegisterService.unregister();
+ localizationServiceReference.unregister();
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * Tests that {@link EMFFormsLabelProviderImpl#getDisplayName(VDomainModelReference)} uses the databinding and emf
+ * specific services.
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ * @throws NoLabelFoundException
+ */
+ @Test
+ public void testServiceUsageDisplayNameOneParam() throws DatabindingFailedException, NoLabelFoundException {
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ labelProvider.getDisplayName(domainModelReference);
+
+ verify(databindingService).getValueProperty(same(domainModelReference), any(EObject.class));
+ }
+
+ /**
+ * Tests that {@link EMFFormsLabelProviderImpl#getDescription(VDomainModelReference)} uses the databinding and emf
+ * specific services.
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ * @throws NoLabelFoundException
+ */
+ @Test
+ public void testServiceUsageDescriptionOneParam() throws DatabindingFailedException, NoLabelFoundException {
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ labelProvider.getDescription(domainModelReference);
+
+ verify(databindingService).getValueProperty(same(domainModelReference), any(EObject.class));
+ }
+
+ /**
+ * Tests that {@link EMFFormsLabelProviderImpl#getDisplayName(VDomainModelReference, EObject)} uses the databinding
+ * and emf specific services.
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ * @throws NoLabelFoundException
+ */
+ @Test
+ public void testServiceUsageDisplayNameTwoParam() throws DatabindingFailedException, NoLabelFoundException {
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ final EObject eObject = mock(EObject.class);
+ labelProvider.getDisplayName(domainModelReference, eObject);
+
+ verify(databindingService).getValueProperty(domainModelReference, eObject);
+ }
+
+ /**
+ * Tests that {@link EMFFormsLabelProviderImpl#getDescription(VDomainModelReference, EObject)} uses the databinding
+ * and emf specific services.
+ *
+ * @throws DatabindingFailedException should not happen, just needs to be thrown because the databinding service
+ * defines the throw in its interface.
+ * @throws NoLabelFoundException
+ */
+ @Test
+ public void testServiceUsageDescriptionTwoParam() throws DatabindingFailedException, NoLabelFoundException {
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ final EObject eObject = mock(EObject.class);
+ labelProvider.getDescription(domainModelReference, eObject);
+
+ verify(databindingService).getValueProperty(domainModelReference, eObject);
+ }
+}
diff --git a/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl_Test.java b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl_Test.java
new file mode 100644
index 0000000..633861b
--- /dev/null
+++ b/tests/org.eclipse.emfforms.core.services.emf.tests/src/org/eclipse/emfforms/internal/core/services/label/EMFFormsLabelProviderImpl_Test.java
@@ -0,0 +1,357 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.core.services.label;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.text.MessageFormat;
+
+import org.eclipse.core.databinding.observable.IObserving;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emfforms.internal.core.services.label.BundleResolver.NoBundleFoundException;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.NoLabelFoundException;
+import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.osgi.framework.Bundle;
+
+public class EMFFormsLabelProviderImpl_Test {
+
+ /**
+ * Helper Interface for mocking.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+ public interface TestObservableValue extends IObservableValue, IObserving {
+ }
+
+ private EMFFormsLabelProviderImpl labelProvider;
+ private EMFFormsDatabinding databinding;
+ private DefaultRealm realm;
+
+ @Before
+ public void setup() {
+ labelProvider = new EMFFormsLabelProviderImpl();
+ databinding = mock(EMFFormsDatabinding.class);
+ labelProvider.setEMFFormsDatabinding(databinding);
+ realm = new DefaultRealm();
+ }
+
+ @After
+ public void tearDown() {
+ realm.dispose();
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetDisplayNameVDomainModelReferenceNull() throws NoLabelFoundException {
+ labelProvider.getDisplayName(null);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(expected = NoLabelFoundException.class)
+ public void testGetDisplayNameVDomainModelReferenceThrowDatabindingException() throws NoLabelFoundException,
+ DatabindingFailedException {
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ when(databinding.getValueProperty(domainModelReference, null)).thenThrow(DatabindingFailedException.class);
+
+ final ReportService reportService = mock(ReportService.class);
+ labelProvider.setReportService(reportService);
+ labelProvider.getDisplayName(domainModelReference);
+ verify(reportService).report(any(DatabindingFailedReport.class));
+ }
+
+ @Test
+ public void testGetDisplayNameVDomainModelReference() throws NoLabelFoundException, DatabindingFailedException,
+ NoBundleFoundException {
+ final Bundle mockedBundle = mock(Bundle.class);
+ final BundleResolver bundleResolver = mock(BundleResolver.class);
+ when(bundleResolver.getEditBundle(any(EClass.class))).thenReturn(mockedBundle);
+ labelProvider.setBundleResolver(bundleResolver);
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ final IValueProperty valueProperty = mock(IValueProperty.class);
+ when(databinding.getValueProperty(domainModelReference, null)).thenReturn(valueProperty);
+ final EStructuralFeature eStructuralFeature = mock(EStructuralFeature.class);
+ when(eStructuralFeature.getEContainingClass()).thenReturn(EcorePackage.eINSTANCE.getEObject());
+ when(valueProperty.getValueType()).thenReturn(eStructuralFeature);
+
+ final EMFFormsLocalizationService localizationService = mock(EMFFormsLocalizationService.class);
+ labelProvider.setEMFFormsLocalizationService(localizationService);
+
+ final String key = String.format(
+ "_UI_%1$s_%2$s_feature", EcorePackage.eINSTANCE.getEObject().getName(), eStructuralFeature.getName()); //$NON-NLS-1$
+ final String value = "My Value"; //$NON-NLS-1$
+ when(localizationService.getString(mockedBundle, key)).thenReturn(value);
+
+ final IObservableValue displayName = labelProvider.getDisplayName(domainModelReference);
+ assertEquals(value, displayName.getValue());
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetDisplayNameVDomainModelReferenceNullEObject() throws NoLabelFoundException {
+ labelProvider.getDisplayName(null, mock(EObject.class));
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetDisplayNameVDomainModelReferenceEObjectNull() throws NoLabelFoundException {
+ labelProvider.getDisplayName(mock(VDomainModelReference.class), null);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(expected = NoLabelFoundException.class)
+ public void testGetDisplayNameVDomainModelReferenceEObjectThrowDatabindingException() throws NoLabelFoundException,
+ DatabindingFailedException, NoBundleFoundException {
+ final Bundle mockedBundle = mock(Bundle.class);
+ final BundleResolver bundleResolver = mock(BundleResolver.class);
+ when(bundleResolver.getEditBundle(any(EClass.class))).thenReturn(mockedBundle);
+ labelProvider.setBundleResolver(bundleResolver);
+
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ final EObject eObject = mock(EObject.class);
+ when(databinding.getValueProperty(domainModelReference, eObject)).thenThrow(DatabindingFailedException.class);
+
+ final ReportService reportService = mock(ReportService.class);
+ labelProvider.setReportService(reportService);
+ labelProvider.getDisplayName(domainModelReference, eObject);
+ verify(reportService).report(any(DatabindingFailedReport.class));
+ }
+
+ @Test
+ public void testGetDisplayNameVDomainModelReferenceEObject() throws NoLabelFoundException,
+ DatabindingFailedException, NoBundleFoundException {
+ final Bundle mockedBundle = mock(Bundle.class);
+ final BundleResolver bundleResolver = mock(BundleResolver.class);
+ when(bundleResolver.getEditBundle(any(EClass.class))).thenReturn(mockedBundle);
+ labelProvider.setBundleResolver(bundleResolver);
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ final EObject eObject = EcoreFactory.eINSTANCE.createEObject();
+ final IValueProperty valueProperty = mock(IValueProperty.class);
+ final EStructuralFeature eStructuralFeature = mock(EStructuralFeature.class);
+ when(eStructuralFeature.getEContainingClass()).thenReturn(EcorePackage.eINSTANCE.getEObject());
+ when(valueProperty.getValueType()).thenReturn(eStructuralFeature);
+
+ when(databinding.getValueProperty(domainModelReference, eObject)).thenReturn(valueProperty);
+
+ final EMFFormsLocalizationService localizationService = mock(EMFFormsLocalizationService.class);
+ labelProvider.setEMFFormsLocalizationService(localizationService);
+
+ final String key = String.format(
+ "_UI_%1$s_%2$s_feature", EcorePackage.eINSTANCE.getEObject().getName(), eStructuralFeature.getName()); //$NON-NLS-1$
+ final String value = "My Value"; //$NON-NLS-1$
+ when(localizationService.getString(mockedBundle, key)).thenReturn(value);
+
+ final IObservableValue displayName = labelProvider.getDisplayName(domainModelReference, eObject);
+ assertEquals(value, displayName.getValue());
+
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetDescriptionVDomainModelReferenceNull() throws NoLabelFoundException {
+ labelProvider.getDescription(null);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(expected = NoLabelFoundException.class)
+ public void testGetDescriptionVDomainModelReferenceThrowDatabindingException() throws NoLabelFoundException,
+ DatabindingFailedException {
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ when(databinding.getValueProperty(domainModelReference, null)).thenThrow(DatabindingFailedException.class);
+
+ final ReportService reportService = mock(ReportService.class);
+ labelProvider.setReportService(reportService);
+ labelProvider.getDescription(domainModelReference);
+ verify(reportService).report(any(DatabindingFailedReport.class));
+ }
+
+ @Test
+ public void testGetDescriptionVDomainModelReference() throws NoLabelFoundException, DatabindingFailedException,
+ NoBundleFoundException {
+ final Bundle mockedBundle = mock(Bundle.class);
+ final BundleResolver bundleResolver = mock(BundleResolver.class);
+ when(bundleResolver.getEditBundle(any(EClass.class))).thenReturn(mockedBundle);
+ labelProvider.setBundleResolver(bundleResolver);
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+
+ final IValueProperty valueProperty = mock(IValueProperty.class);
+ when(databinding.getValueProperty(domainModelReference, null)).thenReturn(valueProperty);
+ final EStructuralFeature eStructuralFeature = mock(EStructuralFeature.class);
+ when(eStructuralFeature.getName()).thenReturn("myFeature"); //$NON-NLS-1$
+ when(eStructuralFeature.getEContainingClass()).thenReturn(EcorePackage.eINSTANCE.getEObject());
+ when(valueProperty.getValueType()).thenReturn(eStructuralFeature);
+
+ final EMFFormsLocalizationService localizationService = mock(EMFFormsLocalizationService.class);
+ final String descriptionKey = String.format(
+ "_UI_%1$s_%2$s_description", EcorePackage.eINSTANCE.getEObject().getName(), eStructuralFeature.getName()); //$NON-NLS-1$
+ when(localizationService.getString(any(Class.class), eq(descriptionKey))).thenReturn(descriptionKey);
+ labelProvider.setEMFFormsLocalizationService(localizationService);
+
+ final String key = String.format(
+ "_UI_%1$s_%2$s_feature", EcorePackage.eINSTANCE.getEObject().getName(), eStructuralFeature.getName()); //$NON-NLS-1$
+ final String featureText = "My Feature"; //$NON-NLS-1$
+ when(localizationService.getString(mockedBundle, key)).thenReturn(featureText);
+ final String descriptionPlaceHolder = "My Description {1} {2}"; //$NON-NLS-1$
+ when(localizationService.getString(mockedBundle, "_UI_PropertyDescriptor_description")) //$NON-NLS-1$
+ .thenReturn(descriptionPlaceHolder);
+ final String eObjectText = "My EObject"; //$NON-NLS-1$
+ when(
+ localizationService.getString(mockedBundle,
+ String.format("_UI_%1$s_type", EcorePackage.eINSTANCE.getEObject().getName()))).thenReturn(eObjectText); //$NON-NLS-1$
+
+ final IObservableValue description = labelProvider.getDescription(domainModelReference);
+ assertEquals(MessageFormat.format(descriptionPlaceHolder, featureText, eObjectText), description.getValue());
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetDescriptionVDomainModelReferenceNullEObject() throws NoLabelFoundException {
+ labelProvider.getDescription(null, mock(EObject.class));
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testGetDescriptionVDomainModelReferenceEObjectNull() throws NoLabelFoundException {
+ labelProvider.getDescription(mock(VDomainModelReference.class), null);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(expected = NoLabelFoundException.class)
+ public void testGetDescriptionVDomainModelReferenceEObjectThrowDatabindingException() throws NoLabelFoundException,
+ DatabindingFailedException, NoBundleFoundException {
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ final EObject eObject = mock(EObject.class);
+ when(databinding.getValueProperty(domainModelReference, eObject)).thenThrow(DatabindingFailedException.class);
+
+ final ReportService reportService = mock(ReportService.class);
+ labelProvider.setReportService(reportService);
+ labelProvider.getDescription(domainModelReference, eObject);
+ verify(reportService).report(any(DatabindingFailedReport.class));
+ }
+
+ @Test
+ public void testGetDescriptionVDomainModelReferenceEObject() throws NoLabelFoundException,
+ DatabindingFailedException, NoBundleFoundException {
+ final Bundle mockedBundle = mock(Bundle.class);
+ final BundleResolver bundleResolver = mock(BundleResolver.class);
+ when(bundleResolver.getEditBundle(any(EClass.class))).thenReturn(mockedBundle);
+ labelProvider.setBundleResolver(bundleResolver);
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ final EObject eObject = EcoreFactory.eINSTANCE.createEObject();
+ final EStructuralFeature eStructuralFeature = mock(EStructuralFeature.class);
+ final IValueProperty valueProperty = mock(IValueProperty.class);
+ when(eStructuralFeature.getEContainingClass()).thenReturn(EcorePackage.eINSTANCE.getEObject());
+ when(valueProperty.getValueType()).thenReturn(eStructuralFeature);
+
+ when(databinding.getValueProperty(domainModelReference, eObject)).thenReturn(valueProperty);
+
+ final EMFFormsLocalizationService localizationService = mock(EMFFormsLocalizationService.class);
+ labelProvider.setEMFFormsLocalizationService(localizationService);
+
+ final String descriptionKey = String.format(
+ "_UI_%1$s_%2$s_description", EcorePackage.eINSTANCE.getEObject().getName(), eStructuralFeature.getName()); //$NON-NLS-1$
+ when(localizationService.getString(any(Class.class), eq(descriptionKey))).thenReturn(descriptionKey);
+
+ final String key = String.format(
+ "_UI_%1$s_%2$s_feature", EcorePackage.eINSTANCE.getEObject().getName(), eStructuralFeature.getName()); //$NON-NLS-1$
+ final String featureText = "My Feature"; //$NON-NLS-1$
+ when(localizationService.getString(mockedBundle, key)).thenReturn(featureText);
+ final String descriptionPlaceHolder = "My Description {1} {2}"; //$NON-NLS-1$
+ when(localizationService.getString(mockedBundle, "_UI_PropertyDescriptor_description")) //$NON-NLS-1$
+ .thenReturn(descriptionPlaceHolder);
+ final String eObjectText = "My EObject"; //$NON-NLS-1$
+ when(
+ localizationService.getString(mockedBundle,
+ String.format("_UI_%1$s_type", EcorePackage.eINSTANCE.getEObject().getName()))).thenReturn(eObjectText); //$NON-NLS-1$
+
+ final IObservableValue description = labelProvider.getDescription(domainModelReference, eObject);
+ assertEquals(MessageFormat.format(descriptionPlaceHolder, featureText, eObjectText), description.getValue());
+ }
+
+ @Test
+ public void testNotifyLocaleChange() throws NoLabelFoundException, DatabindingFailedException,
+ NoBundleFoundException {
+ final Bundle mockedBundle = mock(Bundle.class);
+ final BundleResolver bundleResolver = mock(BundleResolver.class);
+ when(bundleResolver.getEditBundle(any(EClass.class))).thenReturn(mockedBundle);
+ labelProvider.setBundleResolver(bundleResolver);
+ final VDomainModelReference domainModelReference = mock(VDomainModelReference.class);
+ final EObject eObject = EcoreFactory.eINSTANCE.createEObject();
+ final IValueProperty valueProperty = mock(IValueProperty.class);
+ final EStructuralFeature eStructuralFeature = mock(EStructuralFeature.class);
+ when(eStructuralFeature.getEContainingClass()).thenReturn(EcorePackage.eINSTANCE.getEObject());
+ when(valueProperty.getValueType()).thenReturn(eStructuralFeature);
+
+ when(databinding.getValueProperty(domainModelReference, eObject)).thenReturn(valueProperty);
+
+ final EMFFormsLocalizationService localizationService = mock(EMFFormsLocalizationService.class);
+ labelProvider.setEMFFormsLocalizationService(localizationService);
+
+ final String descriptionKey = String.format(
+ "_UI_%1$s_%2$s_description", EcorePackage.eINSTANCE.getEObject().getName(), eStructuralFeature.getName()); //$NON-NLS-1$
+ when(localizationService.getString(any(Class.class), eq(descriptionKey))).thenReturn(descriptionKey);
+
+ final String keyDisplayName = String.format(
+ "_UI_%1$s_%2$s_feature", EcorePackage.eINSTANCE.getEObject().getName(), eStructuralFeature.getName()); //$NON-NLS-1$
+ final String valueDisplayName = "My Value"; //$NON-NLS-1$
+ final String valueDisplayNameNew = "My Value New"; //$NON-NLS-1$
+
+ final String keyDescription = String.format(
+ "_UI_%1$s_%2$s_feature", EcorePackage.eINSTANCE.getEObject().getName(), eStructuralFeature.getName()); //$NON-NLS-1$
+ final String featureText = "My Feature"; //$NON-NLS-1$
+ final String descriptionPlaceHolder = "My Description {1} {2}"; //$NON-NLS-1$
+ final String eObjectText = "My EObject"; //$NON-NLS-1$
+ final String descriptionPlaceHolderNew = "My Description {1} {2} New"; //$NON-NLS-1$
+ final String valueDescription = MessageFormat.format(descriptionPlaceHolder, featureText, eObjectText);
+ final String valueDescriptionNew = MessageFormat.format(descriptionPlaceHolderNew, featureText, eObjectText);
+
+ when(localizationService.getString(mockedBundle, keyDescription)).thenReturn(featureText);
+ when(localizationService.getString(mockedBundle, "_UI_PropertyDescriptor_description")) //$NON-NLS-1$
+ .thenReturn(descriptionPlaceHolder, descriptionPlaceHolderNew);
+ when(
+ localizationService.getString(mockedBundle,
+ String.format("_UI_%1$s_type", EcorePackage.eINSTANCE.getEObject().getName()))).thenReturn(eObjectText); //$NON-NLS-1$
+ when(localizationService.getString(mockedBundle, keyDisplayName)).thenReturn(valueDisplayName,
+ valueDisplayNameNew);
+
+ final IObservableValue labelObservableValue = labelProvider.getDisplayName(domainModelReference, eObject);
+ final IObservableValue descriptionObservableValue = labelProvider.getDescription(domainModelReference, eObject);
+ assertEquals(valueDisplayName, labelObservableValue.getValue());
+ assertEquals(valueDescription, descriptionObservableValue.getValue());
+
+ labelProvider.notifyLocaleChange();
+ assertEquals(valueDisplayNameNew, labelObservableValue.getValue());
+ assertEquals(valueDescriptionNew, descriptionObservableValue.getValue());
+ }
+
+ @Test
+ public void testSetEMFFormsLocaleProvider() {
+ final EMFFormsLocaleProvider localeProvider = mock(EMFFormsLocaleProvider.class);
+ labelProvider.setEMFFormsLocaleProvider(localeProvider);
+ verify(localeProvider).addEMFFormsLocaleChangeListener(labelProvider);
+ }
+}
diff --git a/tests/org.eclipse.emfforms.localization.tests/.checkstyle b/tests/org.eclipse.emfforms.localization.tests/.checkstyle
new file mode 100644
index 0000000..24d357f
--- /dev/null
+++ b/tests/org.eclipse.emfforms.localization.tests/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/tests/org.eclipse.emfforms.localization.tests/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to tests/org.eclipse.emfforms.localization.tests/.classpath
diff --git a/tests/org.eclipse.emfforms.localization.tests/.project b/tests/org.eclipse.emfforms.localization.tests/.project
new file mode 100644
index 0000000..cae9324
--- /dev/null
+++ b/tests/org.eclipse.emfforms.localization.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.localization.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs
copy to tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emfforms.localization.tests/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emfforms.localization.tests/AllPluginTests localization.launch b/tests/org.eclipse.emfforms.localization.tests/AllPluginTests localization.launch
new file mode 100644
index 0000000..58dc776
--- /dev/null
+++ b/tests/org.eclipse.emfforms.localization.tests/AllPluginTests localization.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.localization.tests/src/org/eclipse/emfforms/internal/localization/tests/AllPluginTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.internal.localization.tests.AllPluginTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.localization.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.emf.cdo.server.product.tcp_h2"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="javax.xml@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-all@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization.tests@default:default,org.eclipse.emfforms.localization@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.localization.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.localization.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..b93639e
--- /dev/null
+++ b/tests/org.eclipse.emfforms.localization.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMF Forms Localization Tests
+Bundle-SymbolicName: org.eclipse.emfforms.localization.tests
+Bundle-Version: 1.6.0.qualifier
+Fragment-Host: org.eclipse.emfforms.localization;bundle-version="[1.6.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit;bundle-version="4.11.0",
+ org.mockito.mockito-all;bundle-version="1.9.5",
+ org.eclipse.equinox.ds;bundle-version="[1.4.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.localization.tests;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.spi.localization;version="1.6.0"
diff --git a/tests/org.eclipse.emfforms.localization.tests/OSGI-INF/l10n/bundle.properties b/tests/org.eclipse.emfforms.localization.tests/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..4e4c487
--- /dev/null
+++ b/tests/org.eclipse.emfforms.localization.tests/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1 @@
+testKey=Test Value
\ No newline at end of file
diff --git a/tests/org.eclipse.emfforms.localization.tests/OSGI-INF/l10n/bundle_test.properties b/tests/org.eclipse.emfforms.localization.tests/OSGI-INF/l10n/bundle_test.properties
new file mode 100644
index 0000000..66d8f93
--- /dev/null
+++ b/tests/org.eclipse.emfforms.localization.tests/OSGI-INF/l10n/bundle_test.properties
@@ -0,0 +1 @@
+testKey=The Translated Test Value
\ No newline at end of file
diff --git a/tests/org.eclipse.emfforms.localization.tests/build.properties b/tests/org.eclipse.emfforms.localization.tests/build.properties
new file mode 100644
index 0000000..c58ea21
--- /dev/null
+++ b/tests/org.eclipse.emfforms.localization.tests/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ OSGI-INF/
diff --git a/tests/org.eclipse.emfforms.localization.tests/pom.xml b/tests/org.eclipse.emfforms.localization.tests/pom.xml
new file mode 100644
index 0000000..73651ea
--- /dev/null
+++ b/tests/org.eclipse.emfforms.localization.tests/pom.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emfforms.localization.tests</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>false</useUIHarness>
+ <useUIThread>false</useUIThread>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/tests/org.eclipse.emfforms.localization.tests/src/org/eclipse/emfforms/internal/localization/tests/AllPluginTests.java b/tests/org.eclipse.emfforms.localization.tests/src/org/eclipse/emfforms/internal/localization/tests/AllPluginTests.java
new file mode 100644
index 0000000..dfe2b48
--- /dev/null
+++ b/tests/org.eclipse.emfforms.localization.tests/src/org/eclipse/emfforms/internal/localization/tests/AllPluginTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.localization.tests;
+
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper_PTest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * JUnit Plugin Test Suite for emfforms.localization .
+ *
+ * @author Eugen Neufeld
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ LocalizationServiceHelper_PTest.class })
+public class AllPluginTests {
+ // JUnit 4 Test Suite
+}
diff --git a/tests/org.eclipse.emfforms.localization.tests/src/org/eclipse/emfforms/spi/localization/LocalizationServiceHelper_PTest.java b/tests/org.eclipse.emfforms.localization.tests/src/org/eclipse/emfforms/spi/localization/LocalizationServiceHelper_PTest.java
new file mode 100644
index 0000000..e34322e
--- /dev/null
+++ b/tests/org.eclipse.emfforms.localization.tests/src/org/eclipse/emfforms/spi/localization/LocalizationServiceHelper_PTest.java
@@ -0,0 +1,78 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.localization;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.Locale;
+
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ * Plugin tests for the LocalizationServiceHelper.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class LocalizationServiceHelper_PTest {
+
+ private static final String TEST_KEY = "testKey"; //$NON-NLS-1$
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.localization.LocalizationServiceHelper#getString(java.lang.Class, java.lang.String)}
+ * .
+ */
+ @Test
+ public void testGetStringWithoutLocaleProvider() {
+ final String string = LocalizationServiceHelper.getString(getClass(), TEST_KEY);
+ assertEquals("Test Value", string); //$NON-NLS-1$
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.localization.LocalizationServiceHelper#getString(java.lang.Class, java.lang.String)}
+ * .
+ */
+ @Test
+ public void testGetUndefinedStringWithoutLocaleProvider() {
+ final String myKey = "MyKey"; //$NON-NLS-1$
+ final String string = LocalizationServiceHelper.getString(getClass(), myKey);
+ assertEquals(myKey, string);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.localization.LocalizationServiceHelper#getString(java.lang.Class, java.lang.String)}
+ * .
+ */
+ @Test
+ public void testGetStringWithLocaleProvider() {
+ final BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ final Locale locale = new Locale("test"); //$NON-NLS-1$
+ final EMFFormsLocaleProvider localeProvider = Mockito.mock(EMFFormsLocaleProvider.class);
+ Mockito.when(localeProvider.getLocale()).thenReturn(locale);
+ final ServiceRegistration<EMFFormsLocaleProvider> registerService = bundleContext.registerService(
+ EMFFormsLocaleProvider.class, localeProvider, null);
+
+ final String string = LocalizationServiceHelper.getString(getClass(), TEST_KEY);
+
+ assertEquals("The Translated Test Value", string); //$NON-NLS-1$
+ registerService.unregister();
+ }
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.checkstyle b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.checkstyle
new file mode 100644
index 0000000..24d357f
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.classpath
diff --git a/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.project b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.project
new file mode 100644
index 0000000..cddd591
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.swt.control.text.autocomplete.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.core.prefs
copy to tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.core.prefs b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.pde.core.prefs
similarity index 100%
copy from examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.core.prefs
copy to tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.pde.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..6861301
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms SWT Text Control with Autocomplete Tests
+Bundle-SymbolicName: org.eclipse.emfforms.swt.control.text.autocomplete.tests
+Bundle-Version: 1.6.0.qualifier
+Fragment-Host: org.eclipse.emfforms.swt.control.text.autocomplete;bundle-version="[1.6.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Vendor: Eclipse Modeling Project
+Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emfforms.core.services.databinding.testmodel;bundle-version="[1.6.0,2.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.swt.control.text.autocomplete.tests;version="1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/build.properties b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/pom.xml b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/pom.xml
new file mode 100644
index 0000000..461f1bd
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/pom.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emfforms.swt.control.text.autocomplete.tests</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <includes>
+ <include>**/*_PTest.java</include>
+ <include>**/*_ITest.java</include>
+ <!-- Execute SWT-Related tests with tycho surefire -->
+ <include>**/AutocompleteTextControlSWTRenderer_Test.java</include>
+ <include>**/AutocompleteTextControlSWTRendererService_Test</include>
+ </includes>
+ <testFailureIgnore>true</testFailureIgnore>
+ <useUIHarness>false</useUIHarness>
+ <useUIThread>false</useUIThread>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${mav-surefire-version}</version>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>test</phase>
+ <configuration>
+ <testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
+ <excludes>
+ <!-- Executed with tycho surefire -->
+ <exclude>**/AutocompleteTextControlSWTRenderer_Test.java</exclude>
+ <exclude>**/AutocompleteTextControlSWTRendererService_Test</exclude>
+ </excludes>
+ <testFailureIgnore>true</testFailureIgnore>
+ </configuration>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRendererService_Test.java b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRendererService_Test.java
new file mode 100644
index 0000000..ad0d1ea
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRendererService_Test.java
@@ -0,0 +1,228 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.eclipse.emf.databinding.EMFObservables;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.A;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class AutocompleteTextControlSWTRendererService_Test {
+
+ private static final String ANNOTATION_SOURCE = "org.eclipse.emfforms"; //$NON-NLS-1$
+ private static final String ANNOTATION_KEY = "autocomplete"; //$NON-NLS-1$
+ private static final String ANNOTATION_VALUE = "true"; //$NON-NLS-1$
+
+ private DefaultRealm defaultRealm;
+
+ private AutocompleteTextControlSWTRendererService rendererService;
+ private ViewModelContext viewModelContext;
+ private D domainModel;
+ private A domainModel2;
+ private VControl control;
+ private EMFFormsDatabinding emfFormsDatabinding;
+
+ @Before
+ public void setUp() throws DatabindingFailedException {
+ defaultRealm = new DefaultRealm();
+
+ domainModel = TestFactory.eINSTANCE.createD();
+ domainModel2 = TestFactory.eINSTANCE.createA();
+
+ control = VViewFactory.eINSTANCE.createControl();
+ control.setDomainModelReference(TestPackage.eINSTANCE.getD_X());
+
+ viewModelContext = mock(ViewModelContext.class);
+ when(viewModelContext.getDomainModel()).thenReturn(domainModel);
+
+ emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getObservableValue(control.getDomainModelReference(), domainModel))
+ .thenReturn(EMFObservables.observeValue(domainModel, TestPackage.eINSTANCE.getD_X()));
+
+ rendererService = new AutocompleteTextControlSWTRendererService();
+ rendererService.setDatabinding(emfFormsDatabinding);
+ }
+
+ @After
+ public void tearDown() {
+ defaultRealm.dispose();
+ }
+
+ @Test
+ public void testGetRendererClass() {
+ assertSame(AutocompleteTextControlSWTRenderer.class, rendererService.getRendererClass());
+ }
+
+ @Test
+ public void testHasAutoCompleteAnnotation() {
+ final EAttribute attribute = EcoreFactory.eINSTANCE.createEAttribute();
+ final EAnnotation annotation = EcoreFactory.eINSTANCE.createEAnnotation();
+ annotation.setSource(ANNOTATION_SOURCE);
+ annotation.getDetails().put(ANNOTATION_KEY, ANNOTATION_VALUE);
+ attribute.getEAnnotations().add(annotation);
+ assertTrue(rendererService.hasAutoCompleteAnnotation(attribute));
+ }
+
+ @Test
+ public void testHasAutoCompleteAnnotationInvalidValue() {
+ final EAttribute attribute = EcoreFactory.eINSTANCE.createEAttribute();
+ final EAnnotation annotation = EcoreFactory.eINSTANCE.createEAnnotation();
+ annotation.setSource(ANNOTATION_SOURCE);
+ annotation.getDetails().put(ANNOTATION_KEY, "false"); //$NON-NLS-1$
+ attribute.getEAnnotations().add(annotation);
+ assertFalse(rendererService.hasAutoCompleteAnnotation(attribute));
+ }
+
+ @Test
+ public void testHasAutoCompleteAnnotationNullValue() {
+ final EAttribute attribute = EcoreFactory.eINSTANCE.createEAttribute();
+ final EAnnotation annotation = EcoreFactory.eINSTANCE.createEAnnotation();
+ annotation.setSource(ANNOTATION_SOURCE);
+ annotation.getDetails().put(ANNOTATION_KEY, null);
+ attribute.getEAnnotations().add(annotation);
+ assertFalse(rendererService.hasAutoCompleteAnnotation(attribute));
+ }
+
+ @Test
+ public void testHasAutoCompleteAnnotationEmptyValue() {
+ final EAttribute attribute = EcoreFactory.eINSTANCE.createEAttribute();
+ final EAnnotation annotation = EcoreFactory.eINSTANCE.createEAnnotation();
+ annotation.setSource(ANNOTATION_SOURCE);
+ annotation.getDetails().put(ANNOTATION_KEY, ""); //$NON-NLS-1$
+ attribute.getEAnnotations().add(annotation);
+ assertFalse(rendererService.hasAutoCompleteAnnotation(attribute));
+ }
+
+ @Test
+ public void testHasAutoCompleteAnnotationMissingKey() {
+ final EAttribute attribute = EcoreFactory.eINSTANCE.createEAttribute();
+ final EAnnotation annotation = EcoreFactory.eINSTANCE.createEAnnotation();
+ annotation.setSource(ANNOTATION_SOURCE);
+ attribute.getEAnnotations().add(annotation);
+ assertFalse(rendererService.hasAutoCompleteAnnotation(attribute));
+ }
+
+ @Test
+ public void testHasAutoCompleteAnnotationNoAnnotation() {
+ final EAttribute attribute = EcoreFactory.eINSTANCE.createEAttribute();
+ assertFalse(rendererService.hasAutoCompleteAnnotation(attribute));
+ }
+
+ @Test
+ public void testIsApplicableNoControl() {
+ final VElement element = mock(VElement.class);
+ assertEquals(EMFFormsDIRendererService.NOT_APPLICABLE, rendererService.isApplicable(element, viewModelContext),
+ 0d);
+ }
+
+ @Test
+ public void testIsApplicableNoDMR() {
+ control = VViewFactory.eINSTANCE.createControl();
+ assertEquals(EMFFormsDIRendererService.NOT_APPLICABLE, rendererService.isApplicable(control, viewModelContext),
+ 0d);
+ }
+
+ @Test
+ public void testIsApplicableDataBindingFailed() throws DatabindingFailedException {
+ emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getObservableValue(control.getDomainModelReference(), domainModel))
+ .thenThrow(new DatabindingFailedException("")); //$NON-NLS-1$
+ rendererService.setDatabinding(emfFormsDatabinding);
+ assertEquals(EMFFormsDIRendererService.NOT_APPLICABLE, rendererService.isApplicable(control, viewModelContext),
+ 0d);
+ }
+
+ @Test
+ public void testIsApplicableNoAnnotation() {
+ assertEquals(EMFFormsDIRendererService.NOT_APPLICABLE, rendererService.isApplicable(control, viewModelContext),
+ 0d);
+ }
+
+ @Test
+ public void testIsApplicableMulti() throws DatabindingFailedException {
+ emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getObservableValue(control.getDomainModelReference(), domainModel))
+ .thenReturn(EMFObservables.observeValue(domainModel, TestPackage.eINSTANCE.getD_YList()));
+ rendererService.setDatabinding(emfFormsDatabinding);
+
+ assertEquals(EMFFormsDIRendererService.NOT_APPLICABLE, rendererService.isApplicable(control, viewModelContext),
+ 0d);
+ }
+
+ @Test
+ public void testIsApplicableEReference() throws DatabindingFailedException {
+ emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getObservableValue(control.getDomainModelReference(), domainModel))
+ .thenReturn(EMFObservables.observeValue(domainModel2, TestPackage.eINSTANCE.getA_B()));
+ rendererService.setDatabinding(emfFormsDatabinding);
+
+ assertEquals(EMFFormsDIRendererService.NOT_APPLICABLE, rendererService.isApplicable(control, viewModelContext),
+ 0d);
+
+ }
+
+ @Test
+ public void testIsApplicableNoString() throws DatabindingFailedException {
+
+ emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getObservableValue(control.getDomainModelReference(), domainModel))
+ .thenReturn(
+ EMFObservables.observeValue(TestPackage.eINSTANCE.getD_X(), EcorePackage.eINSTANCE.getEAttribute_ID()));
+ rendererService.setDatabinding(emfFormsDatabinding);
+
+ assertEquals(EMFFormsDIRendererService.NOT_APPLICABLE, rendererService.isApplicable(control, viewModelContext),
+ 0d);
+ }
+
+ @Test
+ public void testIsApplicable() throws DatabindingFailedException {
+ final EAnnotation annotation = EcoreFactory.eINSTANCE.createEAnnotation();
+ annotation.setSource(ANNOTATION_SOURCE);
+ annotation.getDetails().put(ANNOTATION_KEY, ANNOTATION_VALUE);
+
+ final EAttribute attributeSpy = EcoreUtil.copy(TestPackage.eINSTANCE.getD_X());
+ attributeSpy.getEAnnotations().add(annotation);
+
+ emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getObservableValue(control.getDomainModelReference(), domainModel))
+ .thenReturn(
+ EMFObservables.observeValue(domainModel, attributeSpy));
+ rendererService.setDatabinding(emfFormsDatabinding);
+
+ assertEquals(3d, rendererService.isApplicable(control, viewModelContext), 0d);
+ }
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRenderer_Test.java b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRenderer_Test.java
new file mode 100644
index 0000000..6f4984c
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/src/org/eclipse/emfforms/internal/swt/control/text/autocomplete/renderer/AutocompleteTextControlSWTRenderer_Test.java
@@ -0,0 +1,212 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.databinding.Binding;
+import org.eclipse.emf.databinding.EMFObservables;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.D;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestFactory;
+import org.eclipse.emfforms.core.services.databinding.testmodel.test.model.TestPackage;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.swt.control.text.autocomplete.viewservice.AutocompleteViewModelService;
+import org.eclipse.jface.viewers.ComboViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class AutocompleteTextControlSWTRenderer_Test {
+
+ private static final String CONTENT_PROPOSAL_ADAPTER = "ContentProposalAdapter"; //$NON-NLS-1$
+ private static final String FOO = "foo"; //$NON-NLS-1$
+ private static final String BAR = "bar"; //$NON-NLS-1$
+ private static final String FOOBAR = "foobar"; //$NON-NLS-1$
+
+ private static List<String> staticProposals;
+
+ private DefaultRealm defaultRealm;
+
+ private VControl control;
+ private AutocompleteViewModelService autocompleteViewModelService;
+ private ViewModelContext viewModelContext;
+ private EMFFormsDatabinding emfFormsDatabinding;
+ private D domainModel;
+ private Shell shell;
+ private Composite composite;
+
+ @BeforeClass
+ public static void setUpBeforeClass() {
+ staticProposals = new ArrayList<String>();
+ staticProposals.add(FOO);
+ staticProposals.add(BAR);
+ }
+
+ @Before
+ public void setUp() throws DatabindingFailedException {
+ defaultRealm = new DefaultRealm();
+
+ shell = new Shell();
+ composite = new Composite(shell, SWT.NONE);
+
+ domainModel = TestFactory.eINSTANCE.createD();
+ domainModel.setX(FOOBAR);
+
+ control = VViewFactory.eINSTANCE.createControl();
+ control.setDomainModelReference(TestPackage.eINSTANCE.getD_X());
+
+ autocompleteViewModelService = mock(AutocompleteViewModelService.class);
+ when(autocompleteViewModelService.getProposals(any(EObject.class), any(EAttribute.class)))
+ .thenReturn(staticProposals);
+
+ viewModelContext = mock(ViewModelContext.class);
+ when(viewModelContext.getService(AutocompleteViewModelService.class)).thenReturn(autocompleteViewModelService);
+ when(viewModelContext.getDomainModel()).thenReturn(domainModel);
+
+ emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getObservableValue(control.getDomainModelReference(), domainModel))
+ .thenReturn(EMFObservables.observeValue(domainModel, TestPackage.eINSTANCE.getD_X()));
+ }
+
+ @After
+ public void tearDown() {
+ shell.dispose();
+ defaultRealm.dispose();
+ }
+
+ @Test
+ public void testGetProposals() throws DatabindingFailedException {
+ final AutocompleteTextControlSWTRenderer renderer = new AutocompleteTextControlSWTRenderer(
+ control,
+ viewModelContext,
+ mock(ReportService.class),
+ emfFormsDatabinding,
+ mock(EMFFormsLabelProvider.class),
+ mock(VTViewTemplateProvider.class));
+ final List<String> proposals = renderer.getProposals();
+ assertSame(staticProposals, proposals);
+ }
+
+ @Test
+ public void testGetProposalsNoService() throws DatabindingFailedException {
+ viewModelContext = mock(ViewModelContext.class);
+ when(viewModelContext.getService(AutocompleteViewModelService.class)).thenReturn(null);
+ when(viewModelContext.getDomainModel()).thenReturn(domainModel);
+ final AutocompleteTextControlSWTRenderer renderer = new AutocompleteTextControlSWTRenderer(
+ control,
+ viewModelContext,
+ mock(ReportService.class),
+ emfFormsDatabinding,
+ mock(EMFFormsLabelProvider.class),
+ mock(VTViewTemplateProvider.class));
+ final List<String> proposals = renderer.getProposals();
+ assertTrue(proposals.isEmpty());
+ }
+
+ @Test(expected = DatabindingFailedException.class)
+ public void testGetProposalsDatabindingFailed() throws DatabindingFailedException {
+ emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ when(emfFormsDatabinding.getObservableValue(control.getDomainModelReference(), domainModel))
+ .thenThrow(new DatabindingFailedException("")); //$NON-NLS-1$
+ final AutocompleteTextControlSWTRenderer renderer = new AutocompleteTextControlSWTRenderer(
+ control,
+ viewModelContext,
+ mock(ReportService.class),
+ emfFormsDatabinding,
+ mock(EMFFormsLabelProvider.class),
+ mock(VTViewTemplateProvider.class));
+ renderer.getProposals();
+ }
+
+ @Test
+ public void testCreateJFaceViewer() throws DatabindingFailedException {
+ final AutocompleteTextControlSWTRenderer renderer = new AutocompleteTextControlSWTRenderer(
+ control,
+ viewModelContext,
+ mock(ReportService.class),
+ emfFormsDatabinding,
+ mock(EMFFormsLabelProvider.class),
+ mock(VTViewTemplateProvider.class));
+ final Viewer viewer = renderer.createJFaceViewer(composite);
+ assertTrue(ComboViewer.class.isInstance(viewer));
+ final ComboViewer comboViewer = ComboViewer.class.cast(viewer);
+ assertEquals(1, composite.getChildren().length);
+ assertSame(comboViewer.getCombo(), composite.getChildren()[0]);
+ assertSame(staticProposals, comboViewer.getInput());
+
+ /* check if contentproposal adapters have been set up */
+ /* TODO better way to test this? */
+ final Listener[] keyDownListeners = comboViewer.getCombo().getListeners(SWT.KeyDown);
+ final Listener[] traverseListeners = comboViewer.getCombo().getListeners(SWT.Traverse);
+ final Listener[] modifyListeners = comboViewer.getCombo().getListeners(SWT.Modify);
+
+ assertTrue("Content assist not set up?", hasContentProposalAdapter(keyDownListeners)); //$NON-NLS-1$
+ assertTrue("Content assist not set up?", hasContentProposalAdapter(traverseListeners)); //$NON-NLS-1$
+ assertTrue("Content assist not set up?", hasContentProposalAdapter(modifyListeners)); //$NON-NLS-1$
+ }
+
+ private boolean hasContentProposalAdapter(Listener[] listeners) {
+ for (final Listener listener : listeners) {
+ if (listener.getClass().getName().contains(CONTENT_PROPOSAL_ADAPTER)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Test
+ public void testCreateBindings() throws DatabindingFailedException {
+ final AutocompleteTextControlSWTRenderer renderer = new AutocompleteTextControlSWTRenderer(
+ control,
+ viewModelContext,
+ mock(ReportService.class),
+ emfFormsDatabinding,
+ mock(EMFFormsLabelProvider.class),
+ mock(VTViewTemplateProvider.class));
+ final Viewer viewer = renderer.createJFaceViewer(composite);
+ final Combo combo = ComboViewer.class.cast(viewer).getCombo();
+ final Binding[] bindings = renderer.createBindings(viewer);
+ assertEquals(1, bindings.length);
+
+ domainModel.setX(FOO);
+ assertEquals(FOO, combo.getText());
+
+ combo.setText(BAR);
+ assertEquals(BAR, domainModel.getX());
+ }
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/src/org/eclipse/emfforms/swt/control/text/autocomplete/tests/AllTests.java b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/src/org/eclipse/emfforms/swt/control/text/autocomplete/tests/AllTests.java
new file mode 100644
index 0000000..fd4e717
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.control.text.autocomplete.tests/src/org/eclipse/emfforms/swt/control/text/autocomplete/tests/AllTests.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.swt.control.text.autocomplete.tests;
+
+import org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer.AutocompleteTextControlSWTRendererService_Test;
+import org.eclipse.emfforms.internal.swt.control.text.autocomplete.renderer.AutocompleteTextControlSWTRenderer_Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+@RunWith(Suite.class)
+@SuiteClasses({
+ AutocompleteTextControlSWTRenderer_Test.class,
+ AutocompleteTextControlSWTRendererService_Test.class })
+public class AllTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.checkstyle b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.checkstyle
new file mode 100644
index 0000000..24d357f
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.classpath b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.project b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.project
new file mode 100644
index 0000000..3e1598b
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.swt.core.di.extension.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.extension.tests/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/All Plugin Tests for swt.core.di.extension.launch b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/All Plugin Tests for swt.core.di.extension.launch
new file mode 100644
index 0000000..9cfbf94
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/All Plugin Tests for swt.core.di.extension.launch
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bad_container_name" value="\org.eclipse.emfforms.swt.core.di.extensiontests"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.swt.core.di.extension.tests/src/org/eclipse/emfforms/internal/swt/core/di/extension/tests/AllPluginTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.internal.swt.core.di.extension.tests.AllPluginTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.swt.core.di.extension.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="false"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.di.extension.tests@default:false,org.eclipse.emfforms.swt.core.di.extension@default:default,org.eclipse.emfforms.swt.core.di.tests@default:false,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..6001dcf
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: SWT Core DI Extension Tests
+Bundle-SymbolicName: org.eclipse.emfforms.swt.core.di.extension.tests;singleton:=true
+Bundle-Version: 1.6.0.qualifier
+Fragment-Host: org.eclipse.emfforms.swt.core.di.extension;bundle-version="[1.6.0,2.0.0)"
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.swt.core.di.tests;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)",
+ org.junit;bundle-version="[4.11.0,5.0.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.core.di.extension;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.internal.swt.core.di.extension.tests;version="1.6.0";x-internal:=true
+Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)"
diff --git a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/build.properties b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/build.properties
new file mode 100644
index 0000000..3f78ea4
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ fragment.xml
diff --git a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/fragment.xml b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/fragment.xml
new file mode 100644
index 0000000..fe40908
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/fragment.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<fragment>
+ <extension
+ point="org.eclipse.emfforms.swt.core.di.extension.renderers">
+ <renderer
+ class="org.eclipse.emfforms.internal.swt.core.di.tests.TestControlSWTRendererDI"
+ tester="org.eclipse.emfforms.internal.swt.core.di.extension.tests.TestControlSWTRendererECPTester">
+ </renderer>
+ </extension>
+
+</fragment>
diff --git a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/pom.xml b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/pom.xml
new file mode 100644
index 0000000..84dfc32
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/pom.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emfforms.swt.core.di.extension.tests</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>false</useUIHarness>
+ <useUIThread>false</useUIThread>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/src/org/eclipse/emfforms/internal/swt/core/di/extension/EMFFormsDIExtensionRendererFactory_PTest.java b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/src/org/eclipse/emfforms/internal/swt/core/di/extension/EMFFormsDIExtensionRendererFactory_PTest.java
new file mode 100644
index 0000000..9b6b96c
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/src/org/eclipse/emfforms/internal/swt/core/di/extension/EMFFormsDIExtensionRendererFactory_PTest.java
@@ -0,0 +1,133 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core.di.extension;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Collection;
+
+import org.eclipse.e4.core.contexts.EclipseContextFactory;
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.internal.swt.core.di.tests.TestControlSWTRendererDI;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsContextProvider;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * JUnit plugin test for {@link EMFFormsDIExtensionRendererFactory}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@SuppressWarnings("rawtypes")
+public class EMFFormsDIExtensionRendererFactory_PTest {
+
+ private EMFFormsDIExtensionRendererFactory diExtensionRendererFactory;
+ private ServiceReference<EMFFormsRendererService> serviceReference;
+ private BundleContext bundleContext;
+ private DefaultRealm realm;
+
+ /**
+ * Gets a {@link EMFFormsDIExtensionRendererFactory} and creates a {@link DefaultRealm} for every test case.
+ *
+ * @throws InvalidSyntaxException does not happen because no actual filter is used
+ */
+ @Before
+ public void setUp() throws InvalidSyntaxException {
+ realm = new DefaultRealm();
+ diExtensionRendererFactory = null;
+ bundleContext = FrameworkUtil.getBundle(EMFFormsDIExtensionRendererFactory_PTest.class).getBundleContext();
+ final Collection<ServiceReference<EMFFormsRendererService>> serviceReferences = bundleContext
+ .getServiceReferences(EMFFormsRendererService.class, null);
+ for (final ServiceReference<EMFFormsRendererService> currentRef : serviceReferences) {
+ final EMFFormsRendererService currentService = bundleContext.getService(currentRef);
+ if (EMFFormsDIExtensionRendererFactory.class.isInstance(currentService)) {
+ serviceReference = currentRef;
+ diExtensionRendererFactory = (EMFFormsDIExtensionRendererFactory) currentService;
+ break;
+ }
+ bundleContext.ungetService(currentRef);
+ }
+ if (diExtensionRendererFactory == null) {
+ fail("No EMFFormsDIExtensionRendererFactory could be found."); //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * Clean up.
+ */
+ @After
+ public void tearDown() {
+ bundleContext.ungetService(serviceReference);
+ realm.dispose();
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererFactory#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
+ * .
+ */
+ @Test
+ public void testIsApplicable() {
+ final VControl vControl = mock(VControl.class);
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ assertEquals(200L, diExtensionRendererFactory.isApplicable(vControl, viewModelContext), 0.0);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererFactory#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
+ * .
+ */
+ @Test
+ public void testGetRendererInstance() {
+ final IEclipseContext eclipseContext = EclipseContextFactory.create("TestContext"); //$NON-NLS-1$
+ final ReportService reportService = mock(ReportService.class);
+ final EMFFormsDatabinding emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ final EMFFormsLabelProvider emfFormsLabelProvider = mock(EMFFormsLabelProvider.class);
+ final VTViewTemplateProvider viewTemplateProvider = mock(VTViewTemplateProvider.class);
+ eclipseContext.set(ReportService.class, reportService);
+ eclipseContext.set(EMFFormsDatabinding.class, emfFormsDatabinding);
+ eclipseContext.set(EMFFormsLabelProvider.class, emfFormsLabelProvider);
+ eclipseContext.set(VTViewTemplateProvider.class, viewTemplateProvider);
+
+ final VControl vControl = VViewFactory.eINSTANCE.createControl();
+ final EMFFormsContextProvider contextProvider = mock(EMFFormsContextProvider.class);
+ when(contextProvider.getContext()).thenReturn(eclipseContext);
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ when(viewModelContext.getService(EMFFormsContextProvider.class)).thenReturn(contextProvider);
+ final AbstractSWTRenderer<VElement> rendererInstance = diExtensionRendererFactory.getRendererInstance(vControl,
+ viewModelContext);
+ assertTrue(TestControlSWTRendererDI.class.isInstance(rendererInstance));
+ }
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/src/org/eclipse/emfforms/internal/swt/core/di/extension/tests/AllPluginTests.java b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/src/org/eclipse/emfforms/internal/swt/core/di/extension/tests/AllPluginTests.java
new file mode 100644
index 0000000..d668fc4
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/src/org/eclipse/emfforms/internal/swt/core/di/extension/tests/AllPluginTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core.di.extension.tests;
+
+import org.eclipse.emfforms.internal.swt.core.di.extension.EMFFormsDIExtensionRendererFactory_PTest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * JUnit test suite containing all plugin tests for swt.core.di.extension.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ EMFFormsDIExtensionRendererFactory_PTest.class })
+public class AllPluginTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.core.di.extension.tests/src/org/eclipse/emfforms/internal/swt/core/di/extension/tests/TestControlSWTRendererECPTester.java b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/src/org/eclipse/emfforms/internal/swt/core/di/extension/tests/TestControlSWTRendererECPTester.java
new file mode 100644
index 0000000..018d145
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.extension.tests/src/org/eclipse/emfforms/internal/swt/core/di/extension/tests/TestControlSWTRendererECPTester.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core.di.extension.tests;
+
+import org.eclipse.emf.ecp.view.model.common.ECPRendererTester;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+
+/**
+ * The {@link ECPRendererTester} for the
+ * {@link org.eclipse.emfforms.internal.swt.core.di.tests.TestControlSWTRendererDI TestControlSWTRendererDI}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class TestControlSWTRendererECPTester implements ECPRendererTester {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.model.common.ECPRendererTester#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ if (VControl.class.isInstance(vElement)) {
+ return 200;
+ }
+ return NOT_APPLICABLE;
+ }
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/.checkstyle b/tests/org.eclipse.emfforms.swt.core.di.tests/.checkstyle
new file mode 100644
index 0000000..24d357f
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/.classpath b/tests/org.eclipse.emfforms.swt.core.di.tests/.classpath
new file mode 100644
index 0000000..8a8f166
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/.project b/tests/org.eclipse.emfforms.swt.core.di.tests/.project
new file mode 100644
index 0000000..5b87f67
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/.project
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.swt.core.di.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emfforms.swt.core.di.tests/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/All Plugin Tests for swt.core.di.launch b/tests/org.eclipse.emfforms.swt.core.di.tests/All Plugin Tests for swt.core.di.launch
new file mode 100644
index 0000000..b64214b
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/All Plugin Tests for swt.core.di.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/internal/swt/core/di/tests/AllPluginTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.internal.swt.core.di.tests.AllPluginTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.swt.core.di.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="false"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.di.tests@default:false,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/All Tests for swt.core.di.launch b/tests/org.eclipse.emfforms.swt.core.di.tests/All Tests for swt.core.di.launch
new file mode 100644
index 0000000..9e6a475
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/All Tests for swt.core.di.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/internal/swt/core/di/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.internal.swt.core.di.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.swt.core.di.tests"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.swt.core.di.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..b628f71
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,29 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms SWT Core DI Tests
+Bundle-SymbolicName: org.eclipse.emfforms.swt.core.di.tests
+Bundle-Version: 1.6.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.emfforms.swt.core.di;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.6.0,2.0.0)",
+ org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.core.databinding;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.core.di.tests;version="1.6.0";x-friends:="org.eclipse.emfforms.swt.core.di.extension.tests",
+ org.eclipse.emfforms.spi.swt.core.di;version="1.6.0"
+Service-Component: OSGI-INF/testControlSWTRendererServiceDI.xml
+Bundle-ActivationPolicy: lazy
+Import-Package: javax.inject;version="[1.0.0,2.0.0)",
+ org.eclipse.swt;version="0.0.0",
+ org.eclipse.swt.widgets;version="0.0.0",
+ org.osgi.framework;version="1.8.0"
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/build.properties b/tests/org.eclipse.emfforms.swt.core.di.tests/build.properties
new file mode 100644
index 0000000..f250f99
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/build.properties
@@ -0,0 +1,4 @@
+output.. = bin/
+bin.includes = META-INF/,\
+ .
+source.. = src/
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/pom.xml b/tests/org.eclipse.emfforms.swt.core.di.tests/pom.xml
new file mode 100644
index 0000000..5bf59fd
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/pom.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emfforms.swt.core.di.tests</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>false</useUIHarness>
+ <useUIThread>false</useUIThread>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/internal/swt/core/di/tests/AllPluginTests.java b/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/internal/swt/core/di/tests/AllPluginTests.java
new file mode 100644
index 0000000..33f37c0
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/internal/swt/core/di/tests/AllPluginTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core.di.tests;
+
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererFactory_PTest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * JUnit test suite containing all plugin tests for swt.core.di.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ EMFFormsDIRendererFactory_PTest.class })
+public class AllPluginTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/internal/swt/core/di/tests/AllTests.java b/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/internal/swt/core/di/tests/AllTests.java
new file mode 100644
index 0000000..4d3cabd
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/internal/swt/core/di/tests/AllTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core.di.tests;
+
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererFactory_Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * Test suite containing all JUnit tests for swt.core.di.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ EMFFormsDIRendererFactory_Test.class })
+public class AllTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/internal/swt/core/di/tests/TestControlSWTRendererDI.java b/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/internal/swt/core/di/tests/TestControlSWTRendererDI.java
new file mode 100644
index 0000000..14c98b7
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/internal/swt/core/di/tests/TestControlSWTRendererDI.java
@@ -0,0 +1,85 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core.di.tests;
+
+import javax.inject.Inject;
+
+import org.eclipse.core.databinding.Binding;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+
+/**
+ * Simple Renderer to test dependency injection.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class TestControlSWTRendererDI extends SimpleControlSWTControlSWTRenderer {
+
+ /**
+ * @param vElement
+ * @param viewContext
+ * @param reportService
+ * @param emfFormsDatabinding
+ * @param emfFormsLabelProvider
+ * @param vtViewTemplateProvider
+ */
+ @Inject
+ public TestControlSWTRendererDI(VControl vElement, ViewModelContext viewContext, ReportService reportService,
+ EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider,
+ VTViewTemplateProvider vtViewTemplateProvider) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createBindings(org.eclipse.swt.widgets.Control)
+ */
+ @Override
+ protected Binding[] createBindings(Control control) throws DatabindingFailedException {
+ return new Binding[0];
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createSWTControl(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Control createSWTControl(Composite parent) throws DatabindingFailedException {
+ final Label label = new Label(parent, SWT.NONE);
+ label.setText("TEST"); //$NON-NLS-1$
+ return label;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#getUnsetText()
+ */
+ @Override
+ protected String getUnsetText() {
+ return ""; //$NON-NLS-1$
+ }
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/internal/swt/core/di/tests/TestControlSWTRendererServiceDI.java b/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/internal/swt/core/di/tests/TestControlSWTRendererServiceDI.java
new file mode 100644
index 0000000..cce0a89a
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/internal/swt/core/di/tests/TestControlSWTRendererServiceDI.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core.di.tests;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+
+/**
+ * Renderer service for {@link TestControlSWTRendererDI}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class TestControlSWTRendererServiceDI implements EMFFormsDIRendererService<VControl> {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
+ * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
+ */
+ @Override
+ public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+ return 10.0;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService#getRendererClass()
+ */
+ @Override
+ public Class<? extends AbstractSWTRenderer<VControl>> getRendererClass() {
+ return TestControlSWTRendererDI.class;
+ }
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsDIRendererFactory_PTest.java b/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsDIRendererFactory_PTest.java
new file mode 100644
index 0000000..59f75bf
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsDIRendererFactory_PTest.java
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core.di;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.eclipse.e4.core.contexts.EclipseContextFactory;
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.internal.swt.core.di.tests.TestControlSWTRendererDI;
+import org.eclipse.emfforms.internal.swt.core.di.tests.TestControlSWTRendererServiceDI;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ * JUnit plugin tests for {@link EMFFormsDIRendererFactory}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@SuppressWarnings("rawtypes")
+public class EMFFormsDIRendererFactory_PTest {
+
+ private EMFFormsDIRendererFactory diRendererFactory;
+ private ServiceRegistration<EMFFormsDIRendererService> registerRendererService;
+ private ServiceReference<EMFFormsRendererService> serviceReference;
+ private BundleContext bundleContext;
+
+ private DefaultRealm realm;
+
+ /**
+ * Creates a new {@link EMFFormsDIRendererFactory}, registers the {@link EMFFormsDIRendererService test di
+ * renderer service} and creates a new {@link DefaultRealm} for every test case.
+ */
+ @Before
+ public void setUp() {
+ realm = new DefaultRealm();
+ bundleContext = FrameworkUtil.getBundle(EMFFormsDIRendererFactory_PTest.class).getBundleContext();
+ registerRendererService = bundleContext.registerService(EMFFormsDIRendererService.class,
+ new TestControlSWTRendererServiceDI(), null);
+ serviceReference = bundleContext.getServiceReference(EMFFormsRendererService.class);
+ diRendererFactory = (EMFFormsDIRendererFactory) bundleContext.getService(serviceReference);
+ }
+
+ /**
+ * Clean up
+ */
+ @After
+ public void tearDown() {
+ bundleContext.ungetService(serviceReference);
+ registerRendererService.unregister();
+ realm.dispose();
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererFactory#getRendererInstance(org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
+ * .
+ */
+ @Test
+ public void testGetRendererInstance() {
+ final IEclipseContext eclipseContext = EclipseContextFactory.create("TestContext"); //$NON-NLS-1$
+ final ReportService reportService = mock(ReportService.class);
+ final EMFFormsDatabinding emfFormsDatabinding = mock(EMFFormsDatabinding.class);
+ final EMFFormsLabelProvider emfFormsLabelProvider = mock(EMFFormsLabelProvider.class);
+ final VTViewTemplateProvider viewTemplateProvider = mock(VTViewTemplateProvider.class);
+ eclipseContext.set(ReportService.class, reportService);
+ eclipseContext.set(EMFFormsDatabinding.class, emfFormsDatabinding);
+ eclipseContext.set(EMFFormsLabelProvider.class, emfFormsLabelProvider);
+ eclipseContext.set(VTViewTemplateProvider.class, viewTemplateProvider);
+
+ final VControl vControl = VViewFactory.eINSTANCE.createControl();
+ final EMFFormsContextProvider contextProvider = mock(EMFFormsContextProvider.class);
+ when(contextProvider.getContext()).thenReturn(eclipseContext);
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ when(viewModelContext.getService(EMFFormsContextProvider.class)).thenReturn(contextProvider);
+
+ final AbstractSWTRenderer<VElement> rendererInstance = diRendererFactory.getRendererInstance(vControl,
+ viewModelContext);
+
+ assertTrue("The created renderer instance must be of type TestControlSWTRendererDI.", //$NON-NLS-1$
+ TestControlSWTRendererDI.class.isInstance(rendererInstance));
+ }
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsDIRendererFactory_Test.java b/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsDIRendererFactory_Test.java
new file mode 100644
index 0000000..ba131e4
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.di.tests/src/org/eclipse/emfforms/spi/swt/core/di/EMFFormsDIRendererFactory_Test.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spi.swt.core.di;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * JUnit test cases for {@link EMFFormsDIRendererFactory}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class EMFFormsDIRendererFactory_Test {
+
+ private EMFFormsDIRendererFactory diRendererFactory;
+
+ /**
+ * Creates a new {@link EMFFormsDIRendererFactory} for every test case.
+ */
+ @Before
+ public void setUp() {
+ diRendererFactory = new EMFFormsDIRendererFactory();
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererFactory#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
+ * .
+ */
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testIsApplicableOneApplicable() {
+ final EMFFormsDIRendererService<VElement> diRendererService1 = mock(EMFFormsDIRendererService.class);
+ when(diRendererService1.isApplicable(any(VElement.class), any(ViewModelContext.class))).thenReturn(
+ EMFFormsDIRendererService.NOT_APPLICABLE);
+
+ final EMFFormsDIRendererService<VElement> diRendererService2 = mock(EMFFormsDIRendererService.class);
+ when(diRendererService2.isApplicable(any(VElement.class), any(ViewModelContext.class))).thenReturn(10.0);
+
+ diRendererFactory.addEMFFormsDIRendererService(diRendererService1);
+ diRendererFactory.addEMFFormsDIRendererService(diRendererService2);
+
+ assertEquals(10.0, diRendererFactory.isApplicable(mock(VElement.class), mock(ViewModelContext.class)), 0.0);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererFactory#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
+ * .
+ */
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testIsApplicableNoneApplicable() {
+ final EMFFormsDIRendererService<VElement> diRendererService1 = mock(EMFFormsDIRendererService.class);
+ when(diRendererService1.isApplicable(any(VElement.class), any(ViewModelContext.class))).thenReturn(
+ EMFFormsDIRendererService.NOT_APPLICABLE);
+
+ final EMFFormsDIRendererService<VElement> diRendererService2 = mock(EMFFormsDIRendererService.class);
+ when(diRendererService2.isApplicable(any(VElement.class), any(ViewModelContext.class))).thenReturn(
+ EMFFormsDIRendererService.NOT_APPLICABLE);
+
+ diRendererFactory.addEMFFormsDIRendererService(diRendererService1);
+ diRendererFactory.addEMFFormsDIRendererService(diRendererService2);
+
+ assertEquals(EMFFormsDIRendererService.NOT_APPLICABLE,
+ diRendererFactory.isApplicable(mock(VElement.class), mock(ViewModelContext.class)), 0.0);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererFactory#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
+ * .
+ */
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testIsApplicableTwoApplicable() {
+ final EMFFormsDIRendererService<VElement> diRendererService1 = mock(EMFFormsDIRendererService.class);
+ when(diRendererService1.isApplicable(any(VElement.class), any(ViewModelContext.class))).thenReturn(2.0);
+
+ final EMFFormsDIRendererService<VElement> diRendererService2 = mock(EMFFormsDIRendererService.class);
+ when(diRendererService2.isApplicable(any(VElement.class), any(ViewModelContext.class))).thenReturn(10.0);
+
+ diRendererFactory.addEMFFormsDIRendererService(diRendererService1);
+ diRendererFactory.addEMFFormsDIRendererService(diRendererService2);
+
+ assertEquals(10.0, diRendererFactory.isApplicable(mock(VElement.class), mock(ViewModelContext.class)), 0.0);
+ }
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/.checkstyle b/tests/org.eclipse.emfforms.swt.core.tests/.checkstyle
new file mode 100644
index 0000000..24d357f
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.tests/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/tests/org.eclipse.emfforms.swt.core.tests/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to tests/org.eclipse.emfforms.swt.core.tests/.classpath
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/.gitignore b/tests/org.eclipse.emfforms.swt.core.tests/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.tests/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/.project b/tests/org.eclipse.emfforms.swt.core.tests/.project
new file mode 100644
index 0000000..228b65e
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.tests/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.swt.core.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs
copy to tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emfforms.swt.core.tests/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/AllIntegrationTests emfforms.swt.core.launch b/tests/org.eclipse.emfforms.swt.core.tests/AllIntegrationTests emfforms.swt.core.launch
new file mode 100644
index 0000000..9538aff
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.tests/AllIntegrationTests emfforms.swt.core.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/swt/core/tests/AllIntegrationTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.swt.core.tests.AllIntegrationTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.swt.core.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-all@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.tests@default:false,org.eclipse.emfforms.swt.core@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/AllTests emfforms.swt.core.launch b/tests/org.eclipse.emfforms.swt.core.tests/AllTests emfforms.swt.core.launch
new file mode 100644
index 0000000..7cc2947
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.tests/AllTests emfforms.swt.core.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/swt/core/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.swt.core.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.swt.core.tests"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.swt.core.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..65e60eb
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms SWT Core Tests
+Bundle-SymbolicName: org.eclipse.emfforms.swt.core.tests
+Bundle-Version: 1.6.0.qualifier
+Fragment-Host: org.eclipse.emfforms.swt.core;bundle-version="[1.6.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)"
+Import-Package: org.osgi.framework;version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.swt.core;version="1.6.0";x-internal:=true,
+ org.eclipse.emfforms.swt.core.tests;version="1.6.0";x-internal:=true
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/build.properties b/tests/org.eclipse.emfforms.swt.core.tests/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.tests/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/pom.xml b/tests/org.eclipse.emfforms.swt.core.tests/pom.xml
new file mode 100644
index 0000000..5c27270
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.tests/pom.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emfforms.swt.core.tests</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>false</useUIHarness>
+ <useUIThread>false</useUIThread>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/internal/swt/core/EMFFormsRendererFactory_ITest.java b/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/internal/swt/core/EMFFormsRendererFactory_ITest.java
new file mode 100644
index 0000000..73b5289
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/internal/swt/core/EMFFormsRendererFactory_ITest.java
@@ -0,0 +1,154 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsAdditionalRendererService;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mockito.Matchers;
+import org.mockito.Mockito;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ * Integration test for the {@link EMFFormsRendererFactory}.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class EMFFormsRendererFactory_ITest {
+
+ private EMFFormsRendererFactory rendererFactory;
+ private ServiceReference<EMFFormsRendererFactory> serviceReference;
+ private static BundleContext bundleContext;
+
+ /**
+ * Setup the {@link BundleContext}.
+ */
+ @BeforeClass
+ public static void beforeClass() {
+ final Bundle bundle = FrameworkUtil.getBundle(EMFFormsRendererFactory_ITest.class);
+ bundleContext = bundle.getBundleContext();
+ }
+
+ /**
+ * Retrieves the {@link EMFFormsRendererFactory} as a service.
+ */
+ @Before
+ public void setUp() {
+ serviceReference = bundleContext.getServiceReference(EMFFormsRendererFactory.class);
+ rendererFactory = bundleContext.getService(serviceReference);
+ }
+
+ /**
+ * Ungets the service.
+ */
+ @After
+ public void cleanUp() {
+ bundleContext.ungetService(serviceReference);
+ }
+
+ /**
+ * Test method for {@link EMFFormsRendererFactory#getRendererInstance(VElement, ViewModelContext)}.
+ * Testing that a registered {@link EMFFormsRendererService} is picked up.
+ *
+ * @throws EMFFormsNoRendererException
+ */
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testAddRendererService() throws EMFFormsNoRendererException {
+ final VElement vElement = mock(VElement.class);
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ final AbstractSWTRenderer<VElement> mockedRenderer = new MockedAbstractSWTRenderer(vElement, viewModelContext,
+ mock(ReportService.class));
+ final EMFFormsRendererService<VElement> rendererService = mock(EMFFormsRendererService.class);
+ Mockito.when(rendererService.getRendererInstance(vElement, viewModelContext)).thenReturn(mockedRenderer);
+ bundleContext.registerService(EMFFormsRendererService.class, rendererService, null);
+ rendererFactory.getRendererInstance(vElement, viewModelContext);
+ Mockito.verify(rendererService, Mockito.times(1)).isApplicable(vElement, viewModelContext);
+ }
+
+ /**
+ * Test method for {@link EMFFormsRendererFactory#getRendererInstance(VElement, ViewModelContext)}.
+ * Testing that an IllegalStateException is thrown when no {@link EMFFormsRendererService} is registered.
+ *
+ * @throws EMFFormsNoRendererException
+ */
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Test(expected = EMFFormsNoRendererException.class)
+ public void testRemoveRendererService() throws EMFFormsNoRendererException {
+ final EMFFormsRendererService<VElement> rendererService = mock(EMFFormsRendererService.class);
+ final ServiceRegistration<EMFFormsRendererService> registerService = bundleContext.registerService(
+ EMFFormsRendererService.class, rendererService, null);
+ registerService.unregister();
+ rendererFactory.getRendererInstance(mock(VElement.class), mock(ViewModelContext.class));
+ }
+
+ /**
+ * Test method for {@link EMFFormsRendererFactory#getAdditionalRendererInstances(VElement, ViewModelContext)}.
+ * Testing that a registered {@link EMFFormsAdditionalRendererService} is picked up.
+ */
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testAddAdditionalRendererService() {
+ final VElement vElement = mock(VElement.class);
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ final AbstractAdditionalSWTRenderer<VElement> additionalSWTRenderer = new MockedAbstractAdditionalSWTRenderer(
+ vElement, viewModelContext, mock(ReportService.class));
+ final EMFFormsAdditionalRendererService<VElement> rendererService = mock(EMFFormsAdditionalRendererService.class);
+ Mockito.when(rendererService.getRendererInstances(vElement, viewModelContext)).thenReturn(
+ Collections.singleton(additionalSWTRenderer));
+ Mockito.when(rendererService.isApplicable(Matchers.any(VElement.class), Matchers.any(ViewModelContext.class)))
+ .thenReturn(true);
+ bundleContext.registerService(EMFFormsAdditionalRendererService.class, rendererService, null);
+ final Collection<AbstractAdditionalSWTRenderer<VElement>> rendererInstances = rendererFactory
+ .getAdditionalRendererInstances(vElement, viewModelContext);
+ Mockito.verify(rendererService, Mockito.times(1)).isApplicable(Matchers.any(VElement.class),
+ Matchers.any(ViewModelContext.class));
+ assertEquals(1, rendererInstances.size());
+ }
+
+ /**
+ * Test method for {@link EMFFormsRendererFactory#getAdditionalRendererInstances(VElement, ViewModelContext)}.
+ * Testing that an IllegalStateException is thrown when no {@link EMFFormsAdditionalRendererService} is registered.
+ */
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Test
+ public void testRemoveAdditionalRendererService() {
+ final EMFFormsAdditionalRendererService<VElement> rendererService = mock(EMFFormsAdditionalRendererService.class);
+ final ServiceRegistration<EMFFormsAdditionalRendererService> registerService = bundleContext.registerService(
+ EMFFormsAdditionalRendererService.class, rendererService, null);
+ registerService.unregister();
+ final Collection<AbstractAdditionalSWTRenderer<VElement>> rendererInstances = rendererFactory
+ .getAdditionalRendererInstances(mock(VElement.class), mock(ViewModelContext.class));
+ assertEquals(0, rendererInstances.size());
+ }
+}
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/internal/swt/core/EMFFormsRendererFactory_Test.java b/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/internal/swt/core/EMFFormsRendererFactory_Test.java
new file mode 100644
index 0000000..ac26521
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/internal/swt/core/EMFFormsRendererFactory_Test.java
@@ -0,0 +1,261 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsAdditionalRendererService;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsNoRendererException;
+import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererService;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Matchers;
+import org.mockito.Mockito;
+
+/**
+ * Test for the {@link EMFFormsRendererFactoryImpl}.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class EMFFormsRendererFactory_Test {
+
+ private EMFFormsRendererFactoryImpl rendererFactory;
+
+ /**
+ * Setup the EMFFormsRendererFactoryImpl.
+ */
+ @Before
+ public void setUp() {
+ rendererFactory = new EMFFormsRendererFactoryImpl();
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory#getRendererInstance(VElement, ViewModelContext)
+ * EMFFormsRendererFactory#getRendererInstance(VElement, ViewModelContext)}.
+ * When no EMFFormsRendererService is registered then an IllegalStateException should be thrown.
+ *
+ * @throws EMFFormsNoRendererException
+ */
+ @Test(expected = EMFFormsNoRendererException.class)
+ public void testGetRendererInstanceNoRendererServices() throws EMFFormsNoRendererException {
+ rendererFactory.getRendererInstance(mock(VElement.class), mock(ViewModelContext.class));
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory#getRendererInstance(VElement, ViewModelContext)
+ * EMFFormsRendererFactory#getRendererInstance(VElement, ViewModelContext)}.
+ * When no fitting EMFFormsRendererService is available then an IllegalStateException should be thrown.
+ *
+ * @throws EMFFormsNoRendererException
+ */
+ @SuppressWarnings("unchecked")
+ @Test(expected = EMFFormsNoRendererException.class)
+ public void testGetRendererInstanceNoFittingServices() throws EMFFormsNoRendererException {
+ final VElement vElement = mock(VElement.class);
+ final EMFFormsRendererService<VElement> rendererService1 = mock(EMFFormsRendererService.class);
+ when(rendererService1.isApplicable(Matchers.same(vElement), Matchers.any(ViewModelContext.class))).thenReturn(
+ 1d);
+ when(rendererService1.isApplicable(Matchers.any(VElement.class), Matchers.any(ViewModelContext.class)))
+ .thenReturn(
+ EMFFormsRendererService.NOT_APPLICABLE);
+ final AbstractSWTRenderer<VElement> renderer1 = mock(AbstractSWTRenderer.class);
+ when(rendererService1.getRendererInstance(Matchers.any(VElement.class), Matchers.any(ViewModelContext.class)))
+ .thenReturn(renderer1);
+
+ rendererFactory.addEMFFormsRendererService(rendererService1);
+ final VElement mockedVElement = mock(VElement.class);
+ when(mockedVElement.eClass()).thenReturn(VViewPackage.eINSTANCE.getControl());
+ rendererFactory.getRendererInstance(mockedVElement, mock(ViewModelContext.class));
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory#getRendererInstance(VElement, ViewModelContext)
+ * EMFFormsRendererFactory#getRendererInstance(VElement, ViewModelContext)}.
+ * When one EMFFormsRendererService is registered then
+ * {@link EMFFormsRendererService#isApplicable(VElement,ViewModelContext)} is
+ * called exactly once.
+ *
+ * @throws EMFFormsNoRendererException
+ */
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testAddRendererService() throws EMFFormsNoRendererException {
+ final VElement vElement = mock(VElement.class);
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ final EMFFormsRendererService<VElement> rendererService = mock(EMFFormsRendererService.class);
+ when(rendererService.getRendererInstance(vElement, viewModelContext)).thenReturn(
+ new MockedAbstractSWTRenderer(vElement, viewModelContext, mock(ReportService.class)));
+ rendererFactory.addEMFFormsRendererService(rendererService);
+ rendererFactory.getRendererInstance(vElement, viewModelContext);
+ Mockito.verify(rendererService, Mockito.times(1)).isApplicable(vElement, viewModelContext);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory#getRendererInstance(VElement, ViewModelContext)
+ * EMFFormsRendererFactory#getRendererInstance(VElement, ViewModelContext)}.
+ * When the only EMFFormsRendererService is removed then an IllegalStateException is thrown.
+ *
+ * @throws EMFFormsNoRendererException
+ */
+ @SuppressWarnings("unchecked")
+ @Test(expected = EMFFormsNoRendererException.class)
+ public void testRemoveRendererService() throws EMFFormsNoRendererException {
+ final EMFFormsRendererService<VElement> rendererService = mock(EMFFormsRendererService.class);
+ rendererFactory.addEMFFormsRendererService(rendererService);
+ rendererFactory.removeEMFFormsRendererService(rendererService);
+ rendererFactory.getRendererInstance(mock(VElement.class), mock(ViewModelContext.class));
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory#getRendererInstance(VElement, ViewModelContext)
+ * EMFFormsRendererFactory#getRendererInstance(VElement, ViewModelContext)}.
+ * Check that the EMFFormsRendererService with the fitting VElement is used to get an AbstractSWTRenderer.
+ *
+ * @throws EMFFormsNoRendererException
+ */
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testGetRendererInstanceSamePrioDifferentVElement() throws EMFFormsNoRendererException {
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ final VElement vElement1 = Mockito.mock(VElement.class);
+ final VElement vElement2 = Mockito.mock(VElement.class);
+ final EMFFormsRendererService<VElement> rendererService1 = mock(EMFFormsRendererService.class);
+ when(rendererService1.isApplicable(vElement1, viewModelContext)).thenReturn(1d);
+ final AbstractSWTRenderer<VElement> renderer1 = new MockedAbstractSWTRenderer(vElement1, viewModelContext,
+ mock(ReportService.class));
+ when(rendererService1.getRendererInstance(Matchers.any(VElement.class), Matchers.any(ViewModelContext.class)))
+ .thenReturn(renderer1);
+ final EMFFormsRendererService<VElement> rendererService2 = mock(EMFFormsRendererService.class);
+ when(rendererService2.isApplicable(vElement2, viewModelContext)).thenReturn(1d);
+ final AbstractSWTRenderer<VElement> renderer2 = mock(AbstractSWTRenderer.class);
+ when(rendererService2.getRendererInstance(Matchers.any(VElement.class), Matchers.any(ViewModelContext.class)))
+ .thenReturn(renderer2);
+ rendererFactory.addEMFFormsRendererService(rendererService1);
+ rendererFactory.addEMFFormsRendererService(rendererService2);
+ assertEquals(renderer1, rendererFactory.getRendererInstance(vElement1, viewModelContext));
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory#getRendererInstance(VElement, ViewModelContext)
+ * EMFFormsRendererFactory#getRendererInstance(VElement, ViewModelContext)}.
+ * Check that the EMFFormsRendererService with the higher priority is used to get an AbstractSWTRenderer.
+ *
+ * @throws EMFFormsNoRendererException
+ */
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testGetRendererInstanceDifferentPrioSameVElement() throws EMFFormsNoRendererException {
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ final VElement vElement = mock(VElement.class);
+ final EMFFormsRendererService<VElement> rendererService1 = mock(EMFFormsRendererService.class);
+ when(rendererService1.isApplicable(vElement, viewModelContext)).thenReturn(1d);
+ final AbstractSWTRenderer<VElement> renderer1 = new MockedAbstractSWTRenderer(vElement, viewModelContext,
+ mock(ReportService.class));
+ when(rendererService1.getRendererInstance(Matchers.any(VElement.class), Matchers.any(ViewModelContext.class)))
+ .thenReturn(renderer1);
+ final EMFFormsRendererService<VElement> rendererService2 = mock(EMFFormsRendererService.class);
+ when(rendererService2.isApplicable(vElement, viewModelContext)).thenReturn(2d);
+ final AbstractSWTRenderer<VElement> renderer2 = new MockedAbstractSWTRenderer(vElement, viewModelContext,
+ mock(ReportService.class));
+ when(rendererService2.getRendererInstance(Matchers.any(VElement.class), Matchers.any(ViewModelContext.class)))
+ .thenReturn(renderer2);
+ rendererFactory.addEMFFormsRendererService(rendererService1);
+ rendererFactory.addEMFFormsRendererService(rendererService2);
+ assertEquals(renderer2, rendererFactory.getRendererInstance(vElement, viewModelContext));
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory#getAdditionalRendererInstances(VElement, ViewModelContext)
+ * EMFFormsRendererFactory#getAdditionalRendererInstances(VElement, ViewModelContext)}.
+ * When one EMFFormsRendererService is registered then
+ * {@link EMFFormsAdditionalRendererService#isApplicable(VElement, ViewModelContext)} is
+ * called exactly once.
+ */
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testAddAdditionalRendererService() {
+ final VElement vElement = mock(VElement.class);
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ final EMFFormsAdditionalRendererService<VElement> rendererService = mock(EMFFormsAdditionalRendererService.class);
+ when(rendererService.isApplicable(vElement, viewModelContext)).thenReturn(true);
+ final Collection<AbstractAdditionalSWTRenderer<VElement>> mockedResults = new ArrayList<AbstractAdditionalSWTRenderer<VElement>>();
+ mockedResults
+ .add(new MockedAbstractAdditionalSWTRenderer(vElement, viewModelContext, mock(ReportService.class)));
+ when(rendererService.getRendererInstances(vElement, viewModelContext)).thenReturn(mockedResults);
+ rendererFactory.addEMFFormsAdditionalRendererService(rendererService);
+ final Collection<AbstractAdditionalSWTRenderer<VElement>> additionalRenderers = rendererFactory
+ .getAdditionalRendererInstances(vElement, viewModelContext);
+ Mockito.verify(rendererService, Mockito.times(1)).isApplicable(vElement, viewModelContext);
+ assertEquals(1, additionalRenderers.size());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory#getAdditionalRendererInstances(VElement, ViewModelContext)
+ * EMFFormsRendererFactory#getAdditionalRendererInstances(VElement, ViewModelContext)}.
+ *
+ */
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testRemoveAdditionalRendererService() {
+ final EMFFormsAdditionalRendererService<VElement> rendererService = mock(EMFFormsAdditionalRendererService.class);
+ rendererFactory.addEMFFormsAdditionalRendererService(rendererService);
+ rendererFactory.removeEMFFormsAdditionalRendererService(rendererService);
+ final Collection<AbstractAdditionalSWTRenderer<VElement>> additionalRenderers = rendererFactory
+ .getAdditionalRendererInstances(mock(VElement.class), mock(ViewModelContext.class));
+ assertEquals(0, additionalRenderers.size());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory#getAdditionalRendererInstances(VElement, ViewModelContext)
+ * EMFFormsRendererFactory#getAdditionalRendererInstances(VElement, ViewModelContext)}.
+ * When no fitting EMFFormsRendererService is available then the collection is empty.
+ *
+ */
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testGetAdditionalRendererInstanceNoFittingServices() {
+ final VElement vElement = mock(VElement.class);
+ final EMFFormsAdditionalRendererService<VElement> rendererService1 = mock(EMFFormsAdditionalRendererService.class);
+ when(rendererService1.isApplicable(Matchers.same(vElement), Matchers.any(ViewModelContext.class))).thenReturn(
+ false);
+ final AbstractAdditionalSWTRenderer<VElement> renderer1 = mock(AbstractAdditionalSWTRenderer.class);
+ when(rendererService1.getRendererInstances(Matchers.any(VElement.class), Matchers.any(ViewModelContext.class)))
+ .thenReturn(Collections.singleton(renderer1));
+
+ rendererFactory.addEMFFormsAdditionalRendererService(rendererService1);
+ final Collection<AbstractAdditionalSWTRenderer<VElement>> additionalRenderers = rendererFactory
+ .getAdditionalRendererInstances(mock(VElement.class), mock(ViewModelContext.class));
+ assertEquals(0, additionalRenderers.size());
+ }
+}
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/internal/swt/core/MockedAbstractAdditionalSWTRenderer.java b/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/internal/swt/core/MockedAbstractAdditionalSWTRenderer.java
new file mode 100644
index 0000000..3065387
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/internal/swt/core/MockedAbstractAdditionalSWTRenderer.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
+import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractAdditionalSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+/**
+ * Mocked AbstractAdditionalSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+final class MockedAbstractAdditionalSWTRenderer extends AbstractAdditionalSWTRenderer<VElement> {
+
+ MockedAbstractAdditionalSWTRenderer(VElement vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
+ @Override
+ public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
+ return null;
+ }
+
+ @Override
+ protected Control renderControl(SWTGridCell cell, Composite parent) throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/internal/swt/core/MockedAbstractSWTRenderer.java b/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/internal/swt/core/MockedAbstractSWTRenderer.java
new file mode 100644
index 0000000..de4f840
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/internal/swt/core/MockedAbstractSWTRenderer.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.swt.core;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
+import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
+import org.eclipse.emfforms.spi.swt.core.layout.SWTGridDescription;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+/**
+ * Mocked AbstractSWTRenderer.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+final class MockedAbstractSWTRenderer extends AbstractSWTRenderer<VElement> {
+
+ MockedAbstractSWTRenderer(VElement vElement, ViewModelContext viewContext, ReportService reportService) {
+ super(vElement, viewContext, reportService);
+ }
+
+ @Override
+ protected Control renderControl(SWTGridCell cell, Composite parent) throws NoRendererFoundException,
+ NoPropertyDescriptorFoundExeption {
+ return null;
+ }
+
+ @Override
+ public SWTGridDescription getGridDescription(SWTGridDescription gridDescription) {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/swt/core/tests/AllIntegrationTests.java b/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/swt/core/tests/AllIntegrationTests.java
new file mode 100644
index 0000000..4e98134
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/swt/core/tests/AllIntegrationTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.swt.core.tests;
+
+import org.eclipse.emfforms.internal.swt.core.EMFFormsRendererFactory_ITest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * Test Suite for integration tests of the simple.swt .
+ *
+ * @author Eugen Neufeld
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ EMFFormsRendererFactory_ITest.class })
+public class AllIntegrationTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/swt/core/tests/AllTests.java b/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/swt/core/tests/AllTests.java
new file mode 100644
index 0000000..493c488
--- /dev/null
+++ b/tests/org.eclipse.emfforms.swt.core.tests/src/org/eclipse/emfforms/swt/core/tests/AllTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.swt.core.tests;
+
+import org.eclipse.emfforms.internal.swt.core.EMFFormsRendererFactory_Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * Test Suite for tests of the simple.swt .
+ *
+ * @author Eugen Neufeld
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ EMFFormsRendererFactory_Test.class })
+public class AllTests {
+
+}
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/.checkstyle b/tests/org.eclipse.emfforms.view.model.localization.tests/.checkstyle
new file mode 100644
index 0000000..24d357f
--- /dev/null
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/tests/org.eclipse.emfforms.view.model.localization.tests/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to tests/org.eclipse.emfforms.view.model.localization.tests/.classpath
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/.project b/tests/org.eclipse.emfforms.view.model.localization.tests/.project
new file mode 100644
index 0000000..763c60c
--- /dev/null
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.view.model.localization.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.core.runtime.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.core.prefs
copy to tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/org.eclipse.emfforms.view.model.localization.tests/.settings/org.eclipse.pde.prefs
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/AllIntegrationTest view.model.localization.launch b/tests/org.eclipse.emfforms.view.model.localization.tests/AllIntegrationTest view.model.localization.launch
new file mode 100644
index 0000000..f191bab
--- /dev/null
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/AllIntegrationTest view.model.localization.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.view.model.localization.tests/src/org/eclipse/emfforms/view/model/localization/tests/AllIntegrationTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.view.model.localization.tests.AllIntegrationTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.view.model.localization.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="javax.xml@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit@default:default,org.mockito.mockito-all@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emfforms.core.services.databinding@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.view.model.localization.tests@default:false,org.eclipse.emfforms.view.model.localization@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/AllTests view.model.localization.launch b/tests/org.eclipse.emfforms.view.model.localization.tests/AllTests view.model.localization.launch
new file mode 100644
index 0000000..3f0cde6
--- /dev/null
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/AllTests view.model.localization.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.view.model.localization.tests/src/org/eclipse/emfforms/view/model/localization/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.view.model.localization.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.view.model.localization.tests"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emfforms.view.model.localization.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f41d94b
--- /dev/null
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms View Model Localization Tests
+Bundle-SymbolicName: org.eclipse.emfforms.view.model.localization.tests
+Bundle-Version: 1.6.0.qualifier
+Fragment-Host: org.eclipse.emfforms.view.model.localization;bundle-version="[1.5.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.mockito.mockito-all;bundle-version="[1.9.5,2.0.0)",
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.equinox.ds;bundle-version="[1.4.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.view.model.localization;
+ version="1.6.0";x-internal:=true,org.eclipse.emfforms.view.model.loca
+ lization.tests;version="1.6.0"
+Bundle-Localization: OSGI-INF/l10n/bundle
+Import-Package: org.eclipse.emfforms.spi.localization;version="[1.6.0,2.0.0)"
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/OSGI-INF/l10n/bundle_de.properties b/tests/org.eclipse.emfforms.view.model.localization.tests/OSGI-INF/l10n/bundle_de.properties
new file mode 100644
index 0000000..3f7fc1d
--- /dev/null
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/OSGI-INF/l10n/bundle_de.properties
@@ -0,0 +1,3 @@
+view=Mein super View
+layout=Mein super Layout
+control=Mein super Control
\ No newline at end of file
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/OSGI-INF/l10n/bundle_en.properties b/tests/org.eclipse.emfforms.view.model.localization.tests/OSGI-INF/l10n/bundle_en.properties
new file mode 100644
index 0000000..3ca6e2f
--- /dev/null
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/OSGI-INF/l10n/bundle_en.properties
@@ -0,0 +1,3 @@
+view=My super View
+layout=My super Layout
+control=My super Control
\ No newline at end of file
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/build.properties b/tests/org.eclipse.emfforms.view.model.localization.tests/build.properties
new file mode 100644
index 0000000..c58ea21
--- /dev/null
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ OSGI-INF/
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/pom.xml b/tests/org.eclipse.emfforms.view.model.localization.tests/pom.xml
new file mode 100644
index 0000000..120e48e
--- /dev/null
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/pom.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>ecp-tests-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emf.ecp</groupId>
+ <artifactId>org.eclipse.emfforms.view.model.localization.tests</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>false</useUIHarness>
+ <useUIThread>false</useUIThread>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/src/org/eclipse/emfforms/internal/view/model/localization/LocalizationViewModelService_ITest.java b/tests/org.eclipse.emfforms.view.model.localization.tests/src/org/eclipse/emfforms/internal/view/model/localization/LocalizationViewModelService_ITest.java
new file mode 100644
index 0000000..4d7d526
--- /dev/null
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/src/org/eclipse/emfforms/internal/view/model/localization/LocalizationViewModelService_ITest.java
@@ -0,0 +1,142 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.view.model.localization;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Locale;
+
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.LocalizationAdapter;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalFactory;
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout;
+import org.eclipse.emfforms.spi.common.locale.AbstractEMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mockito.Matchers;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ * Plugin Tests cases for the LocalizationViewModelService.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+public class LocalizationViewModelService_ITest {
+
+ private static BundleContext bundleContext;
+ private ServiceRegistration<EMFFormsLocaleProvider> registerService;
+ private MockedEMFFormsLocaleProvider emfFormsLocaleProvider;
+
+ private static class MockedEMFFormsLocaleProvider extends AbstractEMFFormsLocaleProvider {
+
+ private Locale locale;
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider#getLocale()
+ */
+ @Override
+ public Locale getLocale() {
+ return locale;
+ }
+
+ public void setLocale(Locale locale) {
+ this.locale = locale;
+ notifyListeners();
+ }
+ }
+
+ @BeforeClass
+ public static void setupBeforeClass() {
+ bundleContext = FrameworkUtil.getBundle(LocalizationViewModelService_ITest.class)
+ .getBundleContext();
+
+ }
+
+ @Before
+ public void setup() {
+ emfFormsLocaleProvider = new MockedEMFFormsLocaleProvider();
+ registerService = bundleContext.registerService(EMFFormsLocaleProvider.class, emfFormsLocaleProvider, null);
+ }
+
+ @After
+ public void tearDown() {
+ registerService.unregister();
+ }
+
+ @Test
+ public void testDynamic() {
+ final String viewName = "%view"; //$NON-NLS-1$
+ final String layoutName = "%layout"; //$NON-NLS-1$
+ final String controlName = "%control"; //$NON-NLS-1$
+
+ final VView view = VViewFactory.eINSTANCE.createView();
+ view.setName(viewName);
+ final VVerticalLayout layout = VVerticalFactory.eINSTANCE.createVerticalLayout();
+ layout.setName(layoutName);
+ view.getChildren().add(layout);
+ final VControl control = VViewFactory.eINSTANCE.createControl();
+ control.setName(controlName);
+ layout.getChildren().add(control);
+
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ when(viewModelContext.getViewModel()).thenReturn(view);
+ final LocalizationAdapter adapter = mock(LocalizationAdapter.class);
+ when(adapter.localize(Matchers.anyString())).then(new Answer<String>() {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.mockito.stubbing.Answer#answer(org.mockito.invocation.InvocationOnMock)
+ * @generated
+ */
+ @Override
+ public String answer(InvocationOnMock invocation) throws Throwable {
+ final Object object = invocation.getArguments()[0];
+ final String parameter = object.toString();
+ return LocalizationServiceHelper.getString(LocalizationViewModelService_ITest.class,
+ parameter);
+ }
+ });
+ view.eAdapters().add(adapter);
+
+ emfFormsLocaleProvider.setLocale(Locale.ENGLISH);
+ final LocalizationViewModelService localizationViewModelService = new LocalizationViewModelService();
+ localizationViewModelService.instantiate(viewModelContext);
+
+ assertEquals("My super View", view.getLabel()); //$NON-NLS-1$
+ assertEquals("My super Layout", layout.getLabel()); //$NON-NLS-1$
+ assertEquals("My super Control", control.getLabel()); //$NON-NLS-1$
+
+ emfFormsLocaleProvider.setLocale(Locale.GERMAN);
+
+ assertEquals("Mein super View", view.getLabel()); //$NON-NLS-1$
+ assertEquals("Mein super Layout", layout.getLabel()); //$NON-NLS-1$
+ assertEquals("Mein super Control", control.getLabel()); //$NON-NLS-1$
+ }
+
+}
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/src/org/eclipse/emfforms/internal/view/model/localization/LocalizationViewModelService_Test.java b/tests/org.eclipse.emfforms.view.model.localization.tests/src/org/eclipse/emfforms/internal/view/model/localization/LocalizationViewModelService_Test.java
new file mode 100644
index 0000000..a531bc7
--- /dev/null
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/src/org/eclipse/emfforms/internal/view/model/localization/LocalizationViewModelService_Test.java
@@ -0,0 +1,290 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.view.model.localization;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import org.eclipse.emf.common.notify.impl.AdapterImpl;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecp.view.internal.context.ViewModelContextImpl;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.LocalizationAdapter;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalFactory;
+import org.eclipse.emf.ecp.view.spi.vertical.model.VVerticalLayout;
+import org.junit.Before;
+import org.junit.Test;
+
+@SuppressWarnings("restriction")
+public class LocalizationViewModelService_Test {
+
+ private LocalizationViewModelService localizationViewModelService;
+
+ @Before
+ public void setup() {
+ localizationViewModelService = spy(new LocalizationViewModelService());
+ }
+
+ private String getLocalizableString(String name) {
+ return name.substring(1);
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.view.model.localization.LocalizationViewModelService#instantiate(org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
+ * .
+ */
+ @Test
+ public void testInstantiateStatic() {
+ final String viewName = "%view"; //$NON-NLS-1$
+ final String layoutName = "%layout"; //$NON-NLS-1$
+ final String controlName = "%control"; //$NON-NLS-1$
+ final String control2Name = "Fix control name"; //$NON-NLS-1$
+ final String viewLabel = "My super View"; //$NON-NLS-1$
+ final String layoutLabel = "My super Layout"; //$NON-NLS-1$
+ final String controlLabel = "My super Control"; //$NON-NLS-1$
+
+ final VView view = VViewFactory.eINSTANCE.createView();
+ view.setName(viewName);
+ final VVerticalLayout layout = VVerticalFactory.eINSTANCE.createVerticalLayout();
+ layout.setName(layoutName);
+ view.getChildren().add(layout);
+ final VControl control1 = VViewFactory.eINSTANCE.createControl();
+ control1.setName(controlName);
+ layout.getChildren().add(control1);
+ final VControl control2 = VViewFactory.eINSTANCE.createControl();
+ control2.setName(control2Name);
+ layout.getChildren().add(control2);
+
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ when(viewModelContext.getViewModel()).thenReturn(view);
+ final LocalizationAdapter adapter = mock(LocalizationAdapter.class);
+ when(adapter.localize(getLocalizableString(viewName))).thenReturn(viewLabel);
+ when(adapter.localize(getLocalizableString(layoutName))).thenReturn(layoutLabel);
+ when(adapter.localize(getLocalizableString(controlName))).thenReturn(controlLabel);
+ view.eAdapters().add(adapter);
+
+ localizationViewModelService.instantiate(viewModelContext);
+
+ assertEquals(viewLabel, view.getLabel());
+ assertEquals(layoutLabel, layout.getLabel());
+ assertEquals(controlLabel, control1.getLabel());
+ assertEquals(control2Name, control2.getLabel());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.view.model.localization.LocalizationViewModelService#instantiate(org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
+ * .
+ */
+ @Test
+ public void testInstantiateStaticNoLocalizationAdapter() {
+
+ final VView view = VViewFactory.eINSTANCE.createView();
+ final VControl control = VViewFactory.eINSTANCE.createControl();
+ view.getChildren().add(control);
+ view.eAdapters().add(new AdapterImpl());
+
+ final ViewModelContext viewModelContext = mock(ViewModelContext.class);
+ when(viewModelContext.getViewModel()).thenReturn(view);
+
+ localizationViewModelService.instantiate(viewModelContext);
+
+ assertEquals("", view.getLabel()); //$NON-NLS-1$
+ assertEquals("", control.getLabel()); //$NON-NLS-1$
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.view.model.localization.LocalizationViewModelService#instantiate(org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
+ * .
+ */
+ @Test
+ public void testInstantiateDynamicNameChange() {
+
+ final String controlName = "%control"; //$NON-NLS-1$
+ final String controlName2 = "%control2"; //$NON-NLS-1$
+ final String controlLabel = "My super Control"; //$NON-NLS-1$
+ final String controlLabel2 = "My super Control Two"; //$NON-NLS-1$
+
+ final VView view = VViewFactory.eINSTANCE.createView();
+ final VVerticalLayout layout = VVerticalFactory.eINSTANCE.createVerticalLayout();
+ view.getChildren().add(layout);
+ final VControl control = VViewFactory.eINSTANCE.createControl();
+ control.setName(controlName);
+ layout.getChildren().add(control);
+
+ final LocalizationAdapter adapter = mock(LocalizationAdapter.class);
+ when(adapter.localize(getLocalizableString(controlName))).thenReturn(controlLabel);
+ when(adapter.localize(getLocalizableString(controlName2))).thenReturn(controlLabel2);
+ view.eAdapters().add(adapter);
+
+ final ViewModelContext viewModelContext = spy(new ViewModelContextImpl(view,
+ EcoreFactory.eINSTANCE.createEObject(), localizationViewModelService));
+
+ localizationViewModelService.instantiate(viewModelContext);
+ control.setName(controlName2);
+
+ assertEquals(controlLabel2, control.getLabel());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.view.model.localization.LocalizationViewModelService#instantiate(org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
+ * .
+ */
+ @Test
+ public void testInstantiateDynamicAddSingleControlOnRoot() {
+
+ final String controlName = "%control"; //$NON-NLS-1$
+ final String controlLabel = "My super Control"; //$NON-NLS-1$
+ final VView view = VViewFactory.eINSTANCE.createView();
+
+ final LocalizationAdapter adapter = mock(LocalizationAdapter.class);
+ when(adapter.localize(getLocalizableString(controlName))).thenReturn(controlLabel);
+ view.eAdapters().add(adapter);
+
+ final ViewModelContext viewModelContext = spy(new ViewModelContextImpl(view,
+ EcoreFactory.eINSTANCE.createEObject(), localizationViewModelService));
+
+ localizationViewModelService.instantiate(viewModelContext);
+
+ final VControl control = VViewFactory.eINSTANCE.createControl();
+ control.setName(controlName);
+ view.getChildren().add(control);
+ assertEquals(controlLabel, control.getLabel());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.view.model.localization.LocalizationViewModelService#instantiate(org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
+ * .
+ */
+ @Test
+ public void testInstantiateDynamicAddSingleControlOnChild() {
+
+ final String controlName = "%control"; //$NON-NLS-1$
+
+ final String controlLabel = "My super Control"; //$NON-NLS-1$
+
+ final VView view = VViewFactory.eINSTANCE.createView();
+ final VVerticalLayout layout = VVerticalFactory.eINSTANCE.createVerticalLayout();
+ view.getChildren().add(layout);
+ final VControl control = VViewFactory.eINSTANCE.createControl();
+ layout.getChildren().add(control);
+
+ final LocalizationAdapter adapter = mock(LocalizationAdapter.class);
+ when(adapter.localize(getLocalizableString(controlName))).thenReturn(controlLabel);
+ view.eAdapters().add(adapter);
+
+ final ViewModelContext viewModelContext = spy(new ViewModelContextImpl(view,
+ EcoreFactory.eINSTANCE.createEObject(), localizationViewModelService));
+
+ localizationViewModelService.instantiate(viewModelContext);
+ final VControl control2 = VViewFactory.eINSTANCE.createControl();
+ control2.setName(controlName);
+ layout.getChildren().add(control2);
+
+ assertEquals(controlLabel, control2.getLabel());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.view.model.localization.LocalizationViewModelService#instantiate(org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
+ * .
+ */
+ @Test
+ public void testInstantiateDynamicAddSubTreeOnRoot() {
+
+ final String layoutName = "%layout"; //$NON-NLS-1$
+ final String controlName = "%control"; //$NON-NLS-1$
+ final String layoutLabel = "My super Layout"; //$NON-NLS-1$
+ final String controlLabel = "My super Control"; //$NON-NLS-1$
+
+ final VView view = VViewFactory.eINSTANCE.createView();
+
+ final LocalizationAdapter adapter = mock(LocalizationAdapter.class);
+ when(adapter.localize(getLocalizableString(controlName))).thenReturn(controlLabel);
+ when(adapter.localize(getLocalizableString(layoutName))).thenReturn(layoutLabel);
+ view.eAdapters().add(adapter);
+
+ final ViewModelContext viewModelContext = spy(new ViewModelContextImpl(view,
+ EcoreFactory.eINSTANCE.createEObject(), localizationViewModelService));
+
+ localizationViewModelService.instantiate(viewModelContext);
+ final VVerticalLayout layout = VVerticalFactory.eINSTANCE.createVerticalLayout();
+ layout.setName(layoutName);
+ final VControl control = VViewFactory.eINSTANCE.createControl();
+ control.setName(controlName);
+ layout.getChildren().add(control);
+
+ view.getChildren().add(layout);
+
+ assertEquals(controlLabel, control.getLabel());
+ assertEquals(layoutLabel, layout.getLabel());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.view.model.localization.LocalizationViewModelService#instantiate(org.eclipse.emf.ecp.view.spi.context.ViewModelContext)}
+ * .
+ */
+ @Test
+ public void testInstantiateDynamicAddSubTreeOnChild() {
+
+ final String layoutName = "%layout"; //$NON-NLS-1$
+ final String controlName = "%control"; //$NON-NLS-1$
+ final String layoutLabel = "My super Layout"; //$NON-NLS-1$
+ final String controlLabel = "My super Control"; //$NON-NLS-1$
+
+ final VView view = VViewFactory.eINSTANCE.createView();
+ final VVerticalLayout layout = VVerticalFactory.eINSTANCE.createVerticalLayout();
+ view.getChildren().add(layout);
+ final VControl control = VViewFactory.eINSTANCE.createControl();
+ layout.getChildren().add(control);
+
+ final LocalizationAdapter adapter = mock(LocalizationAdapter.class);
+ when(adapter.localize(getLocalizableString(controlName))).thenReturn(controlLabel);
+ when(adapter.localize(getLocalizableString(layoutName))).thenReturn(layoutLabel);
+ view.eAdapters().add(adapter);
+ final ViewModelContext viewModelContext = spy(new ViewModelContextImpl(view,
+ EcoreFactory.eINSTANCE.createEObject(), localizationViewModelService));
+
+ localizationViewModelService.instantiate(viewModelContext);
+
+ final VVerticalLayout layout2 = VVerticalFactory.eINSTANCE.createVerticalLayout();
+ layout2.setName(layoutName);
+ final VControl control2 = VViewFactory.eINSTANCE.createControl();
+ control2.setName(controlName);
+ layout2.getChildren().add(control2);
+
+ layout.getChildren().add(layout2);
+
+ assertEquals(controlLabel, control2.getLabel());
+ assertEquals(layoutLabel, layout2.getLabel());
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.view.model.localization.LocalizationViewModelService#getPriority()}.
+ */
+ @Test
+ public void testGetPriority() {
+ assertEquals(-100, localizationViewModelService.getPriority());
+ }
+
+}
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/src/org/eclipse/emfforms/view/model/localization/tests/AllIntegrationTests.java b/tests/org.eclipse.emfforms.view.model.localization.tests/src/org/eclipse/emfforms/view/model/localization/tests/AllIntegrationTests.java
new file mode 100644
index 0000000..fcccf55
--- /dev/null
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/src/org/eclipse/emfforms/view/model/localization/tests/AllIntegrationTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.view.model.localization.tests;
+
+import org.eclipse.emfforms.internal.view.model.localization.LocalizationViewModelService_ITest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * JUnit 4 Integration Test Suite for view.model.localization.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ LocalizationViewModelService_ITest.class })
+public class AllIntegrationTests {
+ // JUnit 4 Test Suite
+}
diff --git a/tests/org.eclipse.emfforms.view.model.localization.tests/src/org/eclipse/emfforms/view/model/localization/tests/AllTests.java b/tests/org.eclipse.emfforms.view.model.localization.tests/src/org/eclipse/emfforms/view/model/localization/tests/AllTests.java
new file mode 100644
index 0000000..ed0a6ec
--- /dev/null
+++ b/tests/org.eclipse.emfforms.view.model.localization.tests/src/org/eclipse/emfforms/view/model/localization/tests/AllTests.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.view.model.localization.tests;
+
+import org.eclipse.emfforms.internal.view.model.localization.LocalizationViewModelService_Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * JUnit 4 Test Suite for view.model.localization.
+ *
+ * @author Eugen Neufeld
+ *
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ LocalizationViewModelService_Test.class })
+public class AllTests {
+ // JUnit 4 Test Suite
+}
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.checkstyle b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.checkstyle
new file mode 100644
index 0000000..24d357f
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.classpath
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.project b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.project
new file mode 100644
index 0000000..218fb65
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.core.importer.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.core.runtime.prefs
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.jdt.core.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1a6b22b
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,419 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.template.controls.swt/.settings/org.eclipse.jdt.ui.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/.settings/org.eclipse.pde.prefs
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/META-INF/MANIFEST.MF b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..50fbf77
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms Spreadsheet Imports Tests
+Bundle-SymbolicName: org.eclipse.emfforms.spreadsheet.core.importer.tests
+Bundle-Version: 1.0.0.qualifier
+Fragment-Host: org.eclipse.emfforms.spreadsheet.core.importer;bundle-version="[1.0.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.spreadsheet.core.importer;version="1.0.0";x-internal:=true
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/build.properties b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/export.xls b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/export.xls
new file mode 100644
index 0000000..c4ff479
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/export.xls
Binary files differ
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/pom.xml b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/pom.xml
new file mode 100644
index 0000000..99b8498
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-tests-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../../releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.tests/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>org.eclipse.emfforms.spreadsheet.core.importer.tests</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>false</useUIHarness>
+ <useUIThread>false</useUIThread>
+ <failIfNoTests>false</failIfNoTests>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/src/org/eclipse/emfforms/internal/spreadsheet/core/importer/EMFFormsSpreadsheetImportImpl_ITest.java b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/src/org/eclipse/emfforms/internal/spreadsheet/core/importer/EMFFormsSpreadsheetImportImpl_ITest.java
new file mode 100644
index 0000000..35ebc94
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.importer.tests/src/org/eclipse/emfforms/internal/spreadsheet/core/importer/EMFFormsSpreadsheetImportImpl_ITest.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core.importer;
+
+import java.io.File;
+import java.util.Collection;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class EMFFormsSpreadsheetImportImpl_ITest {
+
+ private DefaultRealm realm;
+
+ @Before
+ public void setup() {
+ realm = new DefaultRealm();
+ }
+
+ @After
+ public void tearDown() {
+ realm.dispose();
+ }
+
+ /**
+ * Test method for
+ * {@link org.eclipse.emfforms.internal.spreadsheet.core.importer.EMFFormsSpreadsheetImporterImpl#importSpreadsheet(java.lang.String, org.eclipse.emf.ecore.EClass)}
+ * .
+ */
+ @Test
+ public void testImportSpreadsheet() {
+ final EMFFormsSpreadsheetImporterImpl spreadsheetImport = new EMFFormsSpreadsheetImporterImpl();
+ final File targetFile = new File("export.xls"); //$NON-NLS-1$
+ final Collection<EObject> users = spreadsheetImport.importSpreadsheet(targetFile.getAbsolutePath(),
+ TaskPackage.eINSTANCE.getUser());
+ for (final EObject eObject : users) {
+ System.out.println(eObject);
+ }
+ }
+
+}
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.checkstyle b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.checkstyle
new file mode 100644
index 0000000..24d357f
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.classpath b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.project b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.project
new file mode 100644
index 0000000..4d76ef6
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.core.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.resources.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.core.runtime.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.core.runtime.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.core.runtime.prefs
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.jdt.core.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.fx/.settings/org.eclipse.jdt.core.prefs
rename to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.jdt.core.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.jdt.launching.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.launching.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.jdt.launching.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.jdt.ui.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.jdt.ui.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.ltk.core.refactoring.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.pde.api.tools.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.api.tools.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.pde.prefs
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.mappingdmr.databinding/.settings/org.eclipse.pde.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/.settings/org.eclipse.pde.prefs
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/META-INF/MANIFEST.MF b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..9840096
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForm Spreadsheet Core Test
+Bundle-SymbolicName: org.eclipse.emfforms.spreadsheet.core.tests
+Bundle-Version: 1.0.0.qualifier
+Fragment-Host: org.eclipse.emfforms.spreadsheet.core;bundle-version="[1.0.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.eclipse.emf.ecp.test.common;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.view.model.provider.generator;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.makeithappen.model;bundle-version="[1.6.0,2.0.0)"
+Export-Package: org.eclipse.emfforms.internal.spreadsheet.core;version="1.0.0";x-internal:=true
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/build.properties b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/export.xls b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/export.xls
new file mode 100644
index 0000000..c4ff479
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/export.xls
Binary files differ
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/pom.xml b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/pom.xml
new file mode 100644
index 0000000..9f9a448
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-tests-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../../releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.tests/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>org.eclipse.emfforms.spreadsheet.core.tests</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>false</useUIHarness>
+ <useUIThread>false</useUIThread>
+ <failIfNoTests>false</failIfNoTests>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsSpreadsheetViewRendererImpl_ITest.java b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsSpreadsheetViewRendererImpl_ITest.java
new file mode 100644
index 0000000..5884e35
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.core.tests/src/org/eclipse/emfforms/internal/spreadsheet/core/EMFFormsSpreadsheetViewRendererImpl_ITest.java
@@ -0,0 +1,93 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.internal.spreadsheet.core;
+
+import java.io.File;
+import java.util.Date;
+
+import javax.xml.datatype.DatatypeConfigurationException;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.xml.type.internal.XMLCalendar;
+import org.eclipse.emf.ecp.makeithappen.model.task.Gender;
+import org.eclipse.emf.ecp.makeithappen.model.task.Nationality;
+import org.eclipse.emf.ecp.makeithappen.model.task.TaskFactory;
+import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
+import org.eclipse.emf.ecp.makeithappen.model.task.User;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class EMFFormsSpreadsheetViewRendererImpl_ITest {
+
+ private DefaultRealm realm;
+
+ @Before
+ public void setup() {
+ realm = new DefaultRealm();
+ }
+
+ @After
+ public void tearDown() {
+ realm.dispose();
+ }
+
+ @Test
+ public void testRender() throws DatatypeConfigurationException {
+ final EMFFormsSpreadsheetExporterImpl viewRenderer = new EMFFormsSpreadsheetExporterImpl();
+ final File targetFile = new File("export.xls"); //$NON-NLS-1$
+ System.out.println(targetFile.getAbsolutePath());
+ final EObject user = getDomainModel();
+ viewRenderer.render(targetFile.getAbsolutePath(), user, getView());
+ }
+
+ private EObject getDomainModel() throws DatatypeConfigurationException {
+ final User user = TaskFactory.eINSTANCE.createUser();
+ user.setEmail("myEMail@test.de"); //$NON-NLS-1$
+ user.setFirstName("Bob"); //$NON-NLS-1$
+ user.setGender(Gender.MALE);
+ user.setHeigth(2);
+ user.setLastName("Smith"); //$NON-NLS-1$
+ user.setNationality(Nationality.US);
+ user.setTimeOfRegistration(new Date());
+ user.setWeight(1.45);
+ user.setDateOfBirth(new XMLCalendar(new Date(), XMLCalendar.DATE));
+ return user;
+ }
+
+ private VView getView() {
+ final VView view = VViewFactory.eINSTANCE.createView();
+ final EList<EStructuralFeature> structuralFeatures = TaskPackage.eINSTANCE.getUser()
+ .getEAllStructuralFeatures();
+ for (final EStructuralFeature feature : structuralFeatures) {
+ if (EReference.class.isInstance(feature)) {
+ continue;
+ }
+ final VControl control = VViewFactory.eINSTANCE.createControl();
+ final VFeaturePathDomainModelReference modelReference = VViewFactory.eINSTANCE
+ .createFeaturePathDomainModelReference();
+ modelReference.setDomainModelEFeature(feature);
+ control.setDomainModelReference(modelReference);
+ view.getChildren().add(control);
+ }
+ return view;
+ }
+
+}
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/.checkstyle b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/.checkstyle
new file mode 100644
index 0000000..24d357f
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="ESMCheckstyleTest" location="/org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="Java Files" enabled="true" check-config-name="ESMCheckstyleTest" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/.classpath
similarity index 100%
copy from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.classpath
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/.classpath
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/.project b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/.project
new file mode 100644
index 0000000..0791b73
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emfforms.spreadsheet.integrationtest</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.settings/org.eclipse.jdt.core.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from bundles/org.eclipse.emf.ecp.view.indexdmr.databinding/.settings/org.eclipse.jdt.core.prefs
rename to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/.settings/org.eclipse.jdt.core.prefs
diff --git a/examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.core.prefs b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/.settings/org.eclipse.pde.core.prefs
similarity index 100%
copy from examples/org.eclipse.emf.ecp.makeithappen.wizards/examples/org.eclipse.emf.ecp.makeithappen.application.sample.e4/.settings/org.eclipse.pde.core.prefs
copy to tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/.settings/org.eclipse.pde.core.prefs
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/EMFFormsExcel Roundtrip.launch b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/EMFFormsExcel Roundtrip.launch
new file mode 100644
index 0000000..df7c910
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/EMFFormsExcel Roundtrip.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emfforms.spreadsheet.integrationtest/src/org/eclipse/emfforms/spreadsheet/integrationtest/AllIntegrationTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emfforms.spreadsheet.integrationtest.AllIntegrationTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emfforms.spreadsheet.integrationtest"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.servlet@default:default,javax.xml@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.slf4j.api@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.test.common@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.keyattributedmr.model@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding.mapping@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.spreadsheet.core.importer@default:default,org.eclipse.emfforms.spreadsheet.core.renderer.categorization@default:default,org.eclipse.emfforms.spreadsheet.core.renderer.custom@default:default,org.eclipse.emfforms.spreadsheet.core.renderer.table@default:default,org.eclipse.emfforms.spreadsheet.core.renderer@default:default,org.eclipse.emfforms.spreadsheet.core@default:default,org.eclipse.emfforms.spreadsheet.integrationtest@default:default,org.eclipse.emfforms.localization@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/META-INF/MANIFEST.MF b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..1a9d48d
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFForms Spreadsheet Integrationtest
+Bundle-SymbolicName: org.eclipse.emfforms.spreadsheet.integrationtest
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.xmi,
+ org.eclipse.emf.ecp.test.common,
+ org.eclipse.emf.ecp.view.model,
+ org.eclipse.emf.ecp.view.context;bundle-version="1.6.0",
+ org.eclipse.emf.ecp.view.categorization.model,
+ org.eclipse.emf.ecp.ui.view,
+ org.eclipse.emfforms.spreadsheet.core,
+ org.eclipse.emfforms.spreadsheet.core.importer,
+ org.eclipse.emf.ecp.makeithappen.model
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.emfforms.spreadsheet.integrationtest;version="1.0.0";x-internal:=true
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/build.properties b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/pom.xml b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/pom.xml
new file mode 100644
index 0000000..249d755
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>emfforms-spreadsheet-tests-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../../releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng.tests/</relativePath>
+ </parent>
+ <groupId>org.eclipse.emfforms.spreadsheet</groupId>
+ <artifactId>org.eclipse.emfforms.spreadsheet.integrationtest</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useUIHarness>false</useUIHarness>
+ <useUIThread>false</useUIThread>
+ <failIfNoTests>false</failIfNoTests>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <configuration>
+ <dependency-resolution>
+ <extraRequirements>
+ <requirement>
+ <type>p2-installable-unit</type>
+ <id>org.eclipse.equinox.ds</id>
+ <versionRange>0.0.0</versionRange>
+ </requirement>
+ </extraRequirements>
+ </dependency-resolution>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/src/org/eclipse/emfforms/spreadsheet/integrationtest/AllIntegrationTests.java b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/src/org/eclipse/emfforms/spreadsheet/integrationtest/AllIntegrationTests.java
new file mode 100644
index 0000000..bacde67
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/src/org/eclipse/emfforms/spreadsheet/integrationtest/AllIntegrationTests.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spreadsheet.integrationtest;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+@RunWith(Suite.class)
+@SuiteClasses({ Roundtrip_ITest.class })
+public class AllIntegrationTests {
+
+}
diff --git a/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/src/org/eclipse/emfforms/spreadsheet/integrationtest/Roundtrip_ITest.java b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/src/org/eclipse/emfforms/spreadsheet/integrationtest/Roundtrip_ITest.java
new file mode 100644
index 0000000..7bee197
--- /dev/null
+++ b/tests/spreadsheet/org.eclipse.emfforms.spreadsheet.integrationtest/src/org/eclipse/emfforms/spreadsheet/integrationtest/Roundtrip_ITest.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emfforms.spreadsheet.integrationtest;
+
+import java.io.File;
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import javax.xml.datatype.DatatypeConfigurationException;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.makeithappen.model.task.Nationality;
+import org.eclipse.emf.ecp.makeithappen.model.task.TaskFactory;
+import org.eclipse.emf.ecp.makeithappen.model.task.TaskPackage;
+import org.eclipse.emf.ecp.makeithappen.model.task.User;
+import org.eclipse.emf.ecp.test.common.DefaultRealm;
+import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
+import org.eclipse.emfforms.spi.spreadsheet.core.EMFFormsSpreadsheetExporter;
+import org.eclipse.emfforms.spi.spreadsheet.core.importer.EMFFormsSpreadsheetImporter;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+public class Roundtrip_ITest {
+ private DefaultRealm realm;
+
+ @Before
+ public void setup() {
+ realm = new DefaultRealm();
+ }
+
+ @After
+ public void tearDown() {
+ realm.dispose();
+ }
+
+ @Test
+ public void test() throws DatatypeConfigurationException {
+ // write data
+ EMFFormsSpreadsheetExporter viewRenderer = EMFFormsSpreadsheetExporter.INSTANCE;
+ File targetFile = new File("export.xls");
+ EObject user = getDomainModel();
+ Map<String, Object> context=new LinkedHashMap<String, Object>();
+ context.put("root", true);
+ context.put("detail", true);
+ viewRenderer.render(targetFile.getAbsolutePath(), user,
+ ViewProviderHelper.getView(user, context));
+
+ // read data
+ final EMFFormsSpreadsheetImporter spreadsheetImport = EMFFormsSpreadsheetImporter.INSTANCE;
+ final Collection<EObject> users = spreadsheetImport.importSpreadsheet(
+ targetFile.getAbsolutePath(), TaskPackage.eINSTANCE.getUser());
+ for (final EObject eObject : users) {
+ EcoreUtil.equals(eObject, user);
+ }
+
+ }
+
+ private EObject getDomainModel() {
+ User user=TaskFactory.eINSTANCE.createUser();
+ user.setFirstName("John");
+ user.setLastName("Doe");
+ user.setEmail("john.doe@mail.com");
+ user.setWeight(1.1);
+ user.setHeigth(1);
+ user.setNationality(Nationality.ITALIAN);
+ return user;
+ }
+
+}